Send payments follow a structured flow: discover the payment method for the destination country, collect recipient bank details, lock an exchange rate quote, then execute the transfer.
interface PayoutMethod {
id : number ;
method_name : string ;
country : string ;
currency : string ;
base_currency : string ;
}
interface BeneficiaryPaymentMethod {
id : string ;
beneficiary_id : string ;
payment_method_id : number ;
account_details : Record < string , string >;
created_at : string ;
}
interface SendMoneyQuote {
quote_id : string ; // valid for 5 minutes
from_currency : string ;
to_currency : string ;
rate : string ;
amount : string ;
payout_data : {
total_transaction_fee_in_from_currency : string ;
customer_sent_amount : string ;
customer_receive_amount : string ;
customer_total_amount_due : string ;
};
}
Step 1: Get Supported Payout Countries
Retrieve the full list of countries where Yativo supports outbound payments:
GET /payment-methods/payout/countries
curl -X GET 'https://api.yativo.com/api/v1/payment-methods/payout/countries' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
{
"status" : "success" ,
"data" : [
{ "country" : "Chile" , "iso3" : "CHL" },
{ "country" : "Mexico" , "iso3" : "MEX" },
{ "country" : "Brazil" , "iso3" : "BRA" },
{ "country" : "Peru" , "iso3" : "PER" },
{ "country" : "Colombia" , "iso3" : "COL" },
{ "country" : "Argentina" , "iso3" : "ARG" }
]
}
Step 2: Get Payout Methods for Destination
Retrieve available payment rails for the destination country. Use the ISO 3166-1 alpha-3 country code:
GET /payment-methods/payout?country={iso3}
Destination country ISO 3166-1 alpha-3 code (e.g. CHL, MEX, BRA).
curl -X GET 'https://api.yativo.com/api/v1/payment-methods/payout?country=CHL' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
{
"status" : "success" ,
"data" : [
{
"id" : 21 ,
"method_name" : "Bank Transfer" ,
"country" : "CHL" ,
"currency" : "CLP" ,
"base_currency" : "CLP"
}
]
}
Note the id — this is your payment_method_id for subsequent steps.
Each payment method requires different recipient details (CLABE, account number, routing number, etc.). Retrieve the exact fields needed:
GET /beneficiary/form/show/{payment_method_id}
The payment method ID from Step 2.
curl -X GET 'https://api.yativo.com/api/v1/beneficiary/form/show/21' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Step 4: Create a Beneficiary
Create a beneficiary record for the recipient:
Recipient’s email address.
ISO 3166-1 alpha-3 country code.
"individual" or "business".
curl -X POST 'https://api.yativo.com/api/v1/beneficiaries' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: unique-key-here' \
-d '{
"first_name": "Carlos",
"last_name": "Mendez",
"email": "carlos@example.com",
"country": "CHL",
"type": "individual"
}'
{
"status" : "success" ,
"data" : {
"id" : "benef_01HX9KZMB3F7VNQP8R2WDGT4E5" ,
"first_name" : "Carlos" ,
"last_name" : "Mendez" ,
"country" : "CHL"
}
}
Step 5: Save Recipient Bank Details
Submit the recipient’s bank account details using the fields returned in Step 3:
POST /beneficiaries/payment-methods
The beneficiary ID from Step 4.
Payment method ID from Step 2.
Key-value pairs of the required fields (e.g. account_number, bank_code, clabe, pix_key).
Chile (CLP bank transfer)
Mexico (SPEI CLABE)
Brazil (PIX)
curl -X POST 'https://api.yativo.com/api/v1/beneficiaries/payment-methods' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: unique-key-here' \
-d '{
"beneficiary_id": "benef_01HX9KZMB3F7VNQP8R2WDGT4E5",
"payment_method_id": 21,
"account_details": {
"account_number": "12345678",
"bank_code": "001",
"account_type": "checking"
}
}'
The response includes a saved payment method id for use in Step 7.
Step 6: Get an Exchange Rate Quote (Recommended)
Lock in a rate before executing the payment. Quotes are valid for 5 minutes :
Source currency code (e.g. USD, EUR).
Destination currency code (e.g. CLP, MXN, BRL).
Amount in the source currency.
curl -X POST 'https://api.yativo.com/api/v1/sendmoney/quote' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: unique-key-here' \
-d '{
"from_currency": "USD",
"to_currency": "CLP",
"amount": 500
}'
{
"status" : "success" ,
"data" : {
"quote_id" : "4a72ecf8-6c8a-4e38-9971-8aabe9f785ed" ,
"from_currency" : "USD" ,
"to_currency" : "CLP" ,
"rate" : "950.00" ,
"amount" : "500.00" ,
"payout_data" : {
"total_transaction_fee_in_from_currency" : "11.15" ,
"customer_sent_amount" : "500.00" ,
"customer_receive_amount" : "462925.00" ,
"customer_total_amount_due" : "511.15"
}
}
}
Quotes are valid for 5 minutes . Execute the send money request within this window using the quote_id.
Step 7: Send Money
Execute the payment using the quote ID:
The quote ID from Step 6. Guarantees the locked rate.
curl -X POST 'https://api.yativo.com/api/v1/sendmoney' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: unique-payout-key' \
-d '{
"quote_id": "4a72ecf8-6c8a-4e38-9971-8aabe9f785ed"
}'
Alternatively, initiate a quick payout directly from your wallet without a quote:
curl -X POST 'https://api.yativo.com/api/v1/wallet/payout' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: unique-payout-key' \
-d '{
"debit_wallet": "USD",
"payment_method_id": 21,
"amount": 500
}'
Step 8: Track the Payment
Monitor the payment status in real-time:
GET /transaction/tracking/{transactionId}
curl -X GET 'https://api.yativo.com/api/v1/transaction/tracking/a0e9e50e-81be-4bd0-9941-0151e68b9e97' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
{
"status" : "success" ,
"data" : [
{ "tracking_status" : "Payment credited to beneficiary" , "created_at" : "2026-04-01T10:03:22Z" },
{ "tracking_status" : "With Beneficiary's Bank/Rail" , "created_at" : "2026-04-01T10:02:54Z" },
{ "tracking_status" : "Processed by Yativo" , "created_at" : "2026-04-01T10:01:45Z" },
{ "tracking_status" : "Send money initiated" , "created_at" : "2026-04-01T10:00:00Z" }
]
}
Manage Saved Payment Methods
List All Saved Methods
GET /beneficiaries/payment-methods/all
Update a Saved Method
PUT /beneficiaries/payment-methods/update/{id}
Delete a Saved Method
DELETE /beneficiaries/payment-methods/delete/{id}
Transaction Purpose
For compliance, submit the purpose of a transaction after initiating it:
Yativo supports payouts to LATAM (CHL, MEX, BRA, PER, COL, ARG), USA, and Europe. Contact your integration team for additional corridors.