QR (Argentina)

This payment solution is only available in Argentina

A QR code is a Quick Response code that, when scanned, allows users to view merchant information such as their account number and transaction value. The QR code is generated in the response as a payment instruction, containing the sales order information. It will include general details of the charge and the amount to be collected.

How it works?

Generation of the QR Code: To accept payments via QR code, the seller must generate a QR code linked to the transaction amount.

Scanning the Code: Once the QR code has been generated, the customer must scan it with their mobile device. This can be done using their bank's app

Confirmation and Authorization: When the code is scanned, a payment screen will open on the customer's device, allowing them to review the transaction details and complete the payment.

Transaction Processing: The information is transmitted through a secure network, and the transaction is processed. The funds are transferred from the customer's account to the operator's account.

Payment Confirmation: Both parties involved receive instant notifications confirming the success of the transaction.

You will be able to use it at the banks listed here.

  • A QR Bank Transfer payment order expires by default within 7 days after the creation date.

  • However, the expiration date can be set according to our clients requirements between 1 to 10 days

  • This payment solution is only available in Argentina

QR

POST https://api.stage.localpayment.com/api/payin

Headers

Name
Type
Description

Authorization*

string

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

Request Body

Name
Type
Description

paymentMethod*

OBJECT

Mandatory. Payment method details

paymentMethod.type*

string

Mandatory.wallet

paymentMethod.code*

string

Mandatory. Select among the codes available in each country here NOTE: yment method code might affect the collection currency in bimonetary countries. For more info, see the side note on currency field.

paymentMethod.flow*

string

Mandatory. The payment Method data is collected through an additional form or plugin (REDIRECT). Currently, only REDIRECT flow is allowed.

externalId*

string

Mandatory. An ID that is meaningful to you and your system. It must be unique and alphanumeric, no characters allowed.

country*

string

Mandatory. "GTM" Guatemala in ISOCode3 format

amount*

number

Mandatory. Amount to charge to your end user. For GTQ, use 2 decimal places separated by a dot.

currency*

string

Mandatory. The currency in which the amount is expressed. It could be A) the local currency of the selected country or B) the account's currency. If A), the amount will be charged to the customer's cash payment method. If B) and it differs from the local currency, the amount specified will be credited to your account and Localpayment will perform a Foreign Exchange operation to collect the amount expressed in local currency. In bimonetary countries, paymentMethod.code resolves possible ambiguity: the payment will be executed in the currency of that specific payment method network. e.i.: SPID (USD); SPEI (MXN)

accountNumber*

string

Mandatory. Your Localpayment account number in which the amount will be credited.

conceptCode*

string

Mandatory. Choose the suitable concept code from our Concept Code List. Based on our experience, the most usual are 0039 (remittances) and 0040 (corporate payments).

comment

string

Optional. A comment related to the transaction. It should be something meaningful to your business.

merchant*

OBJECT

Mandatory. Party Object.

type*

string

Mandatory. Possible values: COMPANY

merchant.name*

string

merchant.name

payer*

OBJECT

Mandatory. Party Object. Information related to the payer.

type*

string

Mandatory. Possible values: COMPANY, INDIVIDUAL

name*

string

Mandatory. Individual first name / company name

lastName

string

Mandatory for individuals / Ignored for companies.

document*

OBJECT

Mandatory.Party Object. Valid identity document.

document.type*

string

Mandatory. Document types: Here

document.id*

string

Mandatory. Identity document Id. Usually numbers or combination of numbers and letters.

userReference

string

Optional. Username or id in your platform.

email

string

Mandatory

phone

OBJECT

Optional. Party Object. Contact phone number

phone.countryCode

string

Optional. Possible values: gt

phone.areaCode

string

Optional. Country Area Code

phone.number

string

Optional. Phone number

birthdate

string

Optional. Individual birthdate / company incorporation date. ISO 8601 format (YYYY-MM-DD)

nationality

string

Optional

address

OBJECT

Optional. Party Object. Contact address

address.street

string

Optional

address.number

string

Optional

address.city

string

Optional

address.state

string

Optional

address.country

string

Optional

address.comment

string

Optional. Additional info, such as floor or apartment number.

intermediaries

array

