Skip to main content

Transaction Status Codes

The table below lists common respcd values returned by QFPay APIs.
respcd = 0000 indicates the API request was processed successfully.The actual transaction result should be determined using business fields such as txstatus or by calling the Transaction Enquiry API.

Successful Response

CodeDescription
0000Transaction successful

Request & Signature Errors

CodeDescription
1102Duplicate request
1103Request format error
1104Request parameter error
1108Signature error
2011Transaction serial number repeats
Integration Guidance
  • Validate required parameters
  • Ensure correct signature algorithm and sorting
  • Ensure out_trade_no is unique per merchant

Device & Store Status Errors

CodeDescription
1105Device not activated
1106Invalid device
1107Device not allowed
1241Store does not exist or status incorrect
1242Store configuration error
1243Store disabled
1251Store configuration issue (under investigation)
Integration Guidance
  • Verify merchant onboarding configuration
  • Confirm device/store activation status
  • Contact technical support if persistent

Order State Conflicts

CodeDescription
1125Transaction already refunded
1142Order already closed
1181Order expired
1260Order already paid
1261Order not paid
1262Order already refunded
1263Order already cancelled
1264Order already closed
1266Transaction amount mismatch
1267Order information mismatch
1268Order does not exist
Integration Guidance
  • Always query transaction status before retrying
  • Avoid resubmitting payment requests blindly
  • Ensure idempotent handling in your system

Processing / Pending States

CodeDescription
1143Order not paid yet or customer entering password
1145Transaction processing
1298Network delay — if payment may have been completed, do not retry
Integration Guidance
  • Do not immediately retry
  • Implement delayed polling via Transaction Enquiry API
  • Prevent duplicate payment submission

Payment Channel Errors

CodeDescription
1147WeChat Pay transaction error
1201Insufficient balance
1202Invalid or expired payment code
1203Merchant account error
1204Bank error
1205Transaction failed
1212UnionPay overseas payment code required
1297Banking system busy
2005Customer payment code expired
Integration Guidance
  • Allow customer to retry payment
  • Suggest alternative payment method if applicable

Refund Restrictions

CodeDescription
1150T0 settlement does not support cancellation
1155Refund request denied
1265Refund not allowed during restricted time window
1269Insufficient unsettled balance
1270Currency does not support partial refund
1271Transaction does not support partial refund
1272Refund amount exceeds refundable limit
Integration Guidance
  • Verify original transaction status before refund
  • Check refundable balance
  • Confirm payment channel refund rules

System / Risk / Network Errors

CodeDescription
1100System under maintenance
1101Reversal error
1136Transaction not found or not operable
1250Transaction forbidden
1252System error during request
1254System exception
1294Transaction prohibited by bank (risk control)
1295Network congestion
1296Network congestion, retry later
Integration Guidance
  • Retry only when appropriate (e.g. 1295, 1296)
  • Do not automatically retry risk-related errors (e.g. 1294)
  • Log full request and response for troubleshooting

Recommended Handling Strategy

  1. Implement idempotency using out_trade_no
  2. Query transaction status before retrying
  3. Apply retry logic only for safe retry codes
  4. Log all error responses for audit and reconciliation