Internal transfers
Learn how to move funds between your Localpayment accounts both domestic and foreign using the Internal Transfer feature.
Whenever you need to move funds between your Localpayment accounts for whatever purpose, such as consolidating the balance of several accounts or managing cash flow. You can generate an Internal Tarsnfer using the Localpayment Panel or by making a request on the Localpayment API.
There are two types of internal transfers in Localpayment:
Internal Domestic Transfer
¿What is an Internal Domestic Transfer?
An internal domestic transfer allows you to move funds across your Localpayment accounts that are in the same country while keeping the original currency.
Prerequisites
Before requesting an internal domestic transfer, you must have completed the following steps:
1. Environment access
You will need to conclude your onboarding process and your Stage login credentials or your Production credentials (if you are already certified) in order to create a payment via API or Panel.
Important
To produce an internal domestic transfer, make sure you have the appropriate user permissions.
2. Whitelist your IP
Important
If you are going to create an internal domestic transfer via the Panel skip this step.
Before using the APIs, you must whitelist your IP address in the Panel to ensure secure access to LocalPayment services.
3. Generate an Authentication Token
Important
If you are going to create an internal domestic transfer via the Panel skip this step.
To interact with LocalPayment's APIs, you need an authentication token.
Send a POST
request to the Generate an Acces Token endpoint and include your API credentials in the request; to generate an authentication token.
Request example
curl --request POST \
--url https://api.stage.localpayment.com/api/token/ \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"username": "[email protected]",
"password": "1234"
}
'
Successful response
{
"refresh": "eyJ0eXAiOiJKV1QiLCJhbGccM5kYO7o4iOiJIU18jaiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTczNTMxOTkyOSwianRpIjoiZWUxMDE3MTUwY2JhNGM1NTg0MjYyZmRkZTdiOThiNGQiLCJ1c2VyX2lkIjoxMDAwLCJzdXBlcnVzZXIiOnRydWUsImlzX3N0YWZmIjp0cnVlLCJybaCIsImV4cCI62xlcyI6WyJBTEwiXSwiY291bnRyaWVzIjpbIkFMTCJdLCJjb21wYW55IjoiQUxMIiwiY2xpZW50X2NvZGUiOiJBNzaW9uTEwiLCJwZXJtaXcyI6W119.6siymomkQ72yMvHGU9sMCO4h-cxpNgQXor",
"access": "eyJ0eXAiOiJKV1QiLCJhJIUzI1NiJ9.eyJ0b2tlbl90eXBlIbGciOijoiYWNjZXNzIiwiZXhwIjoxNzM1MjMzODI5LCJqdGkiOiJiMDRmNzQ3YWEjOCIsIn4Mjg0YjM0YmMwN2Y4ZjVkOWM0NWFVzZXJfaWQiOjEwMDAsInN1cGVydXNlciI6dHJ1ZSwiaXNfc3RhZmYiOnRy3VudHJpZXMiOljpbIkFsiQUxMIl0sImNvbXBhbnkiOiJBTEwiLCJjbGllbnRfY29kZSI6IkFMTCIsInBlcm1pc3Npb25zIjpdWUsInJvbGVzIMTCJdLlqEnH7GrECJjbbXX0.sWOLKFxCcXQkUcPvTjYceXBp39hDF3-Snc"
}
Info
For security reasons, access tokens are valid for 5 minutes. If your token expires, you can create a new one with a 24-hour validity by using the Refresh the token endpoint.
4. Consult the required code
- Country:
To get the Country in ISO format, check the list that is available in the documentation's Countries, choose the country of interest and navigate to the Country Overview section. - Currency:
To get the CurrencyCode
, check the list that is available in the documentation's Countries, choose the country of interest and navigate to the Country Overview section.
Create an Internal Domestic Transfer
To create a internal domestic transfer, send a POST
request to the Internal Transfers endpoint:
- In
transactionType
set "InternalDomesticTransfer".
Request example
curl --request POST \
--url https://api.stage.localpayment.com/api/internal-transfer \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"externalId": "67ef552a-a12b-4f70-b00d-002160859805",
"country": "ARG",
"currency": "ARS",
"amount": 100,
"transactionType": "InternalDomesticTransfer",
"client": {
"type": "Client",
"from": {
"accountNumber": "032.032.00000078"
},
"to": {
"accountNumber": "032.032.00000079"
}
}
}
'
Successful response
{
"transactionType": "InternalDomesticTransfer",
"externalId": "43ce6200-f391-4cdd-a6eb-aacb7a4e63fd",
"internalId": "11b1c11e-a111-1be1-ac11-ec1111111fc1",
"country": "ARG",
"currency": "ARS",
"clientCode": "1111",
"creationDate": "2024-03-21T19:28:10.630+00:00",
"errors": [],
"status": {
"code": "111",
"description": "COMPLETED",
"detail": "Completed"
},
"amount": 10,
"client": {
"type": "Client",
"from": {
"clientCode": "1111",
"date": null,
"accountNumber": "111.111.11111111",
"externalId": null
},
"to": {
"clientCode": null,
"date": null,
"accountNumber": "111.111.11111111",
"externalId": null,
"amount": 8.7
}
},
"fees": {
"description": "Fee",
"currency": "ARS",
"fxSource": 204.516174,
"fxQuote": 1,
"amount": 1.2,
"account": "111.111.11111111"
},
"localTaxes": [
{
"code": "1111",
"percentage": 1,
"description": "AGP",
"currency": "ARS",
"fxSource": 204.516174,
"fxQuote": 0,
"amount": 0.1,
"account": "111.111.11111111"
}
],
"confirmed": {
"currency": "ARS",
"fxQuote": 1,
"amount": 10
},
"payment": {
"fxQuote": 0,
"creditedAmount": 0,
"amount": 10,
"currency": "ARS"
},
"withHoldings": []
}
Internal Foreign Transfer
¿What is an internal foreign transfer?
An internal foreign transfer allows you to move funds across your Localpayment accounts that are in different countries while keeping the same currency.
Prerequisites
Before requesting an internal foreign transfer, you must have completed the following steps:
1. Environment access
You will need to conclude your onboarding process and your Stage login credentials or your Production credentials (if you are already certified) in order to create a payment via API or Panel.
Important
To produce an internal foreign transfer, make sure you have the appropriate user permissions .
2. Whitelist your IP
Important
If you are going to create an internal foreign transfer via the Panel skip this step.
Before using the APIs, you must whitelist your IP address in the Panel to ensure secure access to LocalPayment services.
3. Generate an Authentication Token
Important
If you are going to create an internal foreign transfer via the Panel skip this step.
To interact with LocalPayment's APIs, you need an authentication token.
Send a POST
request to the Generate an Acces Token endpoint and include your API credentials in the request; to generate an authentication token.
Request example
curl --request POST \
--url https://api.stage.localpayment.com/api/token/ \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"username": "[email protected]",
"password": "1234"
}
'
Successful response
{
"refresh": "eyJ0eXAiOiJKV1QiLCJhbGccM5kYO7o4iOiJIU18jaiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTczNTMxOTkyOSwianRpIjoiZWUxMDE3MTUwY2JhNGM1NTg0MjYyZmRkZTdiOThiNGQiLCJ1c2VyX2lkIjoxMDAwLCJzdXBlcnVzZXIiOnRydWUsImlzX3N0YWZmIjp0cnVlLCJybaCIsImV4cCI62xlcyI6WyJBTEwiXSwiY291bnRyaWVzIjpbIkFMTCJdLCJjb21wYW55IjoiQUxMIiwiY2xpZW50X2NvZGUiOiJBNzaW9uTEwiLCJwZXJtaXcyI6W119.6siymomkQ72yMvHGU9sMCO4h-cxpNgQXor",
"access": "eyJ0eXAiOiJKV1QiLCJhJIUzI1NiJ9.eyJ0b2tlbl90eXBlIbGciOijoiYWNjZXNzIiwiZXhwIjoxNzM1MjMzODI5LCJqdGkiOiJiMDRmNzQ3YWEjOCIsIn4Mjg0YjM0YmMwN2Y4ZjVkOWM0NWFVzZXJfaWQiOjEwMDAsInN1cGVydXNlciI6dHJ1ZSwiaXNfc3RhZmYiOnRy3VudHJpZXMiOljpbIkFsiQUxMIl0sImNvbXBhbnkiOiJBTEwiLCJjbGllbnRfY29kZSI6IkFMTCIsInBlcm1pc3Npb25zIjpdWUsInJvbGVzIMTCJdLlqEnH7GrECJjbbXX0.sWOLKFxCcXQkUcPvTjYceXBp39hDF3-Snc"
}
Info
For security reasons, access tokens are valid for 5 minutes. If your token expires, you can create a new one with a 24-hour validity by using the Refresh the token endpoint.
4. Consult the required code
- Country:
To get the Country in ISO format, check the list that is available in the documentation's Countries, choose the country of interest and navigate to the Country Overview section. - Currency:
To get the CurrencyCode
, check the list that is available in the documentation's Countries, choose the country of interest and navigate to the Country Overview section.
Create an Internal Foreign Transfer
To create an internal foreign transfer, send a POST
request to the Internal Transfers endpoint:
- In
transactionType
set "InternalForeignTransfer".
Request example
curl --request POST \
--url https://api.stage.localpayment.com/api/internal-transfer \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"externalId": "33213405-3836-4a45-b0aa-d318527f6305",
"country": "ARG",
"currency": "USD",
"amount": 100,
"transactionType": "InternalForeignTransfer",
"client": {
"type": "Client",
"from": {
"accountNumber": "032.840.00000005"
},
"to": {
"accountNumber": "068.840.00000001"
}
}
}
'
Successful response
{
"transactionType": "InternalForeignTransfer",
"externalId": "33213405-3836-4a45-b0aa-d318527f6305",
"internalId": "a70614fe-b76c-4f6c-9a5a-7144f2f7ea1f",
"country": "ARG",
"currency": "USD",
"clientCode": "0001",
"creationDate": "2024-03-23T00:38:30.828+00:00",
"errors": [],
"status": {
"code": "200",
"description": "COMPLETED",
"detail": "INTERNAL TRANSFER"
},
"amount": 100,
"client": {
"type": "Client",
"from": {
"accountNumber": "032.840.00000005"
},
"to": {
"accountNumber": "068.840.00000001",
"amount": 95.8
}
},
"fees": {
"description": "Fee",
"currency": "USD",
"amount": 3,
"account": "032.840.00000005"
},
"localTaxes": [
{
"code": "0001",
"percentage": 1.2,
"description": "IDC",
"currency": "USD",
"amount": 1.2,
"account": "032.840.00000005"
}
],
"withHoldings": []
}
Updated 2 months ago