Documentation V3
  • Localpayment documentation V3
  • INTRODUCTION TO OUR SOLUTION
    • Intro to our Documentation
    • Intro to Payment Methods in Emerging Markets
    • Merchant Dashboard
      • Dashboard Navigation
      • Login
      • User Roles
      • Roles
      • Users
      • Whitelist your IPs
      • Whitelist your BINs
      • Setup your Webhooks
      • Reports
        • Balance
        • Projected Balance
        • Activity
        • Transaction Detail
        • FIDES Report
      • Virtual accounts
      • Refunds
        • Refund Bank Transfer
        • Refund Card Capture
        • Refund Cash
      • Chargeback
      • Internal Domestic Transfer
      • Internal Foreign Transfer
      • Currency Exchange
        • Create
      • Wire In
      • Wire Out
    • Intro to FX operations
    • Business definitions
      • Payins
      • Payouts
    • Onboarding & Integration
    • Postman Collection
  • ENVIRONMENTS
    • Environments
  • BEFORE A PAYMENT
    • Access Token
    • Validations
      • Document Validation
      • Bank Account Validation
      • Validate BIN
    • Holidays
    • Search Payment Method
    • Search Bank Codes
    • Cash Agents Geolocalization
    • Installments Plan Quote
    • Currency Exchange Quote
    • Billing Service
      • Create
        • Mexico
      • Check Billing status
      • Download Billing
  • REQUEST A PAYMENT
    • Payins
      • Bank Transfer
        • Direct debit
          • DEBIN (Argentina)
          • Transfiya (Colombia)
          • Wallet Fri (Guatemala)
        • Virtual Account
          • Mexico
            • Request Individual
            • Request Batch
            • Check Virtual account
            • Delete Virtual account
            • Enable or Disable Virtual Account
          • Brazil
            • Request Individual
            • Check Virtual account
            • Alias ​​configuration
          • Argentina
            • Request Individual
            • Request Batch
            • Check virtual account
            • Delete Virtual account
          • Refund Virtual Account
        • Online Reference Code Payments
          • Mexico
        • Refund Bank Transfer
        • Cancel
        • APMs
          • CODI (Mexico)
          • ETPAY (Chile)
          • Fintoc (Chile)
          • Boleto (Brazil)
          • PIX (Brazil)
            • Refund Pix
          • PSE (Colombia)
          • QR (Bolivia)
          • QR (Guatemala)
          • QR (Argentina)
          • QR (Perú)
      • Cash
        • Cash
          • APMs
            • Boleto (Brazil)
        • Cancel
        • Refund Cash
      • Debit Card
        • Capture
        • Refund Capture
      • Credit Card
        • Capture
        • Create Authorization
        • Capture Authorization
        • Cancel Authorization
        • Refund Capture
        • Installments
        • Save Cards
          • Save Card
          • Get Card
          • Delete Card
        • 3D-Secure
        • Validate card
        • Chargebacks
          • Notification
          • Send documentation
          • Close Chargeback
    • Payin Subscriptions
      • Create a subscription
      • Update subscription
      • Cancel
    • Payin Subscriptions Plan
      • Create subscription plan
      • Update subscription plan
      • Get subscription plan
    • Payouts
      • Search available banks
      • Create
        • Argentina
        • Bolivia
        • Brazil
        • Chile
        • Colombia
          • Colombia ACH
          • Colombia Transfiya
        • Costa Rica
        • Dominic Republic
        • Guatemala
        • Honduras
        • Mexico
        • Panama
        • Peru
        • Kenya
      • Manual Upload
        • Create Batch Upload
        • Batch Pending Authorization
        • Cancel Batch Pending Authorization
        • Batch Activity
      • Proof of Payment (POP)
      • Cancel
      • Commit payout
      • Attach documents
      • Ripplenet getway
    • Payouts Double Signature
      • Authorize
    • Checkout
      • Webcheckout
        • Credit Card
        • Debit Card
        • Cash
        • Bank Transfer
      • Link Payment
      • Frequent Items
      • Iframe
      • Smart Checkout/ iframe
      • Virtual Pos
      • Plugins
        • Magento
        • Shopify
        • Google Pay
        • WooCommerce
  • AFTER A PAYMENT
    • Check Status
    • Check Payment
    • Check Payment list
    • Check Subscription
    • Account Balance
      • Balance Reconciliation
      • Current Balance Amount
    • Withholding Certificates
    • Proof of Payment
    • RFI - Documentation
  • SETTLEMENT & EXCHANGE
    • Wire In
    • Wire Out
    • Currency Exchange Bulk
      • Quote
      • Bulk
      • Currency exchange - Front end
    • Internal Transfers
      • Internal Domestic Transfer
      • Internal Foreign Transfer
  • NOTIFICATIONS
    • Callbacks - Webhooks
      • Configurations
      • Payins
        • Payin Bank Transfer
        • PSE Colombia
        • Payin Virtual Account
        • Payin Cash
        • Payin Credit Card
        • Payin Debit Card
      • Payouts
    • SFTP- Email Reports
  • API REFERENCE GUIDE
    • Validation Error Codes
    • Transaction Type & Status
      • Payin
      • Subscriptions
      • Payout
      • Chargeback
      • Credit
      • Currency Exchange
      • Debit
      • Expenses
      • Internal Transfer
      • Recall
      • Refund
      • Return
      • Recurring Fee
      • Wire in
      • Wire out
    • Payout Methods + SLA
      • Latam
    • Payin Methods + SLA
      • Argentina
      • Bolivia
      • Brazil
      • Chile
      • Colombia
      • Dominican Republic
      • Guatemala
      • Mexico
      • Panama
      • Peru
    • Currency Codes
      • Latam
    • Country Codes
      • Latam
    • Bank codes
      • Latam
        • Argentina
        • Bolivia
        • Brazil
        • Chile
        • Colombia
        • Costa Rica
        • Dominican Republic
        • Guatemala
        • Honduras
        • Mexico
        • Panamá
        • Peru
    • Bank account validations
      • Latam
        • Argentina
        • Bolivia
        • Brazil
        • Chile
        • Colombia
        • Costa Rica
        • Dominican Republic
        • Guatemala
        • Mexico
        • Panama
        • Peru
    • Document Validations
      • Argentina
      • Bolivia
      • Brazil
      • Chile
      • Colombia
      • Costa Rica
      • Dominican Republic
      • El Salvador
      • Guatemala
      • Honduras
      • Mexico
      • Panama
      • Peru
    • Concept Codes
  • FLOWS AND CHARACTERISTICS
    • Account Currencies
    • Involved Parties
    • Payin Status Flow
      • Payins
        • Payin Status Flow - Card
        • Payin Status Flow - Bank
        • Payin Status Flow -Cash
      • Refund - Card
      • Refund - Cash & Bank
      • Chargeback
    • Payout Status Flow
      • Payout - Bank
      • Return
      • Recall
    • Payin Subscription Flow
      • Payins Subscription Status Flow - Card
    • Virtual Account Status Flow
    • Settlement Status Flow
      • Wire In
      • Wire Out
    • Payin Methods Flow
      • Argentina
      • Bolivia
      • Brazil
      • Chile
      • Colombia
      • Dominican Republic
      • Guatemala
      • Honduras
      • Mexico
      • Panama
      • Peru
  • HOLIDAYS
    • 2021
    • 2022
    • 2023
    • 2024
    • 2025
  • COMPLIANCE
    • Values
    • Prohibited Countries
    • Prohibited Business
    • Compliance Program Docs
    • Licenses
    • Terms & Conditions
  • GLOSSARY
    • Payments Explained
    • FAQ
  • PLUGINS
    • Magento
    • Shopify
    • Google Pay
    • WooCommerce
    • Ripplenet
Powered by GitBook
On this page
  • Exchange - Bulk
  • Example: Without requesting a quote
  • Example: Including the token obtained in a previous quote
  • Example: Providing the credited amount

Was this helpful?

  1. SETTLEMENT & EXCHANGE
  2. Currency Exchange Bulk

Bulk

Transaction of money of two different currencies between accounts of the same customer in the same country.

PreviousQuoteNextCurrency exchange - Front end

Last updated 1 day ago

Was this helpful?

FX transactions are only available between the 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

If you need a hard currency that isn't on the list or want to verify if there is foreign exchange between two hard currencies available in a country, please contact your account manager or our .

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

Name
Type
Description

Atorization*

String

Mandatory. JWT token in format Bearer eyJ0... . For more information about authentication, please refer to Authentication

Request Body

Name
Type
Description

country*

String

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.amount and account.credited.amount are mutually exclusive. Only one of them needs to be reported, and it's value must be greater than 0.

  • If you send account.credited.amount the account.debited.amount will default to zero ("amount":0).

  • Conversely, if you send account.debited.amount, the account.credited.amount may 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"
    }
}

Mandatory. Your from user's country (i.e. country in which the payment will be processed), in ISO format. Please refer to for a full list of supported countries

local currency
support team
Country Codes