Sandbox Testing & Simulations
This article will guide you on how you can simulate various scenarios and outcomes.
This article will guide you on how you can simulate various scenarios and outcomes.
Try out your happy paths and not-so happy paths; the sandbox is a great place to get started with PayTo without transferring actual funds. All transactions are simulated and no communication with any financial institutions are performed.
NOTE
- All Agreements and Agreement amendments will expire after 24 hours if no action is performed
- All 6 digits BSBs are valid in the sandbox with the exception of the following:
- 100000: simulates an invalid BSB
- 100001: simulates a financial institution that does not have PayTo debtor capabilities
- 100002: simulates a financial institution that is not able to receive an NPP payment
- The debtor must have a BBAN with an account number of 9 digits or less
A special Sandbox testing object has been made available when creating an Agreement, an Agreement modification, or a Payment to help simulate your customer interactions.
NOTE: The delay attribute allows you to simulate a delay:
- if supplied, can be used to simulate when the action should be performed up to a maximum of 86400 seconds (24 hours)
- if omitted, will cause the action to be performed immediately
{
"sandbox": {
"simulate": "debtor_accept",
"delay": 300,
}
}
Type | Description |
| Simulates an Agreement/Amendment being |
| Simulates an Agreement/Amendment being |
| Simulates an Agreement/Amendment
In the real world, an expiry will occur if no action is performed against an Agreement after 6 business days |
| Simulates a debtor account that does not support PayTo |
| Simulates a debtor's PayID not being found (i.e. incorrect). |
| Simulates a creditor's PayID not being found (i.e. incorrect). |
| Simulates the addressing service not being available. In other words, PayID cannot be used. |
Type | Description |
| Simulates a PayTo Payment with an outcome of |
| Simulates a PayTo Payment with an outcome of |
|
|
| Simulates a creditor account that does not support PayTo |
| Simulates a closed creditor account |
| Simulates a closed debtor account |
|
|
| Simulates a debtor's PayID not being found (i.e. incorrect). |
| Simulates a creditor's PayID not being found (i.e. incorrect). |
| Simulates the addressing service not being available. In other words, PayID cannot be used. |
Type | Description |
| Simulates performing a mandate action against a mandate that has already been cancelled
Note: This would only occur if both merchant and customer initiate a mandate action at the same time |
The simulate debtor endpoint is available to help simulate debtor-initiated actions for an agreement.
POST [/payto/agreements/{agreement_uid}/simulate_debtor_action](/reference/post_payto-agreements-agreement-uid-simulate-debtor-action)
{
"debtor_action": "cancellation",
"reason": "customer_requested",
"narrative": "My custom description"
}
Debtor Action Types | Description |
| Simulates an Agreement cancellation triggered by the debtor |
| Simulates an Agreement suspension triggered by the debtor |
| Simulates an Agreement reactivation triggered by the debtor |
| Simulates a unilateral Agreement amendment triggered by the debtor |
{
"data": {
"id": "0188b7fb-8bc9-befd-4652-d3f5e7c4f4bd",
"body": {
"reason": {
"code": "MD16",
"title": "Requested By Customer",
"detail": "Agreement/Amendment action requested by the Payer Customer",
"narrative": "My custom description"
},
"caused_by": "debtor"
},
"type": "payto_agreement.cancelled",
"published_at": "2023-06-14T13:38:15.881+10:00",
"resource_uid": "biz_20221231_G7MQWwkQZIP8vbfH",
"resource_type": "payto_agreement"
},
"links": {
"resource": "https://api.sandbox.split.cash/payto/agreements/biz_20221231_G7MQWwkQZIP8vbfH"
}
}
{
"data": {
"id": "0188b7fd-099e-cb2f-23a9-b7bfac0682e1",
"body": {
"reason": {
"code": "MD16",
"title": "Requested By Customer",
"detail": "Agreement/Amendment action requested by the Payer Customer",
"narrative": "My custom description"
},
"caused_by": "debtor"
},
"type": "payto_agreement.suspended",
"published_at": "2023-06-14T13:39:53.630+10:00",
"resource_uid": "biz_agreement_G7MQWwkQZIP8vbfH",
"resource_type": "payto_agreement"
},
"links": {
"resource": "https://api.sandbox.split.cash/payto/agreements/biz_agreement_G7MQWwkQZIP8vbfH"
}
}
{
"data": {
"id": "0188b7ff-1263-bdac-74c9-42ada1a70ad4",
"body": {
"caused_by": "debtor"
},
"type": "payto_agreement.reactivated",
"published_at": "2023-06-14T13:42:06.947+10:00",
"resource_uid": "biz_agreement_G7MQWwkQZIP8vbfH",
"resource_type": "payto_agreement"
},
"links": {
"resource": "https://api.sandbox.split.cash/payto/agreements/biz_agreement_G7MQWwkQZIP8vbfH"
}
}
{
"data": {
"id": "0188b7a9-a401-545f-ed83-7361a4b91295",
"body": {
"changes": {
"debtor": {
"party_name": "Ben McPearson",
"ultimate_party_name": "Tanya McPearson"
}
},
"caused_by": "debtor"
},
"type": "payto_agreement.amended",
"published_at": "2023-06-14T12:08:48.129+10:00",
"resource_uid": "biz_20221231_G7MQWwkQZIP8vbfH",
"resource_type": "payto_agreement"
},
"links": {
"resource": "https://api.sandbox.split.cash/payto/agreements/biz_20221231_G7MQWwkQZIP8vbfH"
}
}
|
uid will vary per agreement (eg. |
|
|
|
Information will vary depending on the debtorβs amendments |
|
|
|
|
Updated 22 days ago