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

اصلاح‌ها

تأیید، رد و بازگشایی رسیدها، وصل و جدا کردن واریز، ثبت دستی واریز و خالی کردن صف بررسی، از داشبورد یا API.

حرف آخر همیشه با تیم شماست. همهٔ اصلاح‌ها از دو حرکت ساخته می‌شوند، وصل کردن واریز به پرداخت و جدا کردن آن، و بعدش مبلغ‌ها و وضعیت پرداخت از روی واریزهایش دوباره حساب می‌شوند. تأیید رسید هم یک واریز وصل می‌کند. هیچ عددی دستی تغییر نمی‌کند؛ پس هیچ اصلاحی جمع‌ها را اشتباه نمی‌کند.

هر اصلاح با نام کسی که انجامش داده و دلیلش در گزارش فعالیت حساب ثبت می‌شود و در سند پرداخت همان پرداخت هم می‌آید.

ابزارها

ابزارها
کار (جای آن در داشبورد)APIکِی
تأیید رسید (رسیدها یا صفحهٔ پرداخت)POST /v1/receipts/:id/approveپول رسید، کامل یا بخشی از آن، به شما رسیده است.
رد رسید (رسیدها یا صفحهٔ پرداخت)POST /v1/receipts/:id/rejectپول نرسیده، یا رسید قابل اعتماد نیست.
برگرداندن رسید به بررسی (برگرداندن به بررسی در صفحهٔ همان رسید)فقط داشبوردرسید ردشده باید دوباره بررسی شود.
افزودن رسید (صفحهٔ پرداخت)POST /v1/payments/:id/receiptsمشتری رسید را در پیام‌رسان یا حضوری داده است.
وصل کردن واریز (صفحهٔ پرداخت یا صندوق بررسی و اصلاح)POST /v1/payments/:id/attach_depositپول رسیده ولی خودکار وصل نشده (نشانه‌ای در پیامک نبوده، دو گزینه بوده، اشتباه تایپی).
وصل کردن واریز به رسید (بررسی و اصلاح)فقط داشبوردیک واریز بانکی وصل‌نشده همان انتقالی است که یک رسید نشان می‌دهد.
جدا کردن واریز (صفحهٔ پرداخت)POST /v1/payments/:id/detach_depositواریز به پرداخت اشتباهی وصل شده، یا تأییدی اشتباه بوده است.
تأیید پرداخت (صفحهٔ پرداخت)POST /v1/payments/:id/approveپرداخت را بدون مبلغ کامل یا بدون رسید پرداخت‌شده می‌پذیرید.
پذیرفتن کسری (صفحهٔ پرداخت)فقط داشبوردپرداخت ناقص باید با همان مبلغ رسیده بسته شود.
رد پرداخت (صفحهٔ پرداخت)فقط داشبوردپرداختِ در حال بررسی نباید موفق شود.
مبلغ تکمیلی (صفحهٔ پرداخت)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 انجام شده است.