رفتن به محتوای اصلی

بیش‌واریز

وقتی مشتری بیشتر از مبلغ می‌فرستد یا پولی به پرداخت لغوشده می‌رسد، و اینکه چطور تکلیفش را روشن کنید.

چون پول مستقیم به کارت یا حساب شما می‌رود، بزن به کارت نمی‌تواند هیچ بخشی از آن را برگرداند. کاری که می‌کند این است که دقیق ثبت کند چه مبلغی به مشتری بدهکارید تا هیچ چیز فراموش نشود.

بیش‌واریز کِی ثبت می‌شود

  • مشتری بیشتر فرستاده. پرداخت ۱۲٬۵۰۰٬۴۷۰ ریال خواسته و ۱۵٬۰۰۰٬۰۰۰ ریال رسیده است. پرداخت موفق می‌شود، 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).