Overview
When Cardcore sends a Postbridge transaction webhook to your endpoint, your server must reply with a JSON payload that contains a statusCode and a data object of ISO-style fields.
Your response tells Cardcore whether to approve or decline the transaction.
Response shape
{
"statusCode": 200,
"data": {
"0": "0210",
"2": "506441ZGqxNsuJ0149",
"3": "000000",
"4": "000000001000",
"11": "123456",
"18": "5411",
"28": "D00000010",
"37": "PUR954760058",
"39": "00",
"38": "0000",
"41": "TERM01",
"43": "TEST MERCHANT LAGOS NG",
"102": "0111531666",
"123": "000010000001201"
}
}
Required fields
Return 200 when your webhook endpoint successfully processed the callback and is returning a Postbridge decision payload.
The MTI for the response message.For authorization responses, return 0210.
The Postbridge response code that determines whether the transaction is approved or declined.Use 00 for approval.Use a decline code such as 96 when you want to reject the transaction.
The authorization code.Include this when the transaction is approved.Omit it for declines unless your Cardcore flow explicitly requires it.
Approved transaction example
Use 39 = "00" for an approved transaction.
{
"statusCode": 200,
"data": {
"0": "0210",
"2": "506441ZGqxNsuJ0149",
"3": "000000",
"4": "000000001000",
"11": "123456",
"18": "5411",
"28": "D00000010",
"37": "PUR954760058",
"39": "00",
"38": "0000",
"41": "TERM01",
"43": "TEST MERCHANT LAGOS NG",
"102": "0111531666",
"123": "000010000001201"
}
}
Declined transaction example
Use a non-success response code in field 39 to decline the transaction.
This example uses 96, which maps to SYSTEM_MALFUNCTION.
{
"statusCode": 200,
"data": {
"0": "0210",
"2": "506441ZGqxNsuJ0149",
"3": "000000",
"4": "000000001000",
"11": "123456",
"18": "5411",
"28": "D00000010",
"37": "PUR954760058",
"39": "96",
"41": "TERM01",
"43": "TEST MERCHANT LAGOS NG",
"102": "0111531666",
"123": "000010000001201"
}
}
Integration notes
- Echo the transaction fields that your webhook handler received unless Cardcore tells you to modify them.
- Set field
39 to the decision code your business logic chooses.
- Include field
38 only for approved transactions unless your processor requires otherwise.
- Return the JSON response immediately from your webhook handler after your authorization decision is made.
Response codes
Use one of these Postbridge response codes in field 39.
Approved and successful
| Code | Meaning |
|---|
00 | Approved |
08 | Honour with ID |
10 | Partial approval |
11 | VIP approval |
16 | Update Track 3 |
77 | Approved non-cash |
85 | No reason to decline |
Refer or call issuer
| Code | Meaning |
|---|
01 | Refer to issuer |
02 | Refer to issuer special |
03 | Invalid merchant |
04 | Pick up card |
05 | Do not honour |
07 | Pick up card special |
12 | Invalid transaction |
13 | Invalid amount |
14 | Invalid card number |
15 | No such issuer |
19 | Re-enter transaction |
21 | No action taken |
25 | Unable to locate record |
28 | File temporarily unavailable |
41 | Pick up card lost |
43 | Pick up card stolen |
| Code | Meaning |
|---|
51 | Insufficient funds |
52 | No checking account |
53 | No savings account |
54 | Expired card |
55 | Incorrect PIN |
56 | No card record |
57 | Transaction not permitted to cardholder |
58 | Transaction not permitted to terminal |
61 | Exceeds withdrawal limit |
62 | Restricted card |
63 | Security violation |
65 | Exceeds withdrawal frequency or usage limit reached |
75 | PIN tries exceeded |
76 | Invalid account |
78 | No account |
Transaction and amount errors
| Code | Meaning |
|---|
20 | Invalid response |
22 | Suspected malfunction |
30 | Format error |
31 | Bank not supported |
34 | Suspected fraud |
35 | Card acceptor contact acquirer |
36 | Restricted card |
38 | Allowable PIN tries exceeded |
39 | No credit account |
Reversal, duplicate, and reconciliation
| Code | Meaning |
|---|
68 | Response received too late |
90 | Cut-off in progress |
91 | Issuer or switch inoperative |
92 | Routing error |
94 | Duplicate transaction |
95 | Reconciliation error |
96 | System malfunction |
98 | Exceeds cash limit |
99 | Reserved national use |
Security and cryptography
| Code | Meaning |
|---|
A1 | MAC error |
A2 | Key sync error |
A3 | Key not found |
A4 | PIN block error |
A5 | Cryptographic failure |
Postilion extended codes
| Code | Meaning |
|---|
P1 | Timeout no response |
P2 | Stand-in approval |
P3 | Stand-in decline |
P4 | Partial dispense |
P5 | Reversal completed |
P6 | Reversal failed |
P7 | Duplicate advice |
P8 | Message rejected by switch |