PayproPaypro
  • 🇮🇩 Indonesia
  • 🇵🇰 Pakistan
  • 🇻🇳 Vietnam
  • 🇵🇭 Philippines
  • 🇰🇪 Kenya
  • 🇪🇬 Egypt
  • 🇧🇷 Brazil
  • 🇲🇽 Mexico
  • 🇮🇩 Indonesia
  • 🇵🇰 Pakistan
  • 🇻🇳 Vietnam
  • 🇵🇭 Philippines
  • 🇰🇪 Kenya
  • 🇪🇬 Egypt
  • 🇧🇷 Brazil
  • 🇲🇽 Mexico
  • Vietnam

    • Overview
    • Error Code
    • Payment API
    • Payout API
    • Payment Query API
    • Payout Query API
    • Payment Notify API
    • Bank List
    • Balance Inquiry API

Payment API

    Tips

    • All requests are Post requests, and the data format is json
    Brief Description

    This API allows merchants to initiate a payin transaction in Vietnam.

    Request URL
    • /v1/payproVN/payin
    Request Method
    • POST
    Header
    ParameterRequiredTypeDescription
    merchantNoYesstringMerchant number
    Request Body Parameters
    NameRequiredTypeDescription
    signYesstringUse all fields except sign, sort them alphabetically, and concatenate as key1=value1key2=value2.... Then use the app secret as a salt for MD5 encryption. The sign should be in lowercase.
    timestampYeslongTimestamp of the transaction.
    amountYesstringAmount (minimum 50000, no decimals).
    tradeNoYesstringUnique transaction ID (recommended format: yyyymmddhhmmss+random number).
    bankNameYesstringFixed value "VietQR".
    remarkNostringAdditional remarks (will be returned as is).
    notifyUrlYesstringAsynchronous callback URL, e.g., https://www.abc.com/. If not provided, the system will redirect to the default success page.
    Request Example
    {
      "amount": "50000",
      "tradeNo": "133323392",
      "notifyUrl": "1",
      "bankName": "VietQR",
      "sign": "82b217c2801f3c3ff490b733d2bfa296",
      "timestamp": "1729153461856",
      "remark":"test"
    }
    
    Response Parameters
    Parameter NameRequiredTypeDescription
    msgYesstringRequest result (only indicates the success of the current request, not for merchant-side logic).
    codeYesstringResponse code (only indicates the success of the current request, not for merchant-side logic). For specific error codes, refer to the business error code enumeration.
    timestampYesstringTransaction timestamp.
    successYesstringTransaction result.
    dataYesObjectReturned object.
    data.platFormTradeNoYesstringUnique platform transaction number.
    data.statusYesstringRequest result. "0000" indicates success, "0015" indicates processing, and other values indicate error codes for failure handling.
    data.descYesstringError description.
    data.remarkYesstringRequest content returned (as is).
    data.paymentLinkYesstringPayment link, i.e., cashier link.
    Successful Response Example
    {
        "msg": "success",
        "code": "0000",
        "timestamp": 1729153481590,
        "success": true,
        "data": {
            "platFormTradeNo": "jfr6npomvg2qaa49",
            "status": "0015",
            "desc": "CREATED",
            "remark": "test",
            "paymentLink": "https://www.196-189vn.info/vn/payment/VND70401VN055030692"
        }
    }
    
    Last Updated:
    Contributors: wsc
    Prev
    Error Code
    Next
    Payout API