Complete Payout
Use this method in the sandbox to simulate the action of a third party that is required for completing the payout process.
Relevant when the status of the payout is Created.
Prerequisites:
This method triggers the Payout Completed Webhook. This webhook contains the same information as the response.
payout
ID of the payout. String starting with payout_.
.NET
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var payout = "payout_cd35fbe8dc6fd7c2e67d44ad53a4367d"; var amount = "10"; string result = RapydApiRequestSample.Utilities.MakeRequest("POST", $"/v1/payouts/complete/{payout}", request); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const body = {}; const result = await makeRequest( 'POST', '/v1/payouts/complete/payout_cd35fbe8dc6fd7c2e67d44ad53a4367d', body ); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); try { $object = make_request('post', '/v1/payouts/complete/payout_cd35fbe8dc6fd7c2e67d44ad53a4367d'); var_dump($object); } catch(Exception $e) { echo "Error: $e"; } ?>
Python
from pprint import pprint from utilities import make_request payout = 'payout_cd35fbe8dc6fd7c2e67d44ad53a4367d' amount = 10 results = make_request(method='post', path=f'/v1/payouts/complete/{payout}') pprint(results)
/v1/payouts/complete/:payout
Complete Payout
curl -X post 'https://sandboxapi.rapyd.net/v1/payouts/complete/payout_d827bdb2750603fcdb76b12f9ab1bfc1' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here'
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "65fb0fa2-bbf0-4320-86a2-9e46c8cb5869" }, "data": { "id": "payout_d827bdb2750603fcdb76b12f9ab1bfc1", "payout_type": "bank", "payout_method_type": "sg_ocbc_bank", "amount": 38000, "payout_currency": "SGD", "sender_amount": 29108.09, "sender_currency": "USD", "status": "Completed", "sender_country": "US", "sender": { "id": "sender_94e84ba869e20da70be5b0c0027c889d", "country": "US", "entity_type": "company", "address": "address 2", "name": "Rapyd", "postcode": "3333", "city": "Amsterdam", "phone_number": "19019044444", "company_name": "Rapyd", "currency": "USD", "identification_value": "unc_num_123333", "province": "Amsterdam", "occupation": "Ridesharing" }, "beneficiary_country": "SG", "beneficiary": { "id": "beneficiary_81fdb04df9cc01c0488dcbbf02c76edd", "last_name": "Doe", "first_name": "Jane", "country": "US", "entity_type": "individual", "address": "456 Second Street", "name": "Jane Doe", "postcode": "10101", "city": "Anytown", "state": "NY", "account_number": "BG96611020345678", "currency": "SGD", "email": "janedoe@rapyd.net", "identification_type": "SSC", "identification_value": "*********", "bank_name": "sg_ocbc_bank", "bic_swift": "ABCDSGGG", "ach_code": "123456789" }, "fx_rate": 1.3054788068, "instructions": [ { "name": "instructions", "steps": [ { "step1": "The funds will be transferred to the provided account details of the beneficiary" } ] } ], "instructions_value": {}, "ewallets": [ { "ewallet_id": "ewallet_6bf0e86b4c5e451691cf1f4e88b52eec", "amount": 29108.09, "percent": 100 } ], "metadata": { "merchant_defined": true }, "description": "Salary", "created_at": 1762784253, "payout_fees": null, "expiration": null, "merchant_reference_id": null, "paid_at": "1762784276", "identifier_type": null, "identifier_value": null, "error": null, "paid_amount": 38000, "statement_descriptor": null, "gc_error_code": null, "batch_file": null } }
Complete Payout - Estimated Time of Arrival
curl -X post 'https://sandboxapi.rapyd.net/v1/payouts/complete/payout_f2a413634e3d60ce17f27010d77054a1' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here'
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "fa427d80-3e23-4ae9-83e2-e8b42962195b" }, "data": { "id": "payout_f2a413634e3d60ce17f27010d77054a1", "payout_type": "bank", "payout_method_type": "at_sepa_bank", "amount": 110, "payout_currency": "EUR", "sender_amount": 110, "sender_currency": "EUR", "status": "Completed", "sender_country": "DK", "sender": { "id": "sender_3e92c5047e1f92e7a19e991d15a439a7", "first_name": "John Doe", "country": "DK", "entity_type": "individual", "address": "123 First Street", "date_of_birth": "22/02/1980", "date_of_incorporation": "31/12/2000", "postcode": "12345", "city": "Anytown", "phone_number": "436641234568", "currency": "EUR", "identification_type": "work_permit", "identification_value": "123456789", "source_of_income": "salary" }, "beneficiary_country": "AT", "beneficiary": { "id": "beneficiary_861005e8403f3e91b7a270eeb5f75ece", "first_name": "Jane", "country": "AT", "entity_type": "individual", "address": "456SecondStreet", "name": "Jane", "date_of_birth": "15/12/1985", "postcode": "10101", "city": "Anytown", "phone_number": "436641234567", "currency": "EUR", "identification_type": "identification_id", "identification_value": "*********", "iban": "AT611904300234573201" }, "fx_rate": 1, "instructions": [ { "name": "instructions", "steps": [ { "step1": "The funds will be transferred to the provided account details of the beneficiary" } ] } ], "instructions_value": {}, "ewallets": [ { "ewallet_id": "ewallet_4f1757749b8858160274e6db49f78ff3", "amount": 110, "percent": 100 } ], "metadata": {}, "description": "Payout - Bank Transfer: Beneficiary/Sender objects", "created_at": 1762784444, "payout_fees": null, "expiration": null, "merchant_reference_id": "2025-11-10B", "paid_at": "1762784490", "identifier_type": null, "identifier_value": null, "error": null, "paid_amount": 110, "statement_descriptor": null, "gc_error_code": null, "batch_file": null } }
Complete Payout - with card
curl -X post 'https://sandboxapi.rapyd.net/v1/payouts/complete/payout_53f4bb989121ebae9e7e8b3746bbccfe' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here'
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "9775c2c3-38fc-42c7-8135-645f3e021fec" }, "data": { "id": "payout_9fc2a39187c00674cdd50221edbed5c2", "payout_type": "card", "payout_method_type": "ua_general_card", "amount": 10, "payout_currency": "UAH", "sender_amount": 0.25, "sender_currency": "USD", "status": "Completed", "sender_country": "AU", "sender": { "id": "sender_c109585bb9085607d544dcdf18bfaf85", "last_name": "Doe", "country": "AU", "entity_type": "company", "address": "123 Maple street", "name": "Jane Doe", "city": "Any town", "phone_number": "3218900123", "company_name": "4 Diamonds Limo service", "currency": "USD", "identification_value": "R1391230" }, "beneficiary_country": "UA", "beneficiary": { "id": "beneficiary_0fe3f4d9a37d31001dcef109206f83ab", "last_name": "Doe", "first_name": "John", "country": "UA", "entity_type": "individual", "name": "John Doe", "phone_number": "0231920712", "currency": "UAH", "bin_details": { "type": "CREDIT", "brand": "VISA", "level": "STANDARD", "issuer": "First Bank", "country": "AR", "bin_number": "589562" }, "card_expiration_year": "26", "card_expiration_month": "10", "card_number": "5650" }, "fx_rate": 39.8891626842, "instructions": [ { "name": "instructions", "steps": [ { "step1": "The funds will be transferred to the provided card details of the beneficiary." } ] } ], "instructions_value": {}, "ewallets": [ { "ewallet_id": "ewallet_f69bdf976830363ec0146418f31ea4c1", "amount": 0.25, "percent": 100 } ], "metadata": {}, "description": "Expenses", "created_at": 1721645048, "payout_fees": null, "expiration": null, "merchant_reference_id": null, "paid_at": "1721645465", "identifier_type": null, "identifier_value": null, "error": null, "paid_amount": 10, "statement_descriptor": null, "gc_error_code": null, "batch_file": null } }
Bad Request - Already Paid
curl -X post 'https://sandboxapi.rapyd.net/v1/payouts/complete/payout_9f07b29ce0217b80268d49ccb0458267' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here'
{ "status": { "error_code": "ERROR_PAYOUT_AMOUNT_EXCEEDED_ORIGINAL_AMOUNT", "status": "ERROR", "message": "The request tried to complete a payout in the sandbox, but the total amount of the payout has already been paid out. The request was rejected. Corrective action: Create another payout.", "response_code": "ERROR_PAYOUT_AMOUNT_EXCEEDED_ORIGINAL_AMOUNT", "operation_id": "5425a74f-ec6d-4b68-a6d2-91482fc674bd" } }
Bad Request - Payout Not Found
curl -X post 'https://sandboxapi.rapyd.net/v1/payouts/complete/payout_1e5161063e775499726356c74c22474a' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here'
{ "status": { "error_code": "ERROR_UPDATE_PAYOUT", "status": "ERROR", "message": "The request tried to update a payout, but the payout was not found. The request was rejected. Corrective action: For the 'payout' path parameter, use the ID of a valid payout, a string starting with 'payout_'.", "response_code": "ERROR_UPDATE_PAYOUT", "operation_id": "532ad5c5-9948-4115-bead-e47d51dd3644" } }
Unauthorized
curl -X post 'https://sandboxapi.rapyd.net/v1/payouts/complete/payout_1e5161063e775499726356c74c22474a' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here'
{ "status": { "error_code": "UNAUTHENTICATED_API_CALL", "status": "ERROR", "message": "The request was rejected due to an authentication issue. Corrective action: Check the status of your account in the 'Account Details' page of the Client Portal.", "response_code": "UNAUTHENTICATED_API_CALL", "operation_id": "17a30d47-3c0a-4ed3-8384-937f849326df" } }