Optional. Array of Party objects. It represents others parties in the payment chain because of the end user is not your direct customer. Take into account the array sequence: your client should be the first element, the client of your client should be the second and so on, until there are no more intermediaries.

commercialData

OBJECT

Mandatory. Party Object. Extra information related to the goods or services traded.

item.id

string

Mandatory. Item ID

items.quantity

number

Mandatory. Item quantity

items.description

string

Mandatory. Item description

item.title

string

Mandatory. Item title

item.unitPrice

number

Mandatory.Unit price

{
    "transactionType": "PayIn",
    "externalId": "{{externalId}}",
    "internalId": "{{InternalId}}",
    "paymentMethod": {
        "type": "BankTransfer",
        "code": "1050",
        "flow": "REDIRECT"
    },
    "country": "ARG",
    "currency": "ARS",
    "amount": 800.0,
    "accountNumber": "{{yourAccountNumber}}",
    "confirmed": {
        "currency": "ARS",
        "amount": 10.0,
        "fxQuote": 1.0
    },
    "payment": {
        "currency": "ARS",
        "fxQuote": 1.0,
        "financingFee": 0.0,
        "amount": 10.0
    },
    "localTaxes": [
        {
            "code": "0001",
            "percentage": 1.25,
            "description": "IDC",
            "currency": "ARS",
            "fxSource": 1,
            "fxQuote": 0.0,
            "amount": 10.0,
            "account": "{{YourAccountNumber}}"
        }
    ],
    "withHoldings": [],
    "fees": {
        "description": "Fee",
        "currency": "ARS",
        "fxSource": 1,
        "fxQuote": 1,
        "amount": 0.0,
        "account": "{{YourAccountNumber}}"
    },
    "status": {
        "code": "100",
        "description": "INPROGRESS",
        "detail": "The payin is pending the confirmation"
    },
    "qr": {
        "code": "00020101021102080000000041370012com.TESTbind98113071613202899020143220018B00000500110ETA0125015001120322678275512600220000531905012067208748520457345802AR5912Localpayment6014CABA - Almagro6108C1006ACT530303262100706S1590981080004A01263047179",
        "expirationDate": "2024-09-30T16:18:50.322266+00:00"
    },
    "merchant": {
        "type": "COMPANY",
        "name": "name"
    },
    "payer": {
        "bank": {
            "name": "bankName",
            "code": "322",
            "account": {
                "type": "C",
                "number": "3220001805117354710015"
            }
        },
        "type": "INDIVIDUAL",
        "name": "name",
        "lastname": "lastname",
        "document": {
            "type": "CUIL",
            "id": "20963504870"
        },
        "email": "smith@email.email"
    },
    "intermediaries": [],
    "date": {
        "creationDate": "2024-09-23T17:38:47.667+00:00",
        "processedDate": "2024-09-23T17:38:50.4244067",
        "expirationDate": "2024-09-30T16:18:50.322266+00:00"
    },
    "errors": []
}

Examples: QR request

To create a QR payment order through LP api, the request body examples are detailed below.

To complete the payment you must scan the QR in the bank application, where you are previously registered as a user.

{
      "externalId": "{{externalId}}",
      "paymentMethod": {
        "type": "BankTransfer",
        "code": "1050",
        "flow": "REDIRECT"
      },
      "country": "ARG",
      "currency": "ARS",
      "amount": 800,
      "accountNumber": "{{yourAccountNumber}}",
      "conceptCode": "0038",
      "comment": "",
      "merchant": {
        "type": "COMPANY",
        "name": "Name"
      },
      "payer": {
        "type": "INDIVIDUAL",
        "name": "Name",
        "lastName": "lastname",
        "document": {
          "type": "CUIL",
          "id": "20961504870"
        },
        "email": "smith@email.email",
        "bank": {
          "name": "name",
          "code": "322",
          "account": {
            "type": "C",
            "number": "3220001805117354710015"
          }
        }
      },
      "intermediaries": [],
      "transactionType": "PayIn",
      "clientCode": "clientCode",
      "requireAuth": false,
      "file": false
    }'

QR image

QR payment order response will return, among others, an OBJECT named "qr". The elements that compose the "qr" object are: "image","codeBase64" and "expirationDate".

Example: QR response

heck the Payin Status Codes

Payin

Last updated