اصلاحها
تأیید، رد و بازگشایی رسیدها، وصل و جدا کردن واریز، ثبت دستی واریز و خالی کردن صف بررسی، از داشبورد یا API.
حرف آخر همیشه با تیم شماست. همهٔ اصلاحها از دو حرکت ساخته میشوند، وصل کردن واریز به پرداخت و جدا کردن آن، و بعدش مبلغها و وضعیت پرداخت از روی واریزهایش دوباره حساب میشوند. تأیید رسید هم یک واریز وصل میکند. هیچ عددی دستی تغییر نمیکند؛ پس هیچ اصلاحی جمعها را اشتباه نمیکند.
هر اصلاح با نام کسی که انجامش داده و دلیلش در گزارش فعالیت حساب ثبت میشود و در سند پرداخت همان پرداخت هم میآید.
ابزارها
| کار (جای آن در داشبورد) | API | کِی |
|---|---|---|
| تأیید رسید (رسیدها یا صفحهٔ پرداخت) | POST / | پول رسید، کامل یا بخشی از آن، به شما رسیده است. |
| رد رسید (رسیدها یا صفحهٔ پرداخت) | POST /v1/receipts/:id/reject | پول نرسیده، یا رسید قابل اعتماد نیست. |
| برگرداندن رسید به بررسی (برگرداندن به بررسی در صفحهٔ همان رسید) | فقط داشبورد | رسید ردشده باید دوباره بررسی شود. |
| افزودن رسید (صفحهٔ پرداخت) | POST / | مشتری رسید را در پیامرسان یا حضوری داده است. |
| وصل کردن واریز (صفحهٔ پرداخت یا صندوق بررسی و اصلاح) | POST / | پول رسیده ولی خودکار وصل نشده (نشانهای در پیامک نبوده، دو گزینه بوده، اشتباه تایپی). |
| وصل کردن واریز به رسید (بررسی و اصلاح) | فقط داشبورد | یک واریز بانکی وصلنشده همان انتقالی است که یک رسید نشان میدهد. |
| جدا کردن واریز (صفحهٔ پرداخت) | POST / | واریز به پرداخت اشتباهی وصل شده، یا تأییدی اشتباه بوده است. |
| تأیید پرداخت (صفحهٔ پرداخت) | POST / | پرداخت را بدون مبلغ کامل یا بدون رسید پرداختشده میپذیرید. |
| پذیرفتن کسری (صفحهٔ پرداخت) | فقط داشبورد | پرداخت ناقص باید با همان مبلغ رسیده بسته شود. |
| رد پرداخت (صفحهٔ پرداخت) | فقط داشبورد | پرداختِ در حال بررسی نباید موفق شود. |
| مبلغ تکمیلی (صفحهٔ پرداخت) | POST /v1/payments/:id/topup | بقیهٔ پول را با مبلغ یکتای تازه و زمان انقضای تازه بخواهید. |
| تمدید (صفحهٔ پرداخت) | فقط داشبورد | به مشتری برای همان مبلغ وقت بیشتری بدهید. |
| لغو (صفحهٔ پرداخت) | POST /v1/payments/:id/cancel | سفارش منتفی است. |
| ثبت دستی واریز (بررسی و اصلاح ← واریز تازه) | POST /v1/deposits | در اپ بانکتان واریزی میبینید که هیچ رسید یا پیامکی آن را نیاورده است. |
| نادیده گرفتن / بازگرداندن واریز (بررسی و اصلاح) | POST /v1/deposits/:id/ignore، /restore | واریزی که پرداخت مشتری نیست (حقوق، برگشت پول به خودتان). |
هر کاری که دربارهٔ پول تصمیم میگیرد (رسیدها، وصل کردن، جدا کردن، تأیید، پذیرفتن کسری، رد کردن و بستن بیشواریز) دسترسی اصلاح میخواهد: اعضای مالک، مدیر و پشتیبان. مبلغ تکمیلی، تمدید و لغو دسترسی نوشتن میخواهند که توسعهدهندهها هم دارند. در داشبورد، جدا کردن، تأیید، پذیرفتن کسری، رد کردن و لغو دلیلی ۳ تا ۵۰۰ نویسهای میخواهند.
رسیدها
- تأیید دقیقاً یک واریز پشت رسید میگذارد و پرداخت را دوباره حساب میکند. قاعدههای مبلغ در رسیدها و بررسی است.
- رد هیچوقت به واریزها دست نمیزند. وقتی پرداخت رسید در انتظار دیگری نداشته باشد، دوباره منتظر مشتری میماند.
- برگرداندن به بررسی رسید ردشده را به حالت در انتظار و پرداخت را به در انتظار تأیید
processingبرمیگرداند. - رسید تأییدشده با جدا کردن واریزش برمیگردد. رسید به حالت در انتظار برمیگردد و واریز آن با منبع
receiptبه برگشتخوردهreversedمیرود (این واریز چیزی جز همان تأیید نبود). اگر دوباره تأییدش کنید، واریز تازهای ساخته میشود. - واریز رسیدی که پیامک بانک جایش را گرفته هم با وضعیت
reversedذخیره میشود، ولی داشبورد و سند پرداخت آن را جایگزین با پیامک بانک نشان میدهند، کنار واریز پیامکی که جایش نشسته است. کاری لازم نیست: پول یک بار حساب شده است. - وصل کردن به رسید یعنی بگویید یک واریز بانکی وصلنشده همان انتقالی است که یک رسید نشان میدهد، برای پیامکی که سامانه نتوانسته با اطمینان جایش را پیدا کند (مثلاً دو رسید با یک مبلغ). رسید در انتظار روی همان واریز تأیید میشود؛ رسید تأییدشدهای که روی واریز رسید خودش ایستاده، آن واریز را با واریز پیامکی و با مبلغ بانک عوض میکند. واریز باید روی کارت یا حساب همان پرداخت باشد. اگر این کار بیش از مبلغی که پرداخت هنوز لازم دارد پول اضافه کند، پیش از آن مبلغ بیشواریز نشان داده میشود و باید آن را بپذیرید.
وصل و جدا کردن
curl https://a.bezanbecard.com/v1/payments/pay_…/attach_deposit \
-H "Authorization: Bearer sk_test_…" \
-H "Idempotency-Key: attach-dep_…" \
-H "Content-Type: application/json" \
-d '{"deposit":"dep_…"}'- وصل کردن واریزی که به پرداخت دیگری وصل است با
deposit_already_matchedرد میشود: اول آن را از آنجا جدا کنید. - وصل کردن دستی پیامک بانک به پرداختی که واریز رسیدِ همان انتقال را دارد، بهجای افزودن پول، جای همان واریز را میگیرد؛ اگر دو واریز رسید یا بیشتر آنجا ممکن است همین انتقال باشند، جای قدیمیترینشان را میگیرد.
- واریز جداشده به وضعیت وصلنشده برمیگردد و دوباره از تطبیق رد میشود، ولی هیچوقت به همان پرداختی که از آن جدا شده برنمیگردد. در داشبورد میتوانید آن را وصلنشده نگه دارید. واریز خود یک رسید، همانطور که بالا آمد، بهجای آن برگشت میخورد.
- اگر پرداختی که موفق شده بود همهٔ واریزهایش را از دست بدهد، با دلیل
detachedبه بررسی میرود.
تأیید پرداخت
تأیید پرداخت، آن را با همان مبلغ رسیده موفقsucceeded میکند و تفاوت در amount_shortfall ثبت میشود. API برای آن reason میخواهد. برای تأیید پولِ یک رسید، بهجای پرداخت خود رسید را تأیید کنید.
await bezanbecard.payments.approve('pay_…', { reason: 'Customer paid the rest in cash' });ثبت دستی واریز
وقتی در اپ بانکتان واریزی میبینید که هیچ چیز آن را نیاورده، ثبتش کنید. card و amount الزامیاند؛ اگر دارید channel (card، pol، paya، satna یا internal)، payer_last4، شمارهٔ پیگیری بانک در bank_reference و occurred_at (ثانیهٔ یونیکس) را هم بفرستید. یک کارت یا حساب و یک شمارهٔ پیگیری همیشه یک واریز است؛ پس اگر واریزی را که دستی ثبت کردهاید بعداً پیامکش هم با همان شمارهٔ پیگیری برسد، دو بار حساب نمیشود.
const deposit = await bezanbecard.deposits.create({ card: 'card_…', amount: 12_500_470, bank_reference: '402911' });واریز تازه مثل هر واریز دیگری از تطبیق رد میشود. در داشبورد میتوانید عکس سابقهٔ بانکتان را هم پیوست کنید. وقتی رسید مشتری از قبل در صف شماست، تأیید همان رسید سادهتر است: واریز را خودش ثبت میکند.
خالی کردن صف بررسی
review.reason | معمولاً |
|---|---|
no_sms (فقط اعلامهای پیش از رسیدها) | اپ بانکتان را نگاه کنید. اگر پول رسیده، واریز را ثبت یا وصل کنید؛ اگر نه، رسید را از مشتری بخواهید یا رد کنید. |
amount_mismatch | واریز پیشنهادی را با یک کلیک تأیید کنید یا واریز دیگری را وصل کنید. |
payer_mismatch | کارت شخص دیگری پرداخت کرده است. اگر پرداختکننده را میشناسید تأیید کنید، وگرنه جدا کنید. |
expired_partial | مبلغ تکمیلی بخواهید، با کسری تأیید کنید یا لغو کنید. |
partial_disabled | واریز کمتر را بپذیرید، بقیه را بخواهید یا لغو و پول را برگردانید. |
auto_disabled | واریز وصلشده را با حساب بانکیتان مقایسه کنید و بعد پرداخت یا رسیدش را تأیید کنید. |
detached | واریز درست را وصل یا پرداخت را لغو کنید. |
هر اصلاح همان رویدادهای همیشگی را میسازد (receipt.approved، payment.succeeded، deposit.matched، deposit.unmatched و بقیه)؛ پس سیستمهای شما از اصلاحی که در داشبورد انجام شده همانطور خبردار میشوند که از اصلاحی که با API انجام شده است.