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

    • Overview
    • Error Code
    • Payment API
    • PaymentPage 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
    • Collection payment method
    Request URL
    • /v1/payproPK/payinApi
    Request Method
    • POST
    Header
    Parameter NameRequiredTypeDescription
    merchantNoYesstringNone
    Body
    Parameter NameRequiredTypeDescription
    tradeNoYesstringTransaction number (should be unique; recommended format: YYYYMMDDHHMMSS + random number)
    paymentTypeNostringPayment type. Optional values: easypaisa, jazzcash.
    amountYesstringAmount (no decimals allowed, minimum amount is 100 PKR)
    nameYesstringPayer's name
    mobileYesstring
    The payer's mobile phone number (a 10-digit number starting with 3 or an 11-digit number starting with 03) must be a real account
    emailYesstringPayer's email (should use gmail.com domain, e.g., [email protected])
    customerCertNostringPayer's identification number (CNIC - 13 digits - format XXXXXYYYYYYZ) with strong validation
    remarkNostringRemarks; this field will be returned as is
    timestampYesstringTimestamp (e.g., 1715941383720)
    custIdNostringCustomer ID. It is recommended to use a complex string to represent the user ID, e.g., m2hkCRuTCK5HKpEkA0ok. Note: For large amounts, the same customer ID with the same amount can only appear once within one hour.
    signYesstringExcept for sign, the remaining fields should be sorted by the first letter to form key1=value1key2=value2, and then use the app secret as salt to perform MD5 encryption. The final sign should be in lowercase.
    notifyUrlYesstringAsynchronous callback URL
    Example of Request Parameters
    {
     
        "amount": "10000",
        "tradeNo": "order45692193212we3111",
        "notifyUrl": "https://example.com/notify",
        "name": "John Doe",
        "customerCert": "1730123456789",
        "email": "[email protected]",
        "mobile": "3115112345",
        "remark": "Payment for order #456",
        "custId": "m2hkCRuTCK5HKpEkA0ok",
        "timestamp": "1730431256223",
        "sign": "5b161d2dc6f09a061953bf9e062fcbf1"
    }
    
    Response Result
    Parameter NameRequiredTypeDescription
    msgYesstringRequest result (when returning "success", it only indicates that this request was successful; it should not be used for merchant-side logic judgment)
    codeYesstringRequest response code (when returning "0000", it only indicates that this request was successful; it should not be used for merchant-side logic judgment). For specific error codes, please refer to the business error code enumeration.
    timestampYesstringTransaction time
    successYesstringTransaction result
    dataYesObjectReturned object
    data.platFormTradeNoYesstringpaypro transaction number, unique
    data.statusYesstringRequest result; merchants can use it for logical processing. When the result is "0000", it indicates that the transaction is successful; "0015" indicates processing; all others are error codes and can be treated as failures.
    data.descYesstringError description
    data.remarkYesstringContent returned from the request (returned as is)
    Example of Successful Return
    {
        "msg": "success",
        "code": "0000",
        "data": {
            "platFormTradeNo": "2kvziksxbvxg062d",
            "remark": "Payment for order #456",
            "status": "0015",
            "desc": "CREATED"
        },
        "success": true,
        "timestamp": 1731653732177
    }
    
    Last Updated:
    Contributors: wsc
    Prev
    Error Code
    Next
    PaymentPage API