Skip to main content

Sandbox Simulations Coming Soon

Early preview

Real-Time Payments are coming soon. This preview gives you an early look at the expected experience so you can begin planning your integration.

Unit exposes the following sandbox-specific endpoints, in addition to all other endpoints. They allow you to easily test and simulate real-world events - external activity, or internal activity that may normally take a long time to occur.

Note

Simulation operations are subject to the same authentication scheme as the Live APIs, and therefore require a valid Authentication token.

Create Received Real-Time Payment

This API allows you to simulate Received Real-Time Payment for testing purposes. The Received Real-Time Payment is created in Completed status, and a Received Realtime Payment Transaction with Credit direction is posted to the account.
The receivedRealtimePayment.created, receivedRealtimePayment.completed, and transaction.created webhook events will be fired.

VerbPOST
URLhttps://api.s.unit.sh/sandbox/received-realtime-payment
Data TyperealtimeReceivedPayment
Timeout (Seconds)5

Attributes

NameTypeDescription
amount RequiredintegerThe amount (in cents).
idempotencyKey RequiredstringSee Idempotency.

Relationships

NameTypeDescription
account RequiredJSON:API RelationshipThe Deposit Account or Wallet Account receiving the payment.
Example Request:
curl -X POST 'https://api.s.unit.sh/sandbox/received-realtime-payment'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "realTimePayment",
"attributes": {
"amount": 10000,
"idempotencyKey": "sandbox-simulate-incoming-rtp-1"
},
"relationships": {
"account": {
"data": {
"type": "depositAccount",
"id": "2150353"
}
}
}
}
}'

Response

The response is a JSON:API document containing a Realtime Received Payment.

Type

NameTypeDescription
typestringType of the received payment resource. The value is always realtimeReceivedPayment.

Attributes

NameTypeDescription
createdAtRFC3339 Date stringThe date the received payment was created.
statusstringThe status of the Received Payment. For this simulation the value is Completed. See Received Payment Statuses.
amountintegerThe amount (cents) of the RTP received payment.
descriptionstringPayment description / remittance information.
counterpartyReal-Time CounterpartyThe party on the other end of the transaction. For RTP received payments, this is always the originator.
tagsobjectSee Tags.

Relationships

NameTypeDescription
accountJSON:API RelationshipThe Deposit Account or Wallet Account of the customer.
customerJSON:API RelationshipThe Customer the account belongs to, business or individual.
receivePaymentTransactionJSON:API RelationshipThe Received Realtime Payment Transaction created when the RTP is completed.
Example Response:
{
"data": {
"type": "realtimeReceivedPayment",
"id": "30176752",
"attributes": {
"createdAt": "2026-07-10T22:43:34.385Z",
"status": "Completed",
"amount": 10000,
"description": "Sandbox Simulated Counterparty",
"counterparty": {
"name": "Sandbox Simulated Counterparty",
"routingNumber": "021000021",
"accountNumber": "000111222333"
}
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "2150353"
}
},
"customer": {
"data": {
"type": "customer",
"id": "1802611"
}
},
"receivePaymentTransaction": {
"data": {
"type": "transaction",
"id": "9547"
}
}
}
}
}

Return Received Real-Time Payment

This API allows you to simulate a return of a Realtime Received Payment. The received payment must be of type realtimeReceivedPayment type and must already be in Completed status. Returns of Received ACH or Wire cannot be simulated using this endpoint. The simulated return is approved immediately. The received payment status changes to Returned with returnReason set to RequestedByCustomer. The receivedRealtimePayment.returned webhook event will be fired.

See Returns for more details.

VerbPOST
URLhttps://api.s.unit.sh/sandbox/received-realtime-payment/{receivedRealtimePaymentId}/return
Data TyperealtimeReceivedPayment
Timeout (Seconds)5

Attributes

NameTypeDescription
idempotencyKey RequiredstringSee Idempotency.
Example Request:
curl -X POST 'https://api.s.unit.sh/sandbox/received-realtime-payment/30176752/return'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "realTimePayment",
"attributes": {
"idempotencyKey": "sandbox-simulate-return-rtp-1"
}
}
}'

Response

The response is a JSON:API document containing the same Realtime Received Payment. The status is Returned and returnReason is set to RequestedByCustomer.

Type

NameTypeDescription
typestringType of the received payment resource. The value is always realtimeReceivedPayment.

Attributes

NameTypeDescription
createdAtRFC3339 Date stringThe date the received payment was created.
statusstringThe status of the Received Payment. For this simulation the value is Returned. See Received Payment Statuses.
amountintegerThe amount (cents) of the RTP received payment.
descriptionstringPayment description / remittance information.
counterpartyReal-Time CounterpartyThe party on the other end of the transaction. For RTP received payments, this is always the originator.
returnReasonstringPresent when status is Returned. For this simulation the value is RequestedByCustomer. See RTP return reasons.
tagsobjectSee Tags.

Relationships

NameTypeDescription
accountJSON:API RelationshipThe Deposit Account or Wallet Account of the customer.
customerJSON:API RelationshipThe Customer the account belongs to, business or individual.
receivePaymentTransactionJSON:API RelationshipThe Received Realtime Payment Transaction created when the RTP is completed.
Example Response:
{
"data": {
"type": "realtimeReceivedPayment",
"id": "30176752",
"attributes": {
"createdAt": "2026-07-10T22:43:34.385Z",
"status": "Returned",
"amount": 10000,
"description": "Sandbox Simulated Counterparty",
"counterparty": {
"name": "Sandbox Simulated Counterparty",
"routingNumber": "021000021",
"accountNumber": "000111222333"
},
"returnReason": "RequestedByCustomer"
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "2150353"
}
},
"customer": {
"data": {
"type": "customer",
"id": "1802611"
}
},
"receivePaymentTransaction": {
"data": {
"type": "transaction",
"id": "9547"
}
}
}
}
}