Settlement

Learn how to receive and send funds from Localpayment accounts to external financial institutions' accounts.

Wire In

¿What is a Wire In?

A Wire In is the process of transferring funds from an external financial institution's account to your Localpayment account. This transaction impacts your Localpayment account balance and also is reflected in reports.

It is an operation that impacts the balance of the suppliers' accounts. The information is reflected in the account balance and in reports.

A Wire In can be processed in two ways: via the API flow or through your Localpayment Panel .


Wire In Flow

  1. The Merchant requests a Wire In via API or Panel and the transaction is given the Pending Credit status.
  2. The operation team has to validate the transaction.
  3. If the information is complete and correct, the transaction is assigned the Completed status; otherwise, is assigned the Rejected status.

📘

Info

If two weeks pass since the transaction was created, it automatically expires.

The receipt file format can be PNG, JPG, JPEG, PDF, or TXT. Consider the following example:


Prerequisites

Before requesting a wire in, 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 a wire in, make sure you have the appropriate user permissions.


2. Whitelist your IP

⚠️

Important

If you are going to create a wire in 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 the wire in 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 Currency Code, check the list that is available in the documentation's Countries, choose the country of interest and navigate to the Country Overview section.

Create a Wire In

To create a Wire In via API, send a POST request to the Wire In endpoint:

  • In transactionType set "WireIn".

Request example

curl --request POST \
     --url https://api.stage.localpayment.com/api/account/wire-in \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "transactionType": "WireIn",
  "currency": "ARS",
  "country": "ARG",
  "amount": 50000,
  "comment": "Comment",
  "externalId": "{{externalId}}",
  "accountNumber": "accountNumber",
  "to": {
    "name": "Bankname",
    "swift": "BCBHDOSD",
    "address": "BankAddress",
    "accountNumber": "BankAccountNumber",
    "accountName": "BeneficiaryBankName",
    "beneficiaryAddress": "BeneficiaryAddress"
  },
  "from": {
    "name": "OrderingBankName",
    "swift": "BICAARBS",
    "address": "OrderingBankAddress",
    "accountNumber": "BankAccountNumber",
    "routingNumber": null,
    "accountName": "accountName",
    "beneficiaryAddress": "BeneficiaryAddress",
    "intermediaryBankName": null,
    "intermediaryBankSwift": null,
    "intermediaryAccountNumer": null
  }
}
'

Successful response

{
  "transactionType": "WireIn",
  "externalId": "258648ed-df89-422c-9eb0-e585014ed65e",
  "internalId": "0f1d47dc-e9c6-4fdf-8ba1-c9b39116574d",
  "country": "ARG",
  "currency": "ARS",
  "clientCode": "0001",
  "creationDate": "2024-12-28T13:47:58.808+00:00",
  "errors": [],
  "status": {
    "code": "100",
    "description": "PENDING_CREDIT",
    "detail": "WIRE IN"
  },
  "accountNumber": "032.032.00000082",
  "amount": 49500,
  "fees": {
    "description": "Fee",
    "currency": "ARS",
    "amount": 500,
    "account": "032.032.00000082"
  },
  "localTaxes": [],
  "withHoldings": [],
  "comment": "Test"
}

📘

Info

Check the posible transaction status that you may obtein as response.


Webhooks/Callbacks

If you have your notifications enabled, you will receive a message (webhook) to let you know when the status of your wire in changes. Look for some webhook wire in examples.



Wire Out

¿What is a Wire Out?

To withdraw the funds received through Localpayment and deposit them into your bank account, you can perform a 'wire out' to transfer those funds from your Localpayment account to your external bank.

There are 2 types of settlement:

  1. Balance sheet settlement. It is when the money is released and passes to the balance. When AVAILABLE on the account.
  2. Settlement to the client: After 15 days of a payment, that money is released to the client, but he will be able to withdraw the money when he reaches or exceeds the minimum settlement.

A Wire In can be processed in two ways: via the API flow or through your Localpayment Panel.


Wire Out Flow

  1. The Merchant requests a Wire Out via API or Panel and the transaction is given the Pending Authorization status.
  2. Once an Authorizer user approves the request, the transaction is assigned the Received status; otherwise, it moves to the Rejected status.
  3. The Treasury team validates the transaction. If everything is okay, it will move to the Pending Debit status; if the data is incorrect, the operation will be Rejected.
  4. The funds are sent to the merchant's account, and the transaction is marked as Completed.

Prerequisites

Before requesting a wire out, 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 a wire out , make sure you have the appropriate user permissions.


2. Whitelist your IP

⚠️

Important

If you are going to create the wire out 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 the wire out 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 Currency Code, check the list that is available in the documentation's Countries, choose the country of interest and navigate to the Country Overview section.

Create a Wire Out

To create a Wire Out via API, send a POST request to the Wire Out endpoint:

  • In transactionType set "WireOut".

Request example

curl --request POST \
     --url https://api.stage.localpayment.com/api/account/wire-out \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "to": {
    "name": "BBVA Arg.",
    "swift": "BCSARG",
    "address": "YourAccountNumber",
    "accountName": "YourAccountName",
    "accountNumber": "YourAccountNumber",
    "routingNumber": "routingNumber",
    "beneficiaryAddress": "beneficiaryAddress"
  },
  "amount": 1000,
  "comment": "WireOut_External",
  "country": "ARG",
  "currency": "ARS",
  "externalId": "{{externalId}}",
  "accountNumber": "032.032.00000016",
  "transactionType": "WireOut"
}
'

Successful response

{
  "transactionType": "WireOut",
  "externalId": "7532a2f4-f467-4baa-ba02-3c4b20a19f3e",
  "internalId": "c0e4ec40-b5b6-19aa-8c2d-b1ba05080100",
  "country": "ARG",
  "currency": "ARS",
  "clientCode": "0001",
  "creationDate": "2024-12-29T18:41:49.940+00:00",
  "errors": [],
  "status": {
    "code": "100",
    "description": "RECEIVED",
    "detail": "WIRE OUT"
  },
  "accountNumber": "032.032.00000016",
  "amount": 965,
  "fees": {
    "description": "Fee",
    "currency": "ARS",
    "amount": 35,
    "account": "032.032.00000016"
  },
  "localTaxes": [],
  "withHoldings": [],
  "comment": "WireOut_External"
}

📘

Info

Check the posible transaction status that you may obtein as response.


Webhooks/Callbacks

If you have your notifications enabled, you will receive a message (webhook) to let you know when the status of your wire out changes. Look for some webhook wire out examples.