Client PoC playbook
How to run a two-week proof of concept with a merchant on apay, from sandbox keys to a go/no-go decision.
Scope of a PoC
Prove, on the merchant’s own product, that they can:
- create payments from their backend and complete them with the hosted checkout on web and phone,
- handle success, decline and 3-D Secure,
- receive and verify webhooks and reconcile them to their orders,
- refund from the dashboard or API,
- see everything in the dashboard.
Wallets (Apple Pay, Google Pay) are included when the merchant attaches a processor test account (Stripe or Airwallex sandbox), which takes a few minutes.
Timeline
| Day | apay | Merchant |
|---|---|---|
| 0 | Create sandbox account, send keys, dashboard invite, quickstart | Name an engineer and a product owner |
| 1 to 3 | Office hours on chat | Backend creates payments; checkout mounted on a test page |
| 4 to 6 | Review integration, check webhook signature handling | Webhook receiver, order state machine, refunds |
| 7 | Mid-point demo on a phone | Test cards for decline and 3DS |
| 8 to 10 | Attach processor test account for wallets, help with routing | Apple Pay on Safari, Google Pay on Chrome/Android |
| 11 to 13 | Load test with 100 payments, reconciliation export | Compare dashboard export with order records |
| 14 | Decision meeting: go-live plan, pricing, timeline | Go / no-go |
Success criteria (agree on day 0)
- 100% of test-card scenarios behave as documented
- webhook signatures verified; no order updated from a browser callback alone
- checkout works on iOS Safari and Android Chrome
- median checkout load under 2 seconds on 4G
- refund round trip visible in dashboard and merchant system
- merchant engineer rates the docs 4/5 or better
Steps in detail
Day 0: account setup
- Dashboard invite to app.apay.to, secret and publishable keys, profile ID.
- Sandbox processors Stripe Test and PayPal Test are attached by default.
- Webhook URL configured with the merchant’s endpoint (ngrok or a staging URL works).
Days 1 to 3: first payment
Follow the quickstart. Checkpoint: a payment_succeeded webhook received and verified.
Days 4 to 7: edge cases
Declines, 3DS challenge, customer closes the 3DS page, double submit, refund, partial refund, currency the merchant needs.
Days 8 to 10: wallets
Merchant creates a Stripe (or Airwallex) test account, adds it in Processors, enables Apple Pay and Google Pay. For Apple Pay on the merchant’s domain, register the domain with Stripe’s Apple Pay settings or upload the merchant certificates in the dashboard.
Days 11 to 13: operations
Export payments from the dashboard, reconcile against the merchant’s orders. Team members invited with roles. Alerting on failures agreed.
Day 14: decision
Present: volumes and success rates from the PoC, open issues, go-live checklist (processor or partner bank contract, KYB, live keys, wallet domains), pricing.
Tooling apay provides
- Demo checkout at apay.to/checkout to compare behaviour
- Sample merchant backend (Node.js, 120 lines) with webhook verification
- Postman collection generated from the OpenAPI spec
- Office hours on a shared channel during the PoC