Work through these scenarios to see every important flow. Each lists the steps, the expected result and where to confirm it in wp-admin (menu BankBridge).
1. Connect a bank
- Open Connect a bank and connect First Platypus Bank with
user_good/pass_good.
Expected: a success card with checking and savings accounts.
Check in wp-admin: Connections — new row, status Active; click it for accounts, balances and masked Auth numbers.
2. One-time payment
- On Pay once choose the checking account, tick the authorization and pay.
Expected: receipt with a transfer ID, status pending.
Check in wp-admin: Transfers — the row shows the amount, ACH class WEB and the stored mandate. Use Simulate… → posted, then settled.
3. Recurring rent
- On Pay rent monthly authorize the $1,450 monthly debit.
- Open My bank accounts and find it under recurring payments.
Expected: the receipt shows “monthly on the 1st” and a first debit date 5 days out; Cancel works from My bank.
Check in wp-admin: Transfers → Recurring payments — status Active; Refresh and Cancel buttons.
4. Business invoice (CCD)
- On Pay a business invoice try paying without a business name, then enter Pawnee Parks Co. and pay.
Expected: the form refuses to submit without a business name; with it, the payment goes through.
Check in wp-admin: Transfers — ACH class CCD, account holder Pawnee Parks Co.
5. Guest checkout
- Log out (admin bar → Log out) or use a private window.
- Add a product in Shop, go to checkout, choose Pay by bank and connect a bank.
- Fill in billing details, tick the authorization and place the order.
Expected: order received; the bank connection is tied only to your browser session.
Check in wp-admin: WooCommerce → Orders — on-hold with the transfer ID, customer Guest. BankBridge → Connections — a connection owned by no user.
6. Register at checkout
- As a guest, connect a bank at checkout and tick Create an account.
Expected: the order belongs to the new customer and the bank connection moves to their account.
Check in wp-admin: Connections — the connection now shows the new user.
7. Declined or risky payment
- In Sandbox Toolkit → Create a test connection, assign a connection to your user with the Low balance checking preset.
- Turn on Signal (WooCommerce gateway Signal risk check, or Settings → Payments), then pay from that account.
Expected: a friendly “couldn’t approve this account” message; no money moves.
Check in wp-admin: Transfers — status declined with the reason; Signal result in the order notes.
8. Reconnect a broken connection
- In Sandbox Toolkit → Force re-authentication pick a connection and click Reset login.
- Reload My bank accounts and click Reconnect; log in again.
Expected: “Needs attention” badge, then healthy again after Link update mode.
Check in wp-admin: Connections — status Login required, then Active.
9. Identity Match
- Connect a bank, open Identity Match, enter Alberta Bobbeth Charleson’s details (see Sandbox logins) and check.
- Repeat with a different name.
Expected: high per-field scores and a pass, then a fail with the wrong name.
Check in wp-admin: Verifications — Identity Match rows with scores.
10. Identity Verification (KYC)
- On Verify identity run the flow with the Leslie Knope test person.
Expected: status verified; Members area unlocks. (Requires IDV enabled for your team and a template ID.)
Check in wp-admin: Verifications — IDV session with status success.
11. Gated content
- Visit Members area and Verified community before and after verifying and connecting a bank.
Expected: a call to action before; the content after.
Check in wp-admin: Settings → Roles & access to also grant a role or membership.
12. Refund
- Settle a payment (scenario 2), then open it in Transfers and click Refund (full or partial).
Expected: a refund row linked to the transfer.
Check in wp-admin: Transfers — refunded amount on the original row.
13. Payout
- In Transfers → Send a payout choose a user with a connected checking account, enter $25 and confirm.
Expected: a credit transfer (PPD, or CCD for a business).
Check in wp-admin: Transfers — source “payout”.
14. Bulk payouts dry run
- Download the sample payouts CSV.
- Run
wp bankbridge payouts import payouts-sample.csv --dry-run.
Expected: a per-row plan: valid rows with account labels and one rejected row (“unknown user”). Nothing is sent.
Check in wp-admin: Remove --dry-run to pay; re-running is safe thanks to the reference column.
15. Webhooks and replay
- Open BankBridge → Webhooks and click Replay on any stored event.
Expected: the event is processed again and the result is logged.
Check in wp-admin: In the local demo Plaid can’t deliver new webhooks; on a public URL use Sandbox Toolkit → Fire a webhook to generate them.