Overview
The sandbox environment provides:- A dedicated sandbox platform for testing
- Test UMA addresses for simulating payments
- Endpoints to simulate sending and receiving payments
- All the same webhooks and flows as production, but with simulated funds
Test UMA Addresses
The sandbox provides several test UMA addresses you can use to simulate different scenarios:UMA Address | Description |
---|---|
$success.usd@sandbox.uma.money | Always succeeds, sends USD |
$success.eur@sandbox.uma.money | Always succeeds, sends EUR |
$success.mxn@sandbox.uma.money | Always succeeds, sends MXN |
$pending.long.usd@sandbox.uma.money | Simulates a long-pending payment |
$fail.compliance.usd@sandbox.uma.money | Simulates compliance check failure |
Testing Outgoing Payments
To test sending payments from your platform, follow these steps:- Look up a sandbox UMA address:
- Create a quote as normal:
- Instead of making a real bank transfer, use the sandbox send endpoint:
Testing Incoming Payments
To test receiving payments to your platform’s users, use the sandbox receive endpoint:- You’ll receive an
INCOMING_PAYMENT
webhook withstatus: "PENDING"
- Your platform should approve/reject the payment
- On approval, you’ll receive another webhook with
status: "COMPLETED"
Example Testing Flow
Here’s a complete example of testing both directions of payments:- First, register a test user:
- Test receiving a payment:
- Test sending a payment:
Testing Error Scenarios
You can test various error scenarios using the special sandbox UMA addresses:- Test compliance failures:
- Test long-pending payments:
- Non-existent UMA address:
Production vs Sandbox
Here are the key differences between production and sandbox environments:- API Tokens: Sandbox tokens only work in the sandbox environment and vice versa
- Bank Transfers: In sandbox, you use
/sandbox/send
instead of real bank transfers - Test UMA Addresses: Special sandbox addresses for testing different scenarios
- Money: No real money is moved in sandbox