Recipients
Overview
Recipients represent the destination accounts where funds can be sent. Before making a payout to a user, you must create a recipient that links the user to a specific bank account, wallet, or payment method.
Prerequisites
- ✅ You have authenticated and obtained an access token (Getting Started)
- ✅ You have created a verified user (User Management)
- ✅ You have your API credentials ready
Recipient Lifecycle
graph LR
A[User Verified] --> B[Create Recipient]
B --> C[Recipient Active]
C --> D[Ready for Payouts]
Guides in This Section
1. Recipient Management
Learn how to:
- Create recipients for different account types
- Retrieve recipient information
- List all recipients for a user
Key endpoints:
POST /v1/recipients- Create recipientGET /v1/recipients- List recipients by userGET /v1/recipients/{recipientId}- Get recipient details
2. Account Types Reference
Detailed documentation for each supported account type:
- USD: ACH, WIRE, SWIFT
- Mexico: SPEI
- Colombia: PSE
- Crypto: WALLET (USDC, USDT)
- LATAM: ARS, BRL, CLP, PEN, UYU, and more
Supported Account Types
| Account Type | Currency | Region | Description |
|---|---|---|---|
ACH | USD | USA | Domestic US bank transfers |
WIRE | USD | USA/International | Wire transfers |
SWIFT | USD | International | International SWIFT transfers |
SPEI | MXN | Mexico | Mexican bank transfers via CLABE |
PSE | COP | Colombia | Colombian bank transfers |
WALLET | USDC/USDT | Global | Crypto wallet transfers |
ARS | ARS | Argentina | Argentine peso transfers |
BRL | BRL | Brazil | Brazilian real via PIX |
CLP | CLP | Chile | Chilean peso transfers |
PEN | PEN | Peru | Peruvian sol transfers |
PEUSD | USD | Peru | USD transfers in Peru |
UYU | UYU | Uruguay | Uruguayan peso transfers |
See the Account Types Reference for the complete list and requirements.
Quick Example
Create a SPEI Recipient (Mexico)
curl -X POST https://api.balampay.com/v1/recipients \
-H "Authorization: Bearer $TOKEN" \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-H "idempotency-key: $(uuidgen)" \
-d '{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"first_name": "Juan",
"last_name": "García",
"account": {
"account_type": "SPEI",
"clabe": "012345678901234567"
}
}'Create an ACH Recipient (USA)
curl -X POST https://api.balampay.com/v1/recipients \
-H "Authorization: Bearer $TOKEN" \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-H "idempotency-key: $(uuidgen)" \
-d '{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"address": "123 Main St, San Francisco, CA 94105",
"account": {
"account_type": "ACH",
"routing_number": "021000021",
"account_number": "123456789",
"type": "checking",
"bank_name": "JPMorgan Chase",
"bank_address": "383 Madison Ave, New York, NY 10179",
"doc_type": "passport",
"doc_number": "AB1234567"
}
}'Recipient Types
Individual Recipients
For payments to individual persons.
Required fields:
first_namelast_name- Account-specific fields
Business Recipients
For payments to companies and organizations.
Required fields:
company_name- Account-specific fields
Automatic inference:
- Set
type: "business"explicitly, OR - Provide
company_namefield, OR - Use business document types (e.g.,
doc_type: "nit"for PSE)
HTTP Status Codes
| Status | Description |
|---|---|
201 Created | New recipient was created |
202 Accepted | Recipient already exists (duplicate detection) |
400 Bad Request | Validation error |
401 Unauthorized | Missing/invalid authentication |
404 Not Found | User or recipient not found |
409 Conflict | Idempotency key conflict |
Next Steps
After creating recipients:
- Create Payouts - Send funds to recipients
- Set up Webhooks - Get real-time notifications
Support
- Email: [email protected]
- Full Recipient Guide: recipients.md
- Account Types: account-types.md
Updated 7 days ago
