🚀 راهنمای کامل پیادهسازی درگاه پرداخت
در کمتر از ۵ دقیقه درگاه پرداخت AmirPay را در پروژه خود پیادهسازی کنید
شروع سریع
در کمتر از ۵ دقیقه درگاه پرداخت AmirPay را در پروژه خود پیادهسازی کنید
دریافت اطلاعات احراز هویت
برای استفاده از درگاه پرداخت، به کد فروشنده (Merchant Code) و رمز عبور نیاز دارید. این اطلاعات پس از ثبتنام در پنل AmirPay در اختیار شما قرار میگیرد.
احراز هویت و دریافت توکن
با استفاده از کد فروشنده و رمز عبور، از endpoint احراز هویت استفاده کنید تا توکن JWT دریافت کنید. این توکن به مدت ۲۴ ساعت معتبر است.
ایجاد درخواست پرداخت
با استفاده از توکن دریافت شده، درخواست پرداخت را ارسال کنید. میتوانید از SDK Payment (یک مرحلهای) یا IPG (با کالبک) استفاده کنید.
تکمیل پرداخت
پس از ایجاد درگاه، لینک پرداخت را به کاربر نمایش دهید. نتیجه تراکنش از طریق کالبک به شما ارسال میشود یا بلافاصله برمیگردد.
راهکارهای پرداخت
AmirPay دو راهکار جداگانه برای پرداخت ارائه میدهد که هر کدام برای کاربردهای خاصی طراحی شدهاند
SDK Payment
پرداخت یک مرحلهای - مناسب برای اپلیکیشنهای موبایل و SDK. پرداخت بلافاصله انجام میشود.
- ✓ یک درخواست واحد
- ✓ پرداخت فوری
- ✓ مناسب برای موبایل
- ✓ ساده و سریع
IPG (درگاه پرداخت فروشنده)
پرداخت با کالبک - مناسب برای وبسایتها. درگاه ایجاد میشود و نتیجه از طریق کالبک ارسال میشود.
- ✓ ایجاد درگاه + دریافت کالبک
- ✓ دریافت لینک پرداخت
- ✓ مناسب برای وبسایت
- ✓ نتیجه خودکار از طریق کالبک
📋 تفاوت کلیدی:
یک درخواست - پرداخت فوری با paymentCode
ایجاد درگاه + دریافت کالبک - ابتدا درگاه ایجاد میشود و paymentUrl دریافت میکنید
نمونه کدهای SDK
مثالهای پیادهسازی در زبانهای برنامهنویسی مختلف
// Step 1: Authentication
const authResponse = await fetch('https://api.amirpay.top/merchant-payment-gateways/auth', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
merchantCode: 'YOUR_MERCHANT_CODE',
password: 'YOUR_PASSWORD'
})
});
const authData = await authResponse.json();
const accessToken = authData.data.accessToken;
// Step 2: SDK Payment
const paymentResponse = await fetch('https://api.amirpay.top/merchant-payment-gateways/sdk-payment', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
amount: 100000,
paymentCode: '123456',
merchantTransactionId: 'TXN-2024-001',
currency: 'IRR',
description: 'پرداخت سفارش #12345'
})
});
const paymentData = await paymentResponse.json();
if (paymentData.success) {
console.log('Payment completed:', paymentData.data);
}
نمونه کدهای IPG
مثالهای پیادهسازی درگاه پرداخت با کالبک در زبانهای برنامهنویسی مختلف
// Step 1: Authentication
const authResponse = await fetch('https://api.amirpay.top/merchant-payment-gateways/auth', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
merchantCode: 'YOUR_MERCHANT_CODE',
password: 'YOUR_PASSWORD'
})
});
const authData = await authResponse.json();
const accessToken = authData.data.accessToken;
// Step 2: Create Payment Gateway
const gatewayResponse = await fetch('https://api.amirpay.top/merchant-payment-gateways', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
domain: 'https://example.com',
amount: 100000,
merchantTransactionId: 'ORDER-12345',
description: 'پرداخت سفارش #12345',
currency: 'IRR',
callbackUrl: 'https://example.com/callback'
})
});
const gatewayData = await gatewayResponse.json();
if (gatewayData.success) {
const { referenceId, paymentUrl } = gatewayData.data;
console.log('Gateway created:', { referenceId, paymentUrl });
// لینک paymentUrl را به کاربر نمایش دهید
// نتیجه تراکنش از طریق کالبک به callbackUrl شما ارسال میشود
}
افزونههای وردپرس
افزونههای آماده برای استفاده در وردپرس و WooCommerce
افزونه WooCommerce
افزونه کامل برای WooCommerce که امکان پرداخت با درگاه AmirPay را فراهم میکند.
- ✓ سازگار با WooCommerce
- ✓ پشتیبانی از چند ارز
- ✓ گزارشدهی کامل
افزونه عمومی وردپرس
افزونه برای استفاده در هر نوع وبسایت وردپرس با قابلیتهای پیشرفته.
- ✓ سازگار با تمام تمها
- ✓ کد کوتاه (Shortcode)
- ✓ ویجت پرداخت
سوالات متداول
پاسخ به سوالات رایج توسعهدهندگان
SDK Payment چیست؟
SDK Payment یک روش پرداخت یک مرحلهای است که برای استفاده در SDK و اپلیکیشنهای موبایل طراحی شده است. در این روش، ایجاد درگاه پرداخت و تأیید پرداخت در یک درخواست واحد انجام میشود.
تفاوت بین روش عادی و SDK Payment چیست؟
روش عادی دو مرحلهای است: ابتدا درگاه پرداخت ایجاد میشود و سپس باید تأیید شود. اما SDK Payment یک مرحلهای است و پرداخت بلافاصله انجام میشود. SDK Payment برای اپلیکیشنهای موبایل و SDK مناسبتر است.
توکن JWT چه مدت معتبر است؟
توکن JWT به مدت ۲۴ ساعت معتبر است. در صورت منقضی شدن، میتوانید از endpoint refresh token استفاده کنید تا توکن را تمدید کنید بدون نیاز به احراز هویت مجدد.
چگونه کالبک را پیادهسازی کنم؟
برای IPG، باید یک endpoint عمومی ایجاد کنید که POST request را دریافت کند. این endpoint باید همیشه ۲۰۰ OK برگرداند. دادههای کالبک شامل merchantTransactionId و status هستند که میتوانید از آنها برای بروزرسانی وضعیت سفارش استفاده کنید.
آماده شروع هستید؟
همین حالا در پنل AmirPay ثبتنام کنید و کد فروشنده خود را دریافت کنید