بیشواریز
وقتی مشتری بیشتر از مبلغ میفرستد یا پولی به پرداخت لغوشده میرسد، و اینکه چطور تکلیفش را روشن کنید.
چون پول مستقیم به کارت یا حساب شما میرود، بزن به کارت نمیتواند هیچ بخشی از آن را برگرداند. کاری که میکند این است که دقیق ثبت کند چه مبلغی به مشتری بدهکارید تا هیچ چیز فراموش نشود.
بیشواریز کِی ثبت میشود
- مشتری بیشتر فرستاده. پرداخت ۱۲٬۵۰۰٬۴۷۰ ریال خواسته و ۱۵٬۰۰۰٬۰۰۰ ریال رسیده است. پرداخت موفق میشود،
amount_overpaidبرابر ۲٬۵۰۰٬۰۰۰ میشود وoverpayment.statusبهpendingمیرود. عدد یکتایی که رویamountآمده هیچوقت بیشواریز نیست: پرداخت دقیقexpected_amountیعنی پرداخت کامل. - تیم شما بیشتر تأیید کرده. رسیدی که بیش از مبلغی که پرداخت هنوز لازم دارد تأیید شود، یا رسید دوم روی پرداختی که پیشتر موفق شده است. هر دو تا وقتی بررسیکننده بیشواریز را نپذیرد (
overpay: true) باreceipt_payment_settledرد میشوند؛ داشبورد پیش از آن مبلغش را نشان میدهد و وصل کردن پیامک بانک به رسید هم همین تأیید را میخواهد. - پول به پرداختی رسیده که لغوش کردهاید. لغو پرداختی که پول گرفته، کل آن پول را بدهی شما ثبت میکند:
overpayment.statusبا مبلغ دریافتیpendingمیشود.
در هر دو حالت پرداخت رویداد payment.overpaid میسازد، داشبورد آن را در نمای کلی نشان میدهد و افزونههای فروشگاهی یادداشتی به سفارش اضافه میکنند.
بستن بیشواریز
وقتی تکلیف پول را روشن کردید، بنویسید چه کردهاید:
status | معنی |
|---|---|
refunded | پول را برگرداندید. شمارهٔ پیگیری بانک را در reference بگذارید. |
credited | آن را اعتبار مشتری نگه داشتید. به credit مشتری اضافه میشود. |
kept | آن را نگه میدارید، مثلاً انعامی که مشتری عمداً داده است. |
curl https://a.bezanbecard.com/v1/payments/pay_…/resolve_overpayment \
-H "Authorization: Bearer sk_test_…" \
-H "Idempotency-Key: refund-1042" \
-H "Content-Type: application/json" \
-d '{"status":"refunded","reference":"665544"}'در داشبورد میتوانید عکس رسید برگشت پول را هم پیوست کنید. بستن بیشواریز رویداد payment.overpayment_resolved میسازد. پرداختی که بیشواریز باز ندارد پاسخ payment_overpayment_not_pending میگیرد.
اعتبار
credited مبلغ را یک بار برای هر پرداخت به credit مشتری (به ریال) اضافه میکند. اعتبار سابقهای است برای اینکه در سفارش بعدی رعایتش کنید؛ خودکار روی پرداختهای تازه اعمال نمیشود. صفحهٔ مشتری در داشبورد آن را نشان میدهد و GET /v1/customers/:id هم برمیگرداندش.
شیء بیشواریز
overpayment روی پرداخت به شکل { "status": "none" | "pending" | "refunded" | "credited" | "kept", "reference": string | null } است و amount_overpaid مبلغ بیشواریز را نگه میدارد. پولی که برگرداندهاید یا اعتبار دادهاید دیگر جزو پرداخت حساب نمیشود: اگر پول تازهای پرداخت لغوشدهای را که پولش برگشته دوباره باز کند، همان مقداری را میخواهد که نگه نداشته است (amount_remaining).