checkout_url with the customer.
- With bank details — send the customer’s routing and account number. The link opens with that account ready; the customer reviews the debit authorization and clicks Pay.
- Without bank details — the customer picks their bank on the page (instant bank login) or types the account in.
Pay by bank must be enabled for your account by ParuPay — ask support@parupay.com. It works with
sk_test_ (ParuPay sandbox, no real bank) and sk_live_.Create
POST /v1/pay_by_bank with Authorization: Bearer sk_live_….
ParuPay keeps only the bank name and the last 4 digits of the account. The full numbers are never stored or returned.
Response
What the customer sees
- The pay page shows the amount, the bank account (for example STRIPE TEST BANK •••• 6789) and the debit authorization. If you did not send
billing_address, it also asks for the customer’s address. - The customer clicks Pay. The payment is now Processing — bank payments take up to 4 business days.
- If the account was typed in (not logged in through the bank), the bank may first need to be verified with two small deposits. The page shows Verify bank account; the payment continues once the customer confirms the amounts.
Statuses
You receive the usual webhooks when a payment succeeds or fails.
Read
Testing
Withsk_test_ the ParuPay sandbox processes the payment — no real bank, no small deposits. After the customer clicks Pay the payment is processing, then about 10 seconds later succeeded or failed. Use routing number 110000000 with:
Any other account number succeeds.
