Skip to main content

Documentation Index

Fetch the complete documentation index at: https://doc.haipay.net/llms.txt

Use this file to discover all available pages before exploring further.

Before reading this API documentation, be sure to review API Description Guide

Transaction Limits

Transaction TypeLimit
CollectionQatari Riyal: 0.5-5000

Collection API

Collection Request

Brief Description:
  • Create a collection order
URL: Qatar: /qar/collect/apply
Note: appId needs to use QAR corresponding, user payment success will increase QAR balance
Parameters:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from the backend, must pass the corresponding business ID based on the currency in the URL)
orderIdYesStringMerchant order number (must be unique, max length 48)
nameYesStringRecipient name, used for risk control
phoneYesStringReal mobile number (format reference: Phone Number Format)
emailYesStringReal email address
amountYesStringTransaction amount (unit: local currency, accurate to two decimal places; punctuation marks such as ”,” are prohibited), test environment please use amount below 10QAR
currencyNoStringCurrency (USD, local currency)
payTypeYesStringTransaction type
inBankCodeYesStringPayment Method
callBackUrlYesStringRedirect URL after successful payment
callBackFailUrlYesStringRedirect URL after failed payment
notifyUrlNoStringCallback URL
goodsNameYesStringProduct name
goodsQuantityYesStringProduct quantity
goodsPriceYesStringProduct price
goodsSkuYesStringProduct unique identifier
goodsAvatarYesStringProduct image (https://)
platformYesStringPlatform name
subjectNoStringPayment note
bodyNoStringAdditional description
partnerUserIdYesStringUnique user identifier (e.g., userId), used for risk control system, must be valid, otherwise it will affect the transaction. Format: digits, letters, or symbols -~!@#$%&*()_.
signYesStringSignature
request
{
  "appId": 1054,
  "orderId": "M233323000059",
  "amount": "300",
  "phone": "09230219312",
  "email": "23423@qq.com",
  "name": "test",
  "inBankCode": "CARD",
  "payType": "PAYMENT_GATEWAY",
  "partnerUserId": "149597870",
  "sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw=="
}
response
{
  "status": "1",
  "error": "00000000",
  "msg": "",
  "data": {
    "orderId": "M233323000059",
    "orderNo": "6023071013539074",
    "payUrl": "",
    "sign": "YEoA8Y2JzQFGVzwJSqmemm1Kfv/bfyIfCqv2dp7RNzT5B72AQvdD+nt2nR4sL1HWscvmNHyVt5ovAi7MMhy3ziih/sMph+wPx4YjH3W1h5DyBvSlWvaKfKrK5ViomZ0pPYWydwRHnnRnicxToHK9S6qtSy7Q73O0hdz4hJ9p41Th3ycBl2Q9SeqSZYSY1ohcPDhdyRf2y0prb8rHgpBKzxZ5BKX/1bsE9OmsSEHAEYT8OGgko6aNe8XPAhr4G48cpWTftvnGQuzh0O65nuZRI/PF+Axt2zJCVbFHDDSREI9NlAT82ebDqhlVdxQzKE67D1nxgjb3dPmDUYHOBpmwxQ=="
  }
}
Return Data Parameters Description
ParameterTypeDescription
orderIdStringMerchant Order Number (must be unique)
orderNoStringPlatform Order Number
payUrlStringPayment URL
signStringSignature

Collection Query

Brief Description:
  • Query collection order
  • When “payType = BANK_TRANSFER”, the orderNo is returned synchronously and can be queried directly
  • For other payment methods, after asynchronous notification, use orderNo for second confirmation
URL: Qatar: /qar/collect/query Parameters:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from backend, must match the currency in the URL)
orderIdYesStringMerchant Order Number
orderNoNoStringPlatform Order Number (faster response)
signYesStringSignature
request
{
  "appId": 1054,
  "orderId": "M22222000028",
  "sign": "EmyJGm3ELzG4FsOd0Krs9ncbSjo4oTGuXWML+7djYla3+VAwd9wS17z38p/7U2ZAjroO04XrE7YXcB1o76Dtyipj3h3bJzs7FYma1QNkMUdt9hh7m8U6hMsMQX7vIWHtXNwz4pbTSC75+kQWXaCew7KoE6LXECdJU8AISgNgeki2TK9R0pCfshr0Z2SZBPeuT6OvIH5LdmqgdZhuqnffGU2qnXk4KMkO848e6/WALLBR+LE1wyKHfPnYVcuKSMVYxkvKyyIL5JIPEgW0o5bh4RCbaUn3NZtyYwrU1uQ3ZDFRThm9j6XAQP+LBlmq3nOePqBtp/VDVarRaV+7FbQg3A=="
}
response
{
  "status": "1",
  "error": "00000000",
  "msg": "",
  "data": {
    "orderId": "M22222000028",
    "orderNo": "6023042811314347",
    "amount": "50.00",
    "actualAmount": "0.00",
    "fee": "0.00",
    "status": 1,
    "sign": "fP433ygWVDLVGxYkVnIJj7riGq0U3vyVX+MbBAImxfGLZkZcEAHVEoVYuULZSmXAAXKRSyd67WlDNm+24pougM54ofAoH4HMtCL2tfCoBReFyz3z02AGKkrKE2xWhSpWoqfQoBvzwuN5iGMMu0s9Q1YvqiwJ8WDVIENnmiIyD8qDJN7caHTW2US14/faG+69AvnuIgJ/nu7/jogOlgEYdZdVYU7gcRDE+d47KjlFGswQkJ/h/uzV7cWtUqrtOO7ZnZ3/z33Xx8awokX36QoYcPSWAU0h+Ij9O9402HNhm1eTbYcLU0uI/z8xCAtyAI/tTyiFijpiNlxUKQj+zKsILw=="
  }
}
Return Data Parameters Description
ParameterTypeDescription
orderIdStringMerchant Order Number (must be unique)
orderNoStringPlatform Order Number
amountStringTransaction Amount
actualAmountStringReceived Amount
feeStringFee
statusIntegerStatus (0 Not Started, 1 In Progress, 2 Success (final), 3 Failed (final), -1 Exception Pending Confirmation)
payTimeStringPayment Success Time (available when status=2) (Qatar Time), format: yyyy-MM-dd HH:mm:ss
errorMsgStringFailure Reason (available when status=3)
signStringSignature

Payment Methods

Qatar

CurrencyPayment Type (payType)Payment Code (inBankCode)LimitStatusDescription
QARPAYMENT_GATEWAYCARD0.5-5000AvailableVISA
QARPAYMENT_GATEWAYCARD0.5-5000AvailableMasterCard
QARPAYMENT_GATEWAYCARD0.5-5000AvailableNAPS
QAREWALLETAPPLE_PAY0.5-5000AvailableApple Pay
Last modified on May 28, 2026