1. Welcome |
8. Sandbox Testing & Simulations |
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
Debtor Response Simulations
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
Simulation Attribute Sample
{
"sandbox": {
"simulate": "debtor_accept",
"delay": 300,
}
}
Create Agreement & Create Amendment
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. |
Create Payment
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. |
Cancel/Suspend Mandate
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 |
Debtor Initiated Agreement Simulations
The simulate debtor
endpoint is available to help simulate debtor-initiated actions for an agreement.
Endpoint
POST /payto/agreements/{agreement_uid}/simulate_debtor_action
Request Payload
{
"debtor_action": "cancellation",
"reason": "customer_requested",
"narrative": "My custom description"
}
Debtor Action Types
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 |
Cancellation Sample Webhook
{
"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"
}
}
Notable Webhook Fields
| uid will vary per agreement (eg. |
|
|
|
|
|
|
Suspension Sample Webhook
{
"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"
}
}
Notable Webhook Fields
| uid will vary per agreement (eg. |
|
|
|
|
|
|
Reactivation Sample Webhook
{
"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"
}
}
Notable Webhook Fields
| uid will vary per agreement (eg. |
|
|
|
|
|
|
Amendment Sample Webhook
{
"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"
}
}
Notable Webhook Fields
| uid will vary per agreement (eg. |
|
|
| Information will vary depending on the debtor’s amendments |
|
|
|
|