Sandbox Testing & Simulations
PayTo Sandbox Testing & Simulations
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.
Overview
When a dispute is raised by the bank, Zepto creates the investigation, notifies your platform, and requests merchant action.
Warning
Make sure you submit evidence before the due date. Missing the deadline may result in the case being closed or rejected.
Success
Once accepted, the action request is completed and the dispute workflow progresses accordingly.
Important
Rejecting an action request without the correct review may cause avoidable operational issues.
Tip
Retrieve the investigation first, then inspect the active action request so you can present the right next step to your merchant.
Overview
When a dispute is raised by the bank, Zepto creates the investigation, notifies your platform, and requests merchant action.
Warning
Make sure you submit evidence before the due date. Missing the deadline may result in the case being closed or rejected.
Success
Once accepted, the action request is completed and the dispute workflow progresses accordingly.
Important
Rejecting an action request without the correct review may cause avoidable operational issues.
Tip
Retrieve the investigation first, then inspect the active action request so you can present the right next step to your merchant.
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.
Overview
When a dispute is raised by the bank, Zepto creates the investigation, notifies your platform, and requests merchant action.
Warning
Make sure you submit evidence before the due date. Missing the deadline may result in the case being closed or rejected.
Success
Once accepted, the action request is completed and the dispute workflow progresses accordingly.
Important
Rejecting an action request without the correct review may cause avoidable operational issues.
Tip
Retrieve the investigation first, then inspect the active action request so you can present the right next step to your merchant.
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. |
Delayed Payment
In combination with the payment simulations noted above, adding a delay (>35s) simulates a delayed payment changing from the submitting state to a pending state and triggering the appropriate webhooks.
{
"sandbox": {
"simulate": "auto_settle",
"delay": 40,
}
}
Cancel/Suspend Agreement
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](/reference/post_payto-agreements-agreement-uid-simulate-debtor-action)
{
"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 |
{
"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"
}
}Notable Webhook Fields
|
|
uid will vary per agreement (eg. |
|
|
|
|
|
Information will vary depending on the debtor’s amendments |
|
|
|
|
|
|
