1. Pay In
Lesspay2.0
  • LESSPAY2 API Reference
    • Get started
    • Authentication
    • Parameter Specifications
    • Pay In
      • Overview
      • Development Guidelines
      • Local Payment Methods (LPMs)
      • Error Codes
      • Card payment
        • Card Payment
        • 3D Secure (3DS) Configuration
        • Fraud & Dispute Webhook Notifications
      • API List
        • Create Payin
        • Fetch Payin
      • Webhook
        • Payin webhook
    • Pay Out
      • Overview
      • Development Guidelines
      • Multiple Transfer Methods
      • Error Codes
      • API List
        • Create Payout
        • Payout Supported Banks
        • Fetch Payout
      • Webhook
        • Payout webhook
  1. Pay In

Local Payment Methods (LPMs)

Local Payment Methods (LPMs) Integration Guide#

Overview#

This guide provides comprehensive instructions for integrating Bank Transfer payment functionality into your merchant system.
Supported Payment Methods:
Mexico Bank Transfer (way_code: TAZAPAY_BANK_PUSH_MXN): Bank transfer payment for Mexican market
Brazil PIX (way_code: TAZAPAY_PIX_BRL): Instant payment system for Brazilian market
Integration Mode:
Currently, these payment methods only support OpenAPI Mode (pay_access_type=2), allowing merchants to have full control over the payment experience through direct API integration.

Mexico Bank Transfer Integration#

Overview#

Mexico Bank Transfer allows customers to complete payments through traditional bank transfer methods. After creating an order, the system returns bank account information, and customers complete the payment by transferring funds to the designated account.

Payment Flow#

Request Parameters#

Required Parameters:
ParameterTypeRequiredDescription
target_amountIntegerYesPayment amount in minor units (e.g., 10000 = 100.00 MXN)
target_currencyStringYesMust be MXN for Mexico
transaction_typeStringYesMust be PAY_IN
notify_urlStringYesCallback URL for payment notifications
request_idStringYesUnique merchant order ID
fail_urlStringYesRedirect URL on payment failure
success_urlStringYesRedirect URL on payment success
product_nameStringYesProduct/service name
descriptionStringYesOrder description
expired_timeStringOptionalOrder expiration time in seconds (default: 1800)
way_codeStringYesMust be TAZAPAY_BANK_PUSH_MXN
way_typeStringYesMust be BANK_TRANSFER
api_versionStringYesMust be v2
pay_access_typeIntegerYesMust be 2 for OpenAPI Mode
channel_extraObjectYesMexico-specific payment data
channel_extra.customer_dataObjectYesCustomer information
channel_extra.customer_data.customer_typeStringYesCustomer type: individual or business
channel_extra.customer_data.nameStringYesCustomer full name
channel_extra.customer_data.emailStringYesCustomer email address
channel_extra.customer_data.countryStringYesMust be MX
channel_extra.customer_data.tax_idStringYesMexico RFC (tax ID), format: CABG771027SA8
channel_extra.customer_data.identity_idStringYesMexico CURP (national ID), format: CABG771027HDFRTS00

Request Example#

Request Example#

Response Example#

{
    "msg": "SUCCESS",
    "code": 0,
    "data": {
        "order_data": {
            "payOrderId": "P2011337513994018818",
            "payOrderDetailIdEncode": "0c11add2dd42e4853755e2ea325c2e100b4aec92f6cc8f83efff27d6c5362f8f",
            "mchOrderNo": "M20260115321902",
            "payOrderDetailId": "PD2011337514476363778",
            "payOrderDetailState": 1,
            "payData": "https://checkout.doopayment.com/process/M20260115321902",
            "payDataType": "payurl",
            "orderState": 1,
            "payinId": "payin_abc123xyz",
            "paymentAttemptId": "attempt_def456uvw",
            "bankDetails": {
                "accountNumber": "012345678901234567",
                "bankName": "BBVA Bancomer",
                "referenceId": "REF123456789"
            }
        },
        "pay_order_id": "P2011337513994018818"
    }
}

Response Parameters#

ParameterTypeDescription
codeIntegerResponse code (0 = success)
msgStringResponse message
data.order_data.payOrderIdStringPlatform order ID
data.order_data.mchOrderNoStringMerchant order ID
data.order_data.orderStateIntegerOrder state (1 = pending payment)
data.order_data.payDataStringPayment page URL
data.order_data.payDataTypeStringPayment data type (payurl)
data.order_data.payinIdStringPayIn transaction ID
data.order_data.paymentAttemptIdStringPayment attempt ID
data.order_data.bankDetailsObjectBank transfer information
data.order_data.bankDetails.accountNumberStringBank account number to transfer to
data.order_data.bankDetails.bankNameStringBank name
data.order_data.bankDetails.referenceIdStringTransfer reference number (must be included in transfer)

Response Handling#

1.
Extract Bank Details: Parse the bankDetails object from the response
2.
Display to User: Show the following information to the customer:
Bank name (bankName)
Account number (accountNumber)
Reference number (referenceId) - Important: Customer must include this in the transfer
Payment amount
3.
Redirect Option: You can redirect users to payData URL which displays a pre-formatted payment page
4.
Wait for Callback: Monitor the webhook notification to confirm payment completion

Brazil PIX Payment Integration#

Overview#

PIX is Brazil's instant payment system that allows customers to complete payments by scanning a QR code or copying a payment code. The payment is processed instantly, providing a seamless user experience.

Payment Flow#

Request Parameters#

