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.

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",
    "currency": "ARS",
    "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",
  "currency": "EUR",
  "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",
  "currency": "EUR",
  "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",
  "currency": "EUR",
  "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",
  "currency": "ARS",
  "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",
    "currency": "EUR",
    "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",
    "currency": "ARS",
    "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"
    }
}
PreviousQuoteNextCurrency exchange - Front end

Last updated 18 days ago

Was this helpful?

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

Country Codes