Payment and money-flow testing
Scripted cases through provider sandboxes: declines, refunds, chargebacks, partial captures, currency.
Mandatory for 17 of 46 product types. Usually run by a QA engineer.
What it catches
- wrong amounts
- double charges
- orphan orders
- failed refunds
What it misses
- provider outages
Which product types need it and why
| Product type | Status | Reason or condition |
|---|---|---|
| buy now pay later service | mandatory | Risks: Money leaves or fails to arrive |
| dating app | mandatory | Risks: Money leaves or fails to arrive |
| ecommerce store | mandatory | Risks: Money leaves or fails to arrive |
| EV charging app | mandatory | Risks: Money leaves or fails to arrive |
| expense management tool | mandatory | Risks: Money leaves or fails to arrive |
| grocery delivery app | mandatory | Risks: Money leaves or fails to arrive |
| insurance app | mandatory | Risks: Money leaves or fails to arrive |
| kids app | mandatory | Risks: Money leaves or fails to arrive |
| language learning app | mandatory | Risks: Money leaves or fails to arrive, App rejected or removed by a store |
| lending platform | mandatory | Risks: Money leaves or fails to arrive |
| loyalty program app | mandatory | Risks: Money leaves or fails to arrive |
| mental health app | mandatory | Risks: Money leaves or fails to arrive |
| mobile game | mandatory | Risks: Money leaves or fails to arrive |
| subscription box service | mandatory | Risks: Money leaves or fails to arrive |
| telemedicine app | mandatory | Risks: Money leaves or fails to arrive |
| stock trading app | mandatory | Risks: Fraud or abuse by users, Money leaves or fails to arrive |
| travel booking app | mandatory | Risks: Money leaves or fails to arrive |
| accounting and invoicing SaaS | recommended | Becomes mandatory when invoices carry a pay-now link that collects money through the product. |
| online marketplace | recommended | Becomes mandatory when a payout released before a dispute closes is recorded for this product type with verified evidence (see the methodology). |
| peer-to-peer payment app | recommended | Becomes mandatory when card funding is added or the card processor changes. |
| pharmacy delivery app | recommended | Becomes mandatory when the risk "Money leaves or fails to arrive" is attached to this product type with verified evidence (see the methodology). |
| ride-hailing app | recommended | Becomes mandatory when the risk "Money leaves or fails to arrive" is attached to this product type with verified evidence (see the methodology). |
| event ticketing platform | recommended | Becomes mandatory when buyers are charged twice, or charged without a ticket, during an onsale. |
| ERP system | optional | Optional: helps before a new bank interface goes live, no payment-run incident is attached yet. |
| clinical trial management software | not needed | Not needed: the system does not move money. Becomes recommended when participant stipends or site payments are paid from it. |
| crypto exchange | not needed | Not needed: the exchange is crypto to crypto. Becomes recommended when card or bank deposits in fiat are added. |
| data pipeline | not needed | Not needed: the pipeline moves no money. Becomes recommended when it posts ledger entries or payouts. |
| desktop application | not needed | Not needed: the app moves no money. Becomes recommended when it sells licences or in-app purchases. |
| e-signature service | not needed | Not needed: no money-loss risk is attached. Becomes recommended when payment collection at signing ships. |
| electronic health record system | not needed | Not needed while the system holds no card or bank payment flow. Becomes recommended when patient payment collection is built into registration. |
| email marketing platform | not needed | Not needed: subscription billing runs through a separate provider and campaigns move no money. Becomes recommended when campaigns sell products in the email. |
| fleet and logistics tracking | not needed | Not needed: no money moves through the platform. Becomes recommended when cash-on-delivery collection is added. |
| government services portal | not needed | Not needed: fees are handed to a separate government payment service. Becomes recommended when the portal takes card payments itself. |
| identity and access management service | not needed | Not needed: no money-loss risk is attached. Becomes recommended when the service handles payment step-up for customers. |
| smart home or IoT app | not needed | Not needed: the app takes no payment. Becomes recommended when a paid video storage plan is sold in the app. |
| LLM-based assistant | not needed | Not needed: no money moves through the assistant. Becomes recommended when it can place orders or issue refunds. |
| messaging app | not needed | Not needed: the app has no paid features. Becomes recommended when paid stickers, subscriptions or in-chat payments ship. |
| machine learning model service | not needed | Not needed: the service moves no money. Becomes recommended when scores trigger payments directly. |
| mobile banking app | not needed | Not needed: the bank's app moves money on its own ledger and payment rails, covered by integration tests. Becomes recommended when the app adds card top-ups or merchant checkout through an outside acquirer. |
| neobank | not needed | Not needed: card and transfer flows run in the issuer processor sandbox under integration tests. Becomes recommended when the app accepts card top-ups from other banks. |
| patient portal | not needed | Not needed while the portal has no bill pay. Becomes recommended when patients can pay statements or copays in the portal. |
| software as a medical device | not needed | Not needed while the software takes no payments. Becomes recommended when a subscription or in-app purchase is added. |
| SDK or client library | not needed | Not needed: no money-loss risk is attached. Becomes recommended when the SDK takes payments. |
| social network | not needed | Not needed: no money moves through the platform. Becomes recommended when tipping, subscriptions or creator payouts ship. |
| video conferencing tool | not needed | Not needed: no money-loss risk is attached. Becomes recommended when paid webinars with ticketing ship. |
| wearable companion app | not needed | Not needed: the app takes no payment. Becomes recommended when a paid subscription or tap-to-pay from the band ships. |
Done conditions used on playbook pages
Each mandatory cell has its own done condition, written for that product type.
- buy now pay later service (Fintech): In the sandbox, a full refund from the merchant cancels all unpaid instalments and a partial refund reduces them, with no further autopay charge.
- dating app (Consumer apps): A sandbox premium purchase, renewal, refund and bank dispute each leave the member's premium status and charge history matching the store receipt.
- ecommerce store (Commerce): A declined card, a 3-D Secure challenge, a partial refund and a full cancellation each leave exactly one matching entry on the test card statement and in the admin order.
- EV charging app (Infrastructure and developer products): A session stopped early, a session the charger aborts and a declined card each end with one charge matching the energy delivered and no held amount left on the test card.
- expense management tool (Fintech): In the card sandbox, a frozen card declines the next purchase, a merchant-category block declines a blocked purchase, and a spend limit declines the first charge above it.
- grocery delivery app (Commerce): A test order with a weighed item and a substitute, reported as delivered after its chilled slot ended, is refunded in full to the original test card in the sandbox when the guarantee promises a refund, not paid as a credit toward the next basket.
- insurance app (Fintech): In the sandbox, a mid-term cancellation refunds the unearned premium once to the original card, and a declined renewal payment does not mark the policy as paid.
- kids app (Education): In the store sandbox, each purchase asks for a fresh parent approval and produces one charge, and a second tap within a minute does not buy again.
- language learning app (Education): In the store sandbox, a trial converts, renews, is cancelled in the app and is restored on a second device, and each step shows the right plan with one charge or none.
- lending platform (Fintech): In the payment sandbox, an autopay debit pulls only from the account the borrower authorized, and a granted extension cancels the debit scheduled for that date.
- loyalty program app (Commerce): A stored value top-up and spend each show once on the member statement and in the sandbox, and the stored value card cannot be moved to another account without signing in again.
- mental health app (Healthcare): After a test user cancels in the app, the store or payment sandbox shows the subscription ended and no charge on the next renewal date.
- mobile game (Consumer apps): No sandbox purchase can start from a loading screen, sleep wake or item preview, and every purchase asks for a confirmation that names the item and price.
- subscription box service (Commerce): A renewal, a failed card with retries, a plan change mid-cycle and a cancellation before the billing date each leave the expected charges, and only those, on the test card statement.
- telemedicine app (Healthcare): After a test patient cancels the membership in the app, the payment sandbox shows no further charge on the next billing date.
- stock trading app (Fintech): In the sandbox, a deposit whose ACH pull is returned removes the instant buying power, freezes withdrawal and flags the account for review.
- travel booking app (Commerce): A test flight cancelled by the supplier sandbox produces a refund to the original test card, shown on the traveller's trip page.
Tools
Alphabetical. Not recommendations.
payment and money-flow testing
- Adyen test environmentTest cards and scenarios for Adyen integrations. webapiiosandroidcommercial
- Stripe test modeTest cards and scenarios for Stripe integrations. webapiiosandroidfreemium