Required Parameters:
ParameterTypeRequiredDescription
target_amountIntegerYesPayment amount in minor units (e.g., 100 = 1.00 BRL)
target_currencyStringYesMust be BRL for Brazil
transaction_typeStringYesMust be PAY_IN
notify_urlStringYesCallback URL for payment notifications
request_idStringYesUnique merchant order ID
fail_urlStringYesRedirect URL on payment failure
success_urlStringYesRedirect URL on payment success
product_nameStringYesProduct/service name
descriptionStringYesOrder description
expired_timeStringOptionalOrder expiration time in seconds (default: 1800)
way_codeStringYesMust be TAZAPAY_PIX_BRL
way_typeStringYesMust be WALLET_TRANSFER
api_versionStringYesMust be v2
pay_access_typeIntegerYesMust be 2 for OpenAPI Mode
channel_extraObjectYesBrazil-specific payment data
channel_extra.customer_dataObjectYesCustomer information
channel_extra.customer_data.nameStringYesCustomer full name
channel_extra.customer_data.emailStringYesCustomer email address
channel_extra.customer_data.countryStringYesMust be BR
channel_extra.customer_data.tax_idStringYesBrazil CPF (tax ID), 11 digits, e.g., 07341712503

Request Example#

Response Example#

{
    "msg": "SUCCESS",
    "code": 0,
    "data": {
        "order_data": {
            "payOrderId": "P2018272331339788290",
            "targetCurrency": "BRL",
            "targetAmount": "10.00",
            "mchOrderNo": "M20260115321902",
            "description": "Recharge_Order",
            "payOrderDetailId": "PD2018272336196792322",
            "payOrderDetailState": 1,
            "successUrl": "https://www.doopayment.com/en/",
            "failUrl": "https://www.doopayment.com/en/",
            "productName": "Recharge_Order",
            "orderState": 1,
            "apiVersion": "v2",
            "payOrderDetailIdEncode": "0717b9c683fb786fd0469053d5b92b451a93fec8869adc7ea9dbc5c2737e6de3",
            "requestId": "M20260115321902",
            "notifyUrl": "https://doo-remit-dev.doopayment.com/doo-remit/api/callback/teable/lesspay/payment",
            "payData": "https://lesspay2-pay-dev.doopayment.com/pay-process?payOrderDetail=0717b9c683fb786fd0469053d5b92b451a93fec8869adc7ea9dbc5c2737e6de3",
            "payDataType": "qrCode"
        },
        "pay_order_id": "P2018272331339788290"
    }
}

Response Parameters#

ParameterTypeDescription
codeIntegerResponse code (0 = success)
msgStringResponse message
data.order_data.payOrderIdStringPlatform order ID
data.order_data.mchOrderNoStringMerchant order ID
data.order_data.orderStateIntegerOrder state (1 = pending payment)
data.order_data.payDataStringPayment page URL
data.order_data.payDataTypeStringPayment data type (qr_content)

Response Handling#

1.
Display to User: You have two options:
Payment Page__: Redirect users to payData URL which displays a pre-formatted PIX payment page with QR code
2.
Copy Code Option: Allow users to copy the qrCodePayData string to paste in their banking app
3.
Wait for Callback: PIX payments are instant - monitor webhook for immediate confirmation

Webhook (Payment Callback Notification)#

Overview#

After payment processing (success or failure), the system sends a callback notification to the notify_url you provided in the order request.

Callback Format#

Mexico Bank Transfer Callback:
{
  "api_version": "v2",
  "description": "Lesspay Order",
  "fail_url": "https://www.doopayment.com",
  "order_status": "SUCCEED",
  "order_status_int": 2,
  "pay_order_id": "P2011337513994018818",
  "product_name": "Lesspay Order",
  "request_id": "M20260115321902",
  "success_url": "https://www.doopayment.com",
  "target_amount": "100.00",
  "target_currency": "MXN",
  "way_code": "TAZAPAY_BANK_PUSH_MXN",
  "way_type": "BANK_TRANSFER"
}
Brazil PIX Callback:
{
  "api_version": "v2",
  "description": "Lesspay Order",
  "fail_url": "https://www.doopayment.com",
  "order_status": "SUCCEED",
  "order_status_int": 2,
  "pay_order_id": "P2011337513994018819",
  "product_name": "Lesspay Order",
  "request_id": "M20260115321902",
  "success_url": "https://www.doopayment.com",
  "target_amount": "1.00",
  "target_currency": "BRL",
  "way_code": "TAZAPAY_PIX_BRL",
  "way_type": "WALLET_TRANSFER"
}

Callback Parameters#

ParameterTypeDescription
order_statusStringPayment status: SUCCEED, FAILED, PENDING, etc.
order_status_intIntegerStatus code: 2 = Success, 3 = Failed, 1 = Pending
pay_order_idStringPlatform order ID
request_idStringYour original merchant order ID
target_amountStringPayment amount
target_currencyStringPayment currency
way_codeStringPayment method code
way_typeStringPayment type

Callback Verification#

To verify the authenticity of callback notifications, please refer to:
Payin Webhook Verification
Response Requirements:
Your server must return HTTP 200 with body SUCCEED to acknowledge receipt
If acknowledgment is not received, the system will retry notifications

Order Status#

Status Codes#

StatusStatus CodeDescription
PENDING1Order created, awaiting payment
SUCCEED2Payment successful
FAILED3Payment failed
CLOSED4Order closed/cancelled
For detailed parameter specifications, please refer to:
Parameter Specifications

Modified at 2026-02-27 03:07:47
Previous
Development Guidelines
Next
Error Codes
Built with