متد استرداد وجه به شما این امکان را میدهد که در صورت تغییر یا لغو سفارش مشتریان، واریزیهای اشتباه یا هرگونه الزامی جهت بازگرداندن وجه به خریدار، تمام مبلغ واریز شده یا حتی بخشی از آن را به صورت آنی یا در سیکلهای پایا، به حساب آنها واریز نمایید.
در این متد، پارامترهای زیر به API ارسال میشود:
نام | نوع | اجباری | شرح |
---|---|---|---|
session_id | String | بله | شماره تراکنش |
amount | Integer | بله | مبلغ ریال (حداقل مبلغ قابل استرداد ۲۰۰۰۰ ریال) |
description | String | بله | توضیح علت استرداد وجه |
method | String | بله | متد استرداد وجه (CARD یا PAYA) |
reason | String | بله | دلیل استرداد (CUSTOMER_REQUEST و غیره) |
در صورت موفقیت، اطلاعات زیر از API دریافت میشود:
نام | نوع | شرح |
---|---|---|
id | String | شماره تراکنش |
terminal_id | String | شماره ترمینال درگاه |
amount | Integer | مبلغ پرداخت شده به ریال |
timeline | Object | تاریخچه تراکنش |
refund_amount | Integer | مبلغ استرداد |
refund_time | String | تاریخ ثبت استرداد |
refund_status | String | وضعیت استرداد |
در ادامه نمونهای از پیادهسازی متد استرداد وجه در Node.js آمده است:
import { ZarinPal } from 'zarinpal-node-sdk';
const zarinpal = new ZarinPal({
accessToken: 'your-access-token',
sandbox: true,
});
async function processRefund() {
try {
const refundResponse = await zarinpal.refunds.create({
sessionId: 'session-id-to-refund',
amount: 5000,
description: 'Refund for order #1234',
method: 'CARD',
reason: 'CUSTOMER_REQUEST',
});
console.log('Refund Created:', refundResponse);
const refundDetails = await zarinpal.refunds.retrieve(refundResponse.id);
console.log('Refund Details:', refundDetails);
const refundsList = await zarinpal.refunds.list({
terminalId: 'your-terminal-id',
limit: 10,
offset: 0,
});
console.log('Refunds List:', refundsList);
} catch (error) {
console.error('Error processing refund:', error);
}
}
processRefund();