Bulk
Transaction of money of two different currencies between accounts of the same customer in the same country.
FX transactions are only available between the local currency and a hard currency, or vice versa. For example, USD to BRL or BRL to AUS.
The hard currencies available for realizing an FX are listed below:
AUD - Australian dollar
CAD - Canadian dollar
CHF - Swiss franc
EUR - Euro
GBP - Pound sterling
NZD - New Zealand dollar
USD - United States dollar
Exchange - Bulk
POST https://api.stage.localpayment.com/currency-exchange
Transaction of money of two different currencies between accounts of the same customer in the same country
Headers
Atorization*
String
Mandatory. JWT token in format Bearer eyJ0... . For more information about authentication, please refer to Authentication
Request Body
country*
String
Mandatory. Your from user's country (i.e. country in which the payment will be processed), in ISO format. Please refer to Country Codes for a full list of supported countries
externalId*
String
Mandatory. An ID that is meaningful to you and your system. Must be unique
exchangeRateToken*
String
Mandatory. Token provided by the Foreign Exchange service in order to use an upfront agreed exchange rate
account*
OBJECT
Mandatory. Information related to account numbers to transfer
debited*
OBJECT
Mandatory. Information related to debited account number.
currency*
String
Mandatory. The currency in which the debited amount is expressed.
accountNumber*
String
Mandatory. Account number from.
amount*
String
Mandatory. Amount to be charged to you. This parameter must be set to 0 if the account.credited.amount field is greater than 0.
credited*
OBJECT
Mandatory. Information related to the credited account number.
currency*
String
Mandatory. The currency in which the credited amount is expressed.
accountNumber*
String
Mandatory. Account number to.
amount
String
Optional. Amount to credit to your end user.
Important
The fields
account.debited.amountandaccount.credited.amountare mutually exclusive. Only one of them needs to be reported, and it's value must be greater than 0.If you send
account.credited.amounttheaccount.debited.amountwill default to zero ("amount":0).Conversely, if you send
account.debited.amount, theaccount.credited.amountmay not be included in the request.
{
"transactionType": "CurrencyExchange",
"externalId": "",
"internalId": "X11111XX-11X1-111X-X11X-111111X1X1XX",
"country": "ARG",
"exchangeRateToken": "",
"clientCode": "0005",
"creationDate": "2023-03-21T21:25:14.533+00:00",
"errors": [],
"status": {
"code": "200",
"description": "COMPLETED",
"detail": "CURRENCY EXCHANGE"
},
"account": {
"debited": {
"currency": "ARS",
"accountNumber": "111.111.11111111",
"amount": 40
},
"credited": {
"currency": "EUR",
"accountNumber": "000.111.11111111",
"amount": 0.18
},
"appliedFx": 224.54
}
}Example: Without requesting a quote
curl --location '{{api_environment_url}}/api/currency-exchange' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"country": "ARG",
"externalId": "11112222",
"exchangeRateToken": "",
"account": {
"debited": {
"currency": "EUR",
"accountNumber": "111.1111.11111111",
"amount": 10
},
"credited": {
"currency": "USD",
"accountNumber": "000.000.00000000"
}
}
}'{
"transactionType": "CurrencyExchange",
"externalId": "11112222",
"internalId": "e60d4fee-d75f-4bbe-a3b3-06e07a975c3b",
"country": "ARG",
"exchangeRateToken": "",
"clientCode": "0001",
"creationDate": "2023-03-22T13:30:54.892+00:00",
"errors": [],
"status": {
"code": "200",
"description": "COMPLETED",
"detail": "CURRENCY EXCHANGE"
},
"account": {
"debited": {
"currency": "EUR",
"accountNumber": "111.1111.11111111",
"amount": 10
},
"credited": {
"currency": "USD",
"accountNumber": "000.000.00000000",
"amount": 8.62
},
"appliedFx": 0.86
}
}{
"externalId": "11112222",
"internalId": "6fc7e955-7704-4558-8a05-6f4a2c3d9b45",
"errors": [
{
"code": "705",
"detail": "Credited account currency not match"
}
],
"status": {
"code": "705",
"description": "REJECTED",
"detail": "Credited account currency not match"
}
}Example: Including the token obtained in a previous quote
curl --location '{{api_environment_url}}/api/currency-exchange' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"country": "ARG",
"externalId": "11112222",
"exchangeRateToken": "af5606b0-1ce7-48f8-ad8a-734934c601ec",
"account": {
"debited": {
"currency": "EUR",
"accountNumber": "111.111.11111111",
"amount": 10
},
"credited": {
"currency": "USD",
"accountNumber": "000.000.00000000"
}
}
}'{
"transactionType": "CurrencyExchange",
"externalId": "111111",
"internalId": "12bb1070-dfec-1111-1111-c45fbfa3b141",
"country": "ARG",
"exchangeRateToken": "af5606b0-1ce7-1111-1111-734934c601ec",
"clientCode": "0005",
"creationDate": "2023-03-21T21:25:14.533+00:00",
"errors": [],
"status": {
"code": "200",
"description": "COMPLETED",
"detail": "CURRENCY EXCHANGE"
},
"account": {
"debited": {
"currency": "ARS",
"accountNumber": "111.111.11111111",
"amount": 40
},
"credited": {
"currency": "EUR",
"accountNumber": "000.000.00000000",
"amount": 0.18
},
"appliedFx": 224.54
}
}{
"externalId": "111111",
"internalId": "12bb1070-dfec-45bf-89b1-c45fbfa3b141",
"errors": [
{
"code": "703",
"detail": "Accounts countries must be match"
}
],
"status": {
"code": "703",
"description": "REJECTED",
"detail": "Accounts countries must be match"
}
}Example: Providing the credited amount
curl --location '{{api_environment_url}}/api/currency-exchange' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
{
"country": "ARG",
"externalId": "{{externalId}}",
"exchangeRateToken": "",
"account": {
"debited": {
"currency": "ARS",
"accountNumber": "111.111.1111111",
"amount": 0
},
"credited": {
"currency": "USD",
"accountNumber": "000.000.00000000",
"amount": 10
}
}
}
}'{
"transactionType": "CurrencyExchange",
"externalId": "123456789",
"internalId": "c239212c-b8d4-1111-1111-3ae44ce866",
"country": "ARG",
"exchangeRateToken": "",
"clientCode": "0001",
"creationDate": "2025-04-22T02:08:26.998+00:00",
"errors": [],
"status": {
"code": "200",
"description": "COMPLETED",
"detail": "CURRENCY EXCHANGE"
},
"account": {
"debited": {
"currency": "ARS",
"accountNumber": "111.111.11111111",
"amount": 11482.25
},
"credited": {
"currency": "USD",
"accountNumber": "000.000.00000000",
"amount": 10
},
"appliedFx": 1148.224511,
}
}{
"errors": [
{
"code": "707",
"detail": "Fields debited.amount and credited.amount are mutually exclusive. Only one of them must be reported"
}
],
"status": {
"code": "707",
"description": "REJECTED",
"detail": "Fields debited.amount and credited.amount are mutually exclusive. Only one of them must be reported"
}
}Last updated
Was this helpful?