kuickpayDeveloper Portal
Checkout/Handle Return

Handle Return

After the consumer completes (or cancels) payment on Kuickpay's hosted page, they are redirected back to your returnurl with the transaction result in the query string.

Always verify the return signature before marking an order as paid. Query strings can be tampered with — the signature is the only trust anchor.

Return URL Parameters

Kuickpay appends these as query parameters to your returnurl.

ParameterTypeDescription
orderidstringYour original order reference.
transactionidstringKuickpay's internal transaction ID.
amountstringAmount paid.
statusstringSUCCESS, FAILED, or CANCELLED.
responsecodestring00 = success. Other values indicate failure.
signaturestringHMAC-SHA256 signature from Kuickpay. Always verify this.

Example return URL

https://yoursite.com/payment/return?orderid=ORDER-001&transactionid=KP20250506001&amount=1250.00&status=SUCCESS&responsecode=00&signature=abc123...

Handle Response & Redirect

A successful request returns a 200 OK with a JSON body:

{
   "success": true,   
   "responseData": {     
   "sessionID": "ABC-123-XYZ",     
   "redirectURL": "https://gateway.kuickpay.com/pay?session=ABC-123-XYZ",     
   "companyID": "10010"   
  } 
} 

Action: Redirect your user to the redirectURL immediately.

Also store the returned sessionID alongside the values from Step 1 — it is required by the Status API.

Handling All Outcomes

SUCCESS
Payment successful. Verify signature, then fulfill the order.
FAILED
Payment failed. Show an error and allow retry — do not mark as paid.
CANCELLED
Consumer cancelled. Return them to cart — order is unchanged.

Best Practices

✓Verify the signature before reading any other parameter.
✓Use the transactionid from Kuickpay as your primary reconciliation key — not your orderid.
✓Make your return handler idempotent: the consumer may land on it multiple times.
✓Log the full return payload for every transaction — even failures.