Confirm the pay-in for a sandbox transfer
Sandbox affordance. Confirms the incoming payment on a transfer that is sitting in awaiting_payment, so you can drive the state machine past the one step no test key can reach on its own: in test there is no real payer and no payment confirmation, so an on-ramp would otherwise wait in awaiting_payment until it expires.
The transfer advances through both legs, in two steps, exactly as a real confirmed payment would: the pay-in leg settles (payment_confirmed, emitting transfer.updated), then the destination leg settles and the transfer reaches a terminal completed, emitting transfer.completed. Both events are delivered and both appear on GET /events, in that order - the response body carries the terminal state. The wallet balance on GET /wallets/{wallet_id}/balances moves with it.
One case still stops at payment_confirmed: a transfer whose opening leg was settled by a real rail rather than by the sandbox. Fabricating a completion there would claim money arrived and was delivered when neither happened.
Only on-ramp and fx transfers can be simulated, because they are the only ones with an incoming payment to confirm. An off-ramp opens on its payout leg and a wallet transfer is a custody move, so neither has a payer to simulate; both are refused with 409 TRANSFER_NOT_AWAITING_PAYMENT, and so is a transfer that has already moved past awaiting_payment. Create a new transfer to test another outcome.
Test keys only. A live key is refused with 403 SANDBOX_ONLY; the environment comes from the key prefix (ozav_sk_test_ vs ozav_sk_live_), never from the URL.
Request
- Base URLhttps://developers.ozav.io/v2
- Auth
- API key in header X-API-Key
- or HTTP bearer
Path parameters
The opaque transfer id (ozav_tr_...).
Response
The pay-in was confirmed and the transfer advanced.
Example response
{
"amounts": {
"source": {
"amount": "1250.00"
},
"target": {
"amount": "1250.00"
}
},
"travel_rule": {
"originator": {
"identity_documents": [
{
"type": "cpf",
"number": "11144477735",
"issuing_country": "BR"
}
],
"address": {
"country": "BR"
}
},
"beneficiary": {
"identity_documents": [
{
"type": "cpf",
"number": "11144477735",
"issuing_country": "BR"
}
],
"address": {
"country": "BR"
}
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.