API Doc
Languages
Languages
  • English
  • 简体中文
Languages
Languages
  • English
  • 简体中文
    • API Signature Process
    • API General Code
    • 1. Callback
      • Merchant Subscription Event Notification - Signature Process
    • 2. Account
      • 2.1 Check Account Balance
        GET
      • 2.2 Payment Statement
        POST
      • 2.3 Payout Statement
        POST
    • 3. Payout
      • Payout Product Flow Chart
      • Open API Channel List
      • 3.1 Create Payout
        POST
      • 3.3 Payout Callback Notification
        POST
      • 3.2 Check Payout Status
        GET
    • 4. Bills Payment
      • Bills Payment Product Flow Chart
      • Bills Payment ChannelCode List
      • 4.1 Create Static Virtual Account
        POST
      • 4.2 Batch Create Static Virtual Account
        POST
      • 4.3 Update Static Virtual Account
        POST
      • 4.4 Get Virtual Account Cashier Short Url
        POST
      • 4.5 Get Virtual Account's Payments
        GET
      • 4.6 Repayment verification API
        POST
      • 4.7 Cancel Static Virtual Account
        POST
      • 4.8 Virtual Account Callback Notification
        POST
    • 5. QrCode
      • QrCode Product Flow Chart
      • QrCode ChannelCode List
      • 5.1 Create QR Code
        POST
      • 5.2 Get QR Code Detail
        GET
      • 5.3 Get QR Code Payments
        GET
      • 5.4 Cancel QR Code
        POST
      • 5.6 Update QR Code
        POST
      • 5.5 QR Code Callback Notification
        POST
    • 6. Bank Transfer
      • Bank Transfer Product Flow Chart
      • Bank Transfer ChannelCode List
      • 6.1 Batch Create Bank Transfer Account
      • 6.2 Batch Update Bank Transfer Account
      • 6.3 Bank Transfer Account Payments
      • 6.4 Bank Transfer Callback Notification
    • 7. Web payment
      • Web Payment Product Flow Chart
      • Web Payment ChannelCode List
      • 7.1 Create Web Payment
      • 7.2 Check Web Payment Status
      • 7.3 Web Payment Channels
      • 7.4 Web Payment Callback Notification
    • 8. Refund
      • Refund Support Channel List
      • 8.1 Create Refund
      • 8.2 Get Refund Payments
      • 8.3 Refund Callback Notification
    • 9. Checkout
      • 9.1 Query the channels supported by the cashier counter
      • 9.2 Create the checkout counter
      • 9.3 Check the cashier counter
      • 9.4 Close the cashier counter
      • 9.5 Checkout Payment Notification
    • 10. Direct Debit
      • Direct Debit Channel Code List
      • Authorization
        • 10.1 Create Authorization Link
        • 10.2 Check Authorization Status
        • 10.3 Cancel Authorization
        • 10.4 Authorization Notification
      • Orders
        • 10.5 Create Payment
        • 10.6 Check Payment Status
        • 10.7 Payment Notification
    • 11. Ekyc
      • Ekyc Channel Code List
      • 11.1 Ekyc Init
      • 11.2 Ekyc Check Result
      • 11.3 Ekyc Notification
    • Schemas
      • Response body

    API Signature Process

    Introduction#

    Developers can operate by adding a signature. After the signature is generated, the developer can compare it with the information generated by the request in his own code to know whether the data is correct.#
    Illustrate:#
    The process and method of signature with PayCools are mainly introduced here.

    Signature process#

    1.
    Get the request parameters that need to be encrypted, excluding byte type parameters, such as files and byte streams, remove the sign field, and remove the parameters whose value is empty (Both of null and empty);
    2.
    Sort in ascending order according to the key value ASCII code of the first character (in ascending alphabetical order), if the same character is encountered, it will sort in ascending order according to the key value ASCII code of the second character, and so on;
    3.
    Combine the sorted parameters and their corresponding values into the format of parameter=parameter value, and connect these parameters with the & character. At this time, the generated string is the string to be signed.

    Signature original string example#

    # reqeust body
    {
    	"amount": 100.00,
    	"appId": "f90addc4861540ef9312e87d8f360e08",
    	"version":"1.0"
    }
    
    #step 2 sign origin string
    amount=100.00&appId=f90addc4861540ef9312e87d8f360e08&version=1.0
    

    Generate signature#

    Sign the signature string with the merchant's private key
    Key length is RSA2 4096 bits
    For related code examples, please refer to the following encrypted java demo
    Java
    Next
    API General Code
    Built with