Wire Out
Localpayment enables you to withdraw funds from your Localpayment account and deposit them into your external bank account through both API integration and the Dashboard interface. This guide covers the complete Wire Out workflow for fund settlement, detailing the authorization flow, API implementation, and status tracking.
Before You Begin
Ensure you have:
Additional Wire Out Requirements:
- Sufficient available balance in your Localpayment account.
- User role with sufficient permissions for Wire Out authorization (see documentation on roles and permissions).
- External bank account details (SWIFT code, account number, beneficiary information).
- Understanding of your projected balance and settlement timing.
Implementation Guide
Localpayment provides two methods for processing Wire Outs: API integration for automated processing and Dashboard for manual operations.
API Wire Out Processing
Programmatically initiate Wire Out transactions through REST API for automated settlement workflows and system integration.
Dashboard Wire Out Processing
Manually process Wire Out instructions through the Localpayment Dashboard with a visual interface and step-by-step guidance.
Understanding Wire Out Settlement
Wire Out transactions follow a specific authorization and validation workflow :
- Balance Sheet Settlement: Money is released and becomes available in your account balance.
- Client Settlement: After 15 days of payment, funds are released to the client, withdrawable when minimum settlement threshold is met.
Step 1: Process Wire Out via API
To initiate a Wire Out transaction through API, send a POST request to the Wire Out endpoint.
Key Request Parameters
The request requires several key parameters:
| Parameter | Description | Required |
|---|---|---|
transactionType | Must be set to "WireOut" | ✅ |
externalId | Your unique reference ID for the transaction | ✅ |
country | Country code in ISO format where payment will be processed | ✅ |
currency | Currency for the transaction amount | ✅ |
amount | Amount to be debited from your account | ✅ |
accountNumber | Your Localpayment account number | ✅ |
to | Recipient bank details object | ✅ |
to.name | Recipient bank name | ✅ |
to.swift | Bank identification code for international transfers | ✅ |
to.address | Bank's address | ✅ |
to.accountName | Name of the account holder | ✅ |
to.accountNumber | Recipient's account number | ✅ |
to.routingNumber | Transaction identifier code (US transfers) | ❌ |
to.beneficiaryAddress | Address of the account holder | ✅ |
comment | Optional note about the transaction | ❌ |
Example Request
Below is an example using curl:
curl --request POST \
--url https://api.stage.localpayment.com/api/account/wire-out \
--header 'Authorization: Bearer <your_access_token>' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"transactionType": "WireOut",
"externalId": "c048aaea-5916-4dfe-add9-e3a720c42a08",
"country": "ARG",
"currency": "ARS",
"amount": 1000,
"accountNumber": "032.032.00000016",
"to": {
"name": "BBVA Arg.",
"swift": "BCSARG",
"address": "Centro 123",
"accountName": "John Doe",
"accountNumber": "3220001805117354710015",
"beneficiaryAddress": "beneficiaryAddress"
},
"comment": "Centro 456"
}'See all available parameters in the request.
Step 2: Handle the Response
Successful Response
A successfully initiated Wire Out returns transaction details with initial status:
{
"transactionType": "WireOut",
"externalId": "c048aaea-5916-4dfe-add9-e3a720c42a08",
"internalId": "c0e5ec40-b5b6-49aa-8c2d-b1ba01080100",
"country": "ARG",
"currency": "ARS",
"clientCode": "0001",
"creationDate": "2025-09-29T18:41:49.940+00:00",
"errors": [],
"status": {
"code": "100",
"description": "RECEIVED",
"detail": "WIRE OUT"
},
"accountNumber": "032.032.00000016",
"amount": 1000.0,
"fees": {
"description": "Fee",
"currency": "ARS",
"amount": 30.0,
"account": "032.032.00000016"
},
"localTaxes": [],
"withHoldings": [],
"comment": "WireOut_External"
}Key Response Fields
| Parameter | Description | Use Case |
|---|---|---|
externalId | Your reference for the original transaction. | Reconciliation and tracking. |
internalId | Localpayment's unique refund identifier. | Support and audit purposes. |
status.code | Current transaction status code. | Status monitoring. |
creationDate | When the transaction was created. | Audit trail and reporting. |
Error Response
When a Wire Out request fails, you'll receive detailed error information:
{
"status": {
"code": "300",
"description": "REJECTED",
"detail": "[to.address must not be empty]"
},
"timestamp": "2025-09-29 18:52:05.640378596",
"errors": [
{
"code": "300",
"detail": "to.address must not be empty"
}
]
}Step 3: Track Wire Out Status
After initiating a Wire Out, monitor its progress through these methods:
Webhooks (Recommended)
Receive real-time notifications when transaction status changes. Most efficient for production environments.
Status API Endpoint
Query transaction status programmatically. Useful for polling or recovering lost webhook notifications.
Dashboard View
Visual interface for monitoring transactions. Great for manual oversight and detailed transaction analysis.
Common Wire Out Status Codes
| Code | Status | Description |
|---|---|---|
100 | PendingAuth | Transaction created, pending authorization |
101 | PendingDebit | Transaction in process after Localpayment validation |
102 | Received | Transaction authorized |
200 | Completed | Funds successfully transferred to destination bank |
404 | Rejected | Provider code doesn't match account number |
511 | Rejected | Zero amount specified in request |
716 | Rejected | Rejected by administrator during authorization |
717 | RejectedByBank | Transaction rejected by destination bank |
Email Notifications: You will receive email notifications when transactions reach
CompletedorRejectedstatuses, regardless of whether they were initiated via API or Dashboard.
Dashboard Wire Out Processing
Wire Out transactions can also be processed through the Localpayment Dashboard interface. This method provides a visual workflow for managing fund transfers and is particularly useful for:
- One-time settlements** that don't require API automation.
- Administrative oversight** with visual authorization workflows.
- Quick fund transfers without development resources.
For detailed instructions on processing Wire Out transactions through the Dashboard, including step-by-step guidance and interface walkthroughs, please refer to the Dashboard Wire Out Guide.
Testing Your Integration
Test Scenarios
Verify your integration handles these scenarios:
- Successful Wire Out: Process transfer with valid parameters and sufficient balance.
- Insufficient Funds: Attempt transfer exceeding account balance.
- Invalid Bank Details: Test with incorrect SWIFT codes or account numbers.
- Authorization Workflow: Verify pending authorization status and approval process.
Next Steps
Updated about 10 hours ago
