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

Was this helpful?

  1. REQUEST A PAYMENT
  2. Payins
  3. Bank Transfer
  4. APMs

QR (Perú)

This payment solution is only available in Perú.

How does 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.

Info

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

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

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

externalId*

string

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

paymentMethod*

object

Mandatory. Payment method details.

paymentMethod.type*

string

Mandatory. ”BankTransfer".

paymentMethod.code*

string

Mandatory. “6080" (QR).

paymentMethod.flow*

string

Mandatory. “DIRECT".

country*

string

currency*

string

Mandatory. The currency in which the amount is expressed. It could be he local currency of the selected country (PEN).

accountNumber*

string

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

conceptCode*

string

comment

string

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

merchant*

object

Mandatory. Merchat details.

merchant.type*

string

Mandatory. Possible value: COMPANY.

merchant.name*

string

Mandatory. Name of business.

payer*

object

Mandatory. Information related to the payer.

payer.type*

string

Mandatory. Possible values: COMPANY, INDIVIDUAL.

payer.name*

string

Mandatory. Individual first name / company name.

payer.lastName*

string

Mandatory for individuals / Ignored for companies.

payer.document*

object

payer.document.type*

string

Mandatory. Document types.

payer.document.id*

string

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

email

string

Mandatory. Email payer.

commercialData

array object

Optional. Extra information related to the goods or services traded.

items.id

string

Mandatory. Item ID.

items.title

string

Mandatory. Item title.

items.description

string

Mandatory. Item description.

items.quantity

number

Mandatory. Item quantity.

item.unitPrice

number

Mandatory. Item unit price.

Example

Request Body

{
      "externalId": "{{externalId}}",
      "paymentMethod": {
        "type": "BankTransfer",
        "code": "6080",
        "flow": "DIRECT"
      },
      "country": "PER",
      "currency": "PEN",
      "amount": 300.00,
      "accountNumber": "{{yourAccountNumber}}",
      "conceptCode": "0001",
      "comment": "",
      "merchant": {
        "type": "COMPANY",
        "name": "Name"
      },
      "payer": {
        "type": "INDIVIDUAL",
        "name": "Name",
        "lastName": "LastName",
        "document": {
          "type": "DNI",
          "id": "12345678"
        },
        "email": "test@email.com"
      },
      "commercialData": {
        "items": [
          {
            "id": "001",
            "title": "test",
            "description": "test",
            "quantity": "6",
            "unitPrice": 50
          }
        ]
      }
    }

Response Body 200 OK

