1. HASH
Sipay API Documentation
  • Overview
    • Getting Started
  • Authentication
    • Generating Token
      POST
  • Installments
    • Getting Installment Information
      POST
    • Installments
      POST
  • Commissions
    • Commission
      POST
  • HASH
    • Hash Information
  • Non Secure Payment
    • Non-Secure Payment Flow
    • Non-Secure Card Payment
      POST
    • Non-Secure Recurring Payment
      POST
    • Non-Secure Insurance Payment
      POST
    • Non-Secure Pre-Authorization Payment
      POST
  • 3D Secure Payment
    • 3D Secure Payment Flow
    • 3D Secure Card Payment
      POST
    • 3D Secure Recurring Payment
      POST
    • 3D Secure Pre-Authorization Payment
      POST
    • 3D Secure Agriculture Payment
      POST
  • Payment
    • Check Status
      POST
    • Confirm Payment
      POST
    • Complete Payment
      POST
    • Non-Secure and 3D Payment with Sipay
      POST
    • Refund
      POST
  • Payment with Saved Card
    • Card Registration
    • Pay by Card Token
    • Retrieving Saved Card
    • Edit Saved Card
    • Delete Saved Card
    • Non-Secure Payment with Hidden Card
  • Recurring
    • Recurring Query Search
    • Recurring Plan Process
    • Recurring Plan Update
  • Cashout
    • Cashout to Bank
  • Webhook
    • Webhook
  • Status Codes
    • Status Codes
  1. HASH

Hash Information

This guide explains how to generate and use the hash key required for secure API communication. The hash mechanism ensures that requests are authenticated and have not been altered during transmission.
Hash_key should be obtained from the request, and secret_key is the merchant application's secret key (app_secret) provided by Sipay.
The hash key is a mandatory parameter and must be included in the request.
Required parameters may vary depending on the endpoint being used.
When the relevant endpoint is accessed and a preferred programming language is selected in the request section, a sample HASH implementation can be found and copied directly from there.
The following parameters must be sent in the same order as specified.

Important Notes#

Each request should generate a new hash key.
Ensure that all parameters are sent in the correct order.
Any mismatch in parameter values will result in hash validation errors.

Common Errors#

Incorrect parameter order.
Missing or null values.
Using different hash/encryption algorithms.
The same hash key algorithm and parameters can be used for payment transactions (ex: Non Secure and 3DS Payment.)

📌

The parameters required to decrypt the hash are as follows:#

hash_key
app_secret

HASH VALIDATION#

In 3D Secure payments, after the transaction is completed, the user is redirected to the merchant’s success or failure URL. Since this URL may be publicly accessible and can be triggered by unauthorized users. including parameters such as status, invoice_id, order_id, and hash_key in the redirect URL is recommended and and incoming requests should be verified using the hash_key.
For recurring payments, a POST request is sent to the merchant webhook for each renewal transaction. Since webhook URLs are typically publicly accessible, these requests should also be verified using the hash_key to ensure request authenticity.
For 3D Secure payments, the status parameter can be set to 0 or 1.
For the Recurring Webhook, the $status parameter can be Completed or Fail.
For Refund Webhook, the status parameter can be Completed or Fail.
Python
Shell
Go
JavaScript
Java
Swift
C
C#
Ruby
Dart
R
Modified at 2026-04-20 14:10:51
Previous
Commission
Next
Non Secure Payment
Built with