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

Payout API

    Tips

    Payout API is used to initiate transfer requests to e-wallets or bank accounts.

    • All requests are Post requests, and the data format is json
    Brief Description
    • None
    Request URL
    • /v1/payproPK/payout
    Request Method
    • POST
    Header
    HeaderRequiredTypeDescription
    merchantNoYesstringNone
    Request Body Parameters
    Parameter NameRequiredTypeDescription
    tradeNoYesstringUnique identifier (recommended format: YYYYMMDDHHMMSS + random number)
    amountYesstringPayment amount (no decimals allowed, minimum amount is 1 PKR)
    nameYesstringRecipient's name
    customerCertYesstring
    Recipient's identification number (CNIC - 13 digits - format XXXXX-YYYYYY-Z) with strong validation
    emailYesstringRecipient's email
    mobileYesstringPayer's mobile number (10-digit number starting with 3) with strong validation
    accountTypeYesstringRecipient's account type (BANK or WALLET)
    bankNameYesstring
    Bank name code, see the bank support list (real verification required)
    bankNumberYesstring
    Recipient's bank account number (real verification required)
    notifyUrlYesstringAsynchronous callback URL
    remarkYesstringRequest remarks
    timestampYesstringTimestamp (e.g., 1715941383720)
    signYesstringGenerate the sign by sorting the body fields alphabetically to form key1=value1key2=value2, then use the app secret as salt for MD5 encryption; the final sign should be in lowercase.
    Example of Request Parameters
    {
        "amount": "5000",
        "tradeNo": "order67890",
        "name": "Jane Doe",
        "customerCert": "1730123456789",
        "email": "[email protected]",
        "mobile": "3115112345",
        "accountType": "BANK",
        "bankName": "ALLIED_BANK_LIMITED",
        "bankNumber": "9876543210",
        "notifyUrl": "https://yourcallbackurl.com/notify",
        "remark": "Payment for invoice #1001",
        "timestamp": "1730057564",
        "sign": "xxxx"
    }
    
    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 timestamp
    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": "dxy6779lhk4vofur",
            "remark": "Payment for invoice #1001",
            "status": "0015",
            "desc": "CREATED"
        },
        "success": true,
        "timestamp": 1731656734898
    }
    

    Last Updated:
    Contributors: wsc
    Prev
    PaymentPage API
    Next
    Payment Query API