Overview
The sandbox environment is the place where you can validate your integration before going live. Base URL:Test Document Numbers
For both payins and payouts, the final transaction outcome is determined by the value sent ininlineCustomer.idNumber.
| What you want to test | Document number |
|---|---|
| Successful payin/payout | 1000000001 |
| Declined payin/payout | 1000000003 |
| Canceled payin/payout | 1000000005 |
| Default (also confirmed) | Any other value |
Timing
After creating a payin or payout, the transaction status changes in two steps:- Almost immediately, HelloPay sends a webhook with status
PROCESSING. - Shortly after (~5 seconds), the final status changes according to the value sent in
inlineCustomer.idNumber.
Polling behavior
For async payin rails such asPSE and BRE_B, the creation response can omit some source data until HelloPay finishes preparing the flow.
- In
PSEpayins,sourceData.pseUrlis returned asnullright after creation. - In
BRE_Bpayins,sourceDatadepends onbreb.keyType.SINGLE_USEreturns the generated key, andQR_CODEalso returnssourceData.qrStringwith the QR image payload. - Poll the transaction after creation to retrieve the updated
sourceDatavalues once HelloPay finishes populating them. - In sandbox, this update follows the same simulated async behavior as production, so you should handle it with polling or webhooks.
Webhook Events Sequence
The same sequence applies to both payins and payouts:payin.processing/payout.processingis sent almost immediately after the transaction is created.payin.confirmed,payin.declined, orpayin.canceledis sent next for payins.payout.confirmed,payout.declined, orpayout.canceledis sent next for payouts.

