88mids

Payment Statuses

TX typeEventStatus
ReceivedImmediatePENDING
ApprovedTemporarySUCCESS
FailedTemporaryFAIL 
FailedFinalREJECTED, REVERSED

Status Flow

Immediate ResponseCallbackPotential Callback
REJECTED
PENDINGSUCCESSREVERSED

Payment Postbacks

Each postback is a general HTTP POST request. The final amount in the postback may differ from the initial payment amount; therefore, the merchant must verify and update the amount value when receiving the postback. Multiple payment requests with the same orderId are allowed. Each payment gets its own unique id.

Payment Postback Table

TitleFormatExplanation
idStringSystem Transaction ID
orderIdStringMerchant Order ID
statusStringTransaction status
amountdoubleTransaction amount
currencyStringAlphabetic currency code, e.g. INR
hashStringData signature for encryption

Postback Payload

header name ‘apikey’, header value <merchant-apikey>

{

  "id": "912z-1zs4-acvb-1bre3",

  "orderId": "merchtx12345",

  "status": "SUCCESS",

  "amount": 100.00,

  "currency": "PKR",

  "hash": "<system-generated-hash>"

}

Callback- & Return URLs

ValueDescriptionFormatProvided by
callbackUrlCallback/postbacks are sent herestringMerchant
returnUrlCustomer is returned here after paymentstringMerchant
paymentUrlThe payment page to serve the customerstringPSP

Data Signature of Payload

Encryption VariablesValues and explanations
apikey<confidential>
Secret key<confidential>
Encryption formatConcatenated and signed by using SHA-256 algorithm
Parameter orderThe order must be in exact order as per below sample
Parameter examplesecretKey=xxx&amount=xx.xx&currency=xx&id=xx&orderId=xx&status=xx
Amount format2 digits after comma Ex: 100.999 -> 100.99, 100 -> 100.00
Result stringWill be signed using SHA-256

On this page