Sandbox Testing
When Test Mode is activated, you get access to powerful Sandbox Tools in the Dashboard. These let you simulate all key payout scenarios.1. Test a refund
1
Initiate a refund
This can be done via API or manually by selecting the Order on the merchant dashboard.
2
Select the Order to open Sandbox Tools
In the merchant dashboard Orders table click the Order for a detailed view with Sandbox Tools.
3
Simulate refund success or failure
Use the toggle to set the outcome you want to test. Check the status and webhooks.

Sandbox tools in the details view of an order
2. Test a customer payout
1
Initiate a payout via API
Create a payout via API either closed-loop based on an existing order or open-loop by defining the beneficiary.
2
Select the payout to open Sandbox Tools
In the merchant dashboard Payouts table select the payment for a detailed view with Sandbox Tools.
3
Simulate payout success and failure
Use the toggle to set the outcome you want to test. Check the status and webhooks.

Sandbox tools in the details view of a customer payout
3. Simulate Outgoing Transactions Manually
In the developer section under the Simulations tab, you can manually simulate outgoing transactions:Outgoing transactions
- Simulate a manual outgoing transaction with any amount, external reference, and status.
- A valid external reference must start with one of:
refund
,payout
,fee
,userPayout
, followed by your unique identifier.
Use these tools to test every edge case and webhook flow before going live.
Production Testing
Once you’ve thoroughly tested your integration in sandbox mode, you can move to production testing with real payouts. Toggle off test mode in the Dashboard and use your live API keys.Recommended Test Cases
Complete these test scenarios to ensure your payout integration works correctly:Test Case | Description | Expected Outcome |
---|---|---|
€1 refund initiated via API | Automatically instructed from your back end to Ivy | Refund processed successfully and webhooks received |
Partial refund (€0.50) initiated via API | Automatically instructed from your back end to Ivy | Partial refund processed and status of ‘partially refunded’ |
€1 refund initiated via dashboard | Manually execute a refund from the Ivy Dashboard | Refund processed and status updated to ‘refunded’ |
€0.50 Customer Payout | Automatically instructed from your back end to Ivy | Payout processed successfully and webhooks received |
€1 Automatically sent in daily settlement payout | Test the receipt of settlement payouts to your own account | Settlement payout received and reconciled in your system |
€5 failed payout via API | Make this fail due to insufficient funds | Payout fails with appropriate error handling and webhooks |
Test each scenario with small amounts first, then verify that your webhook endpoints receive the correct status updates for each test case.
What’s Next