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

statusCode
number
required
Return 200 when your webhook endpoint successfully processed the callback and is returning a Postbridge decision payload.
data.0
string
required
The MTI for the response message.For authorization responses, return 0210.
data.39
string
required
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.
data.38
string
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

CodeMeaning
00Approved
08Honour with ID
10Partial approval
11VIP approval
16Update Track 3
77Approved non-cash
85No reason to decline

Refer or call issuer

CodeMeaning
01Refer to issuer
02Refer to issuer special
03Invalid merchant
04Pick up card
05Do not honour
07Pick up card special
12Invalid transaction
13Invalid amount
14Invalid card number
15No such issuer
19Re-enter transaction
21No action taken
25Unable to locate record
28File temporarily unavailable
41Pick up card lost
43Pick up card stolen
CodeMeaning
51Insufficient funds
52No checking account
53No savings account
54Expired card
55Incorrect PIN
56No card record
57Transaction not permitted to cardholder
58Transaction not permitted to terminal
61Exceeds withdrawal limit
62Restricted card
63Security violation
65Exceeds withdrawal frequency or usage limit reached
75PIN tries exceeded
76Invalid account
78No account

Transaction and amount errors

CodeMeaning
20Invalid response
22Suspected malfunction
30Format error
31Bank not supported
34Suspected fraud
35Card acceptor contact acquirer
36Restricted card
38Allowable PIN tries exceeded
39No credit account

Reversal, duplicate, and reconciliation

CodeMeaning
68Response received too late
90Cut-off in progress
91Issuer or switch inoperative
92Routing error
94Duplicate transaction
95Reconciliation error
96System malfunction
98Exceeds cash limit
99Reserved national use

Security and cryptography

CodeMeaning
A1MAC error
A2Key sync error
A3Key not found
A4PIN block error
A5Cryptographic failure

Postilion extended codes

CodeMeaning
P1Timeout no response
P2Stand-in approval
P3Stand-in decline
P4Partial dispense
P5Reversal completed
P6Reversal failed
P7Duplicate advice
P8Message rejected by switch