Completion and optional payouts
Use a confirmed sandbox crypto payment from a simulated deposit or a real testnet transfer. Every deposit for that quote must be confirmed. If the total is less than the quoted amount, expire the quote first.
Send POST /v1/collections/simulate-payment-completion:
{
"paymentRequestReference": "ORDER-10045",
"paymentId": "<paymentId returned by deposit simulation or payment lookup>"
}
Replace the placeholder with an actual payment UUID. You can use the paymentId from any deposit for the quote. The endpoint completes all confirmed deposits for that quote together, credits the sandbox wallet and queues payment.completed. The payment status becomes COMPLETE. The payment request keeps its existing status: PAID, PART_PAID or EXPIRED.
If a compliance check is still running, wait for it to finish before retrying completion. In sandbox, the simulator can remove review or provider holds after the checks finish so you can complete the test payment. It cannot complete a rejected payment. A successful simulation does not show that the payer or transaction would pass production compliance checks.
Retry the same call after success. Expect alreadyCompleted: true, no second wallet credit and no duplicate completion event from the retry.
Include payout creation in your test
Follow the payment request payouts guide to create a request with a supported payout currency, beneficiary and payout instructions. Run the deposit and completion steps. Then retrieve the payment's payout details and check the payout webhooks.
- If your account does not require a second user to approve payouts, a payout that meets the requirements may be submitted automatically.
- If your account requires approval by a second user (maker-checker approval), check for
pending_approval. Then ask an authorised approver to follow the normal approval process. - Payment completion confirms wallet credit. Only the payout's own final state confirms its outcome.
A payout creation failure does not undo successful wallet credit. Retrying an already completed payment does not retry payout creation. These simulation actions do not force payout approval, bank acceptance, payout failure or final payout success.