{
    "transactionType": "PayIn",
    "externalId": "{{externalId}}",
    "internalId": "{{internalId}}",
    "paymentMethod": {
        "type": "BankTransfer",
        "code": "6080",
        "flow": "DIRECT"
    },
    "country": "PER",
    "currency": "PEN",
    "amount": 300.00,
    "accountNumber": "{{yourAccountNumber}}",
    "confirmed": {
        "currency": "PEN",
        "amount": 300.00,
        "fxQuote": 0.00
    },
    "payment": {
        "currency": "PEN",
        "fxQuote": 0.00,
        "financingFee": 0.00,
        "amount": 300.00
    },
    "localTaxes": [],
    "withHoldings": [],
    "fees": {},
    "status": {
        "code": "100",
        "description": "INPROGRESS",
        "detail": "The payin is pending the confirmation"
    },
    "qr": {
        "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsAQAAAABRBrPYAAADRUlEQVR4Xu2XbY7bMAxEeQPe/5a8Acs3dBaxdoH2TzsBaiF1Hek5ED9m5I3+k1Fxzvw4HuwYD3aMBzvGgx3jf8MqIjoyMruq5y6LT6QWzFizXHzLiOyoIbMH1ZoXq6ie9dm04Lmt1/UTsFmevTc5DuYnhP4UjL2TWPbepDZI7wdgkAM1WQaf5dSDWvNiU+b6cXxT1gns+IuYBllFwWycuk8UX2tGbHaqG7KaSCXJNZaDqr0Y2wdIbLBWOI0TTiO4sZKKm9wWaNKjfImNxYrNJNDAE0yR38amCejKvw1rloMGaFD8L/YuFYETUw75F9dpJpducstDVmymr5M2VsvF6Tup3YCsWHFWkN0irynV8NxkWw5txuQyazVFAAQip7mHYMCYZvOIBHsBURuQcDdGJoNuhJTTFCPoTy/GKx7+MhrZJgBuqduOlY4zHCbJMiQfWc299P8e0wmWePR26Kyp5vNEXL9jw4oZXWbDQEVDgq6arZg2r2/IebugOEEQkxfbHpxpNSTVVn9S+HovvQVT2TEXVEyW6c9E45tfJ1akkdzSlUEsBIKS7pEasFlsGpEpsjyx8MejQnBjFH4deRKrBLPKe0LRB1bsldGJBQXLAzHq7xZtwCj93HGmBXfYs5rgXnoHpk0jGAJRvWciddytZpwYrajyr6JBCKOurnRieg9GMjCq+2B8aE031myewwKAYBA0qsl3G/RgxfY5LBolA8kNg3DcmKLozSdmGLKYYe6ld2Aa8jx1IjtP9MLNW+k9WJFOAsFjSPDAaFoHixlLmhJ32RPjKr2u+zNWrPakDUqu+aQVetVsxbgiYKymYAYvgqJjvdhan0KA4pM8kvSnGZv/k87EAy/N6OHzaHNgyqgMkGl2/VILGTdjVyB6SVGquRYJvlXBgnH8hyY4Rnjni+tY82O82dGTgWbUooXh6IXPjHFDF8pq1v+Qsm7v+bdguntZjSybcBScFyuOjUsq0nPJZJLbr99wYfr0vq6wb4im7kRkxuTO1Jl19egqmi74CEzbxakLTaOXvNbtGAJWpdWcs39yK7vxYpCw64LklzQTzy0EC7aSIZRELLxBYYbQ76V3YL8dD3aMBzvGgx3jwY7xYMeoX9xXVTGl7tqkAAAAAElFTkSuQmCC",
        "expirationDate": "2025-04-21T16:14:26.0596069",
        "paymentInstructions": "<b><i>From Yape, Plin or other entity aplications, scan the QR code and complete the payment process</i></b>"
    },
    "merchant": {
        "type": "COMPANY",
        "name": "LocalPayment"
    },
    "payer": {
        "type": "INDIVIDUAL",
        "name": "Name",
        "lastname": "Lastname",
        "document": {
            "type": "DNI",
            "id": "12345678"
        },
        "email": test@email.com"
    },
    "date": {
        "creationDate": "2025-04-14T16:14:25.517+00:00",
        "processedDate": "2025-04-14T16:14:28.1901483",
        "expirationDate": "2025-04-21T16:14:26.0596069"
    },
    "paymentInstructions": "<b><i>From Yape, Plin or other entity aplications, scan the QR code and complete the payment process</i></b>",
    "errors": []
}

Response Body 400 Bad Request

{
    "externalId": "{{externalId}}",
    "internalId": "{internalId{}}",
    "status": {
        "code": "300",
        "description": "REJECTED"
    },
    "errors": [
        {
            "code": "300",
            "detail": "Invalid param + [paymentMethod] + doesn´t exists for PER"
        }
    ]
}

QR image

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

Info

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

  • You will be able to use with the following affiliated digital wallet application:

    • YAPE

    • PLIM

    • DALE

    • LIGO

  • QR payments have a minimum amount of 1 PEN and a maximum amount of 500 PEN per transaction, the daily limit is 2000 PEN in total and applies per user.

Complete the Payment with YAPE

PreviousQR (Argentina)NextCash

Last updated 18 days ago

Was this helpful?

Mandatory. "PER" Peru in .

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

Mandatory.

ISOCode3 format
Concept Code List
Valid identity document.