curl --request POST \
--url https://api.example.com/sandbox/payins/{payinId}/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"remitter": "<string>"
}
'import requests
url = "https://api.example.com/sandbox/payins/{payinId}/complete"
payload = { "remitter": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({remitter: '<string>'})
};
fetch('https://api.example.com/sandbox/payins/{payinId}/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Emulate the arrival of the funds a pay-in is waiting for
curl --request POST \
--url https://api.example.com/sandbox/payins/{payinId}/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"remitter": "<string>"
}
'import requests
url = "https://api.example.com/sandbox/payins/{payinId}/complete"
payload = { "remitter": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({remitter: '<string>'})
};
fetch('https://api.example.com/sandbox/payins/{payinId}/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The client account to act for, as a cl_… id. Omit it to act as yourself.
"cl_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Your own key for this write, ^[A-Za-z0-9._:-]{1,128}$. A retry with the same key replays the first answer; the same key with a different request is refused.
"po-inv-2026-114"
Path Parameters
Body
Originator name reported with the credit.
140Response
Successful Response
Stable identifier for the emulated credit.
Current public lifecycle status of the emulated credit.
awaitingSignature, submitted, settled, failed, refunded Digital asset credited after settlement.
USDC, EURC Source amount supplied to the emulator.
"500.00"
Source currency or digital asset.
Caller-supplied key that binds retries to this credit.
Incoming-transfer identifier, when completing a pay-in.
^(?:pi_)?[A-Za-z0-9._:\-]{1,216}$"pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Ledger transaction identifier, when created.
^(?:txn_)?[A-Za-z0-9._:\-]{1,216}$"txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Amount delivered in the settlement asset.
"500.00"
Fee charged by the emulated route.
"500.00"
Currency in which the fee is charged.
Conversion rate from source to settlement amount.
"500.00"
On-chain transaction hash, when applicable.
Relative API URL to poll while processing continues.
Was this page helpful?