Guides
Testing & go-live
Build against the sandbox, work through the test scenarios, then switch to production keys.
Sandbox access
Email support@cashwo.com.au with your company name, a technical contact and what you're building. You'll receive:
- The sandbox API endpoint and merchant portal address.
- A sandbox merchant account with every frequency enabled, including
ONETIME. - Test customers and test bank accounts that authorise or decline.
- Your API key, through a one-time secure link. Cashwo never sends keys or secrets in plain email.
The sandbox moves no real money. Sandbox and production use separate keys, webhook secrets and merchant accounts, and a key from one never works in the other. Sandbox data may be reset from time to time.
Test scenarios
Work through these before asking for production access.
- Create a
MONTHLYagreement with aninitial_amount, open the link, verify, authorise with a test bank, and receiveagreement_activatedthenpayment_settled. - Send the same
create_agreementtwice with one Idempotency-Key and confirm only one agreement exists. - Create an agreement with a bad phone and email, and show both validation messages in your system.
- Create and pay a
ONETIMEagreement on the same day. - Page through
list_agreementsandlist_paymentsuntilhas_moreisfalse. - Suspend, resume and cancel an active agreement through the API, and receive each
agreement_*webhook. - Cancel an agreement before the customer authorises it, and confirm the link can no longer be authorised.
- Authorise with a declining test bank and handle
payment_failed. - Make your endpoint return
500once, confirm the retry arrives with the sameevent_id, and that you process it once. - Send your endpoint a webhook with a tampered body and confirm it's rejected with
401.
Go-live checklist
- Production merchant account approved (identity and business checks complete).
- Production API key stored in your secrets manager, not in source code.
- Production webhook endpoint set, signing secret created, signature check on.
- Every write call sends an Idempotency-Key, and your system handles each
error_code. - Webhook handler is idempotent on
event_idand answers within 15 seconds. - A scheduled job reconciles with
list_paymentsandupdated_since. - Someone on your team watches failed webhook deliveries and knows where to replay them.
- Sandbox keys and endpoints removed from production configuration.
Support
Integration questions: support@cashwo.com.au, Monday to Friday, 9am–5pm AEST. Include the agreement_id, payment_id or event_id and the time of the request; never send your API key or webhook secret.