Webhook availability is region limited
Please contact Client Support for availability in Canada.
All webhooks from Berkeley will look like the following:
Field | Value | Is Required | Descriptgh |
program_id | Integer | Yes | ID of a Berkeley Program |
event | String | Yes | event name/identifier (ex: card_status_changed) |
event_time | Date | Yes | Date and time the event is sent from Berkeley |
data | Object | Yes | Contains payload that’s specific to each event (documented below under each event section, under the header data object ) |
Possible Event Names/Identifiers
Event Name |
---|
card_shipped |
card_status_changed |
pin_changed |
settlement |
adjustment |
authorization |
denied_authorization |
account_closed |
NOTE: Please contact Berkeley for Notifications/Webhooks available for your program.
JSON Schema
{
"$id": "https://api.pungle.io/schemas/event",
"title": "Event Notification",
"description": "Schema for Event Notifications from Berkeley",
"type": "object",
"properties": {
"program_id": {
"description": "Berkeley Program ID",
"type": "string"
},
"event": {
"description": "Event name/identifier",
"type": "string"
},
"event_time": {
"description": "Date and time the event is sent from Berkeley",
"type": "string"
},
"data": {
"description": "Event Payload. Varies between different event",
"type": "object",
"oneOf": [
{
"$ref": "/schema/event/card_shipped"
},
{
"$ref": "/schema/event/card_status_changed"
},
{
"$ref": "/schema/event/pin_changed"
},
{
"$ref": "/schema/event/settlement"
},
{
"$ref": "/schema/event/adjustment"
},
{
"$ref": "/schema/event/authorization"
}
]
}
},
"required": ["program_id", "event", "event_time", "data"]
}
card_shipped
data Object (event payload)
Field | Value | Is Required | Description |
account | object | Yes | IDs and identifiers associated with the account of an event (see below) |
timestamp | Date | Yes | Date and time the event is received by Berkeley |
cad | integer | Yes | Processor specific and processor generated card ID. Example: "12534" |
account Object
Field | Value | Is Required | Description |
id | integer | Yes | id of cardholder account |
cardholder_id | integer | Yes | id of cardholder |
processor_reference | string | Yes | Reference to the account on the processor's system |
Sample Request
{
"program_id": 2,
"event": "card_shipped",
"event_time": "2021-09-28T10:23:17.560200822-04:00",
"data": {
"account": {
"id": 1,
"cardholder_id": 1,
"processor_reference": "129201097356"
},
"timestamp": "2021-09-28T10:23:17Z",
"cad": "12534"
}
}
JSON Schema
{
"$id": "https://api.pungle.io/schemas/event/card_shipped",
"title": "Card Shipped Event payload",
"type": "object",
"properties": {
"account": {
"title": "Account Information",
"type": "object",
"properties": {
"id": {
"description": "ID of cardholder account",
"type": "number",
"minimum": 0
},
"cardholder_id": {
"description": "ID of cardholder",
"type": "number",
"minimum": 0
},
"processor_reference": {
"description": "Reference to the account on the processor's system",
"type": "string"
}
}
},
"timestamp": {
"description": "Date and time Berkeley receives the event",
"type": "string"
}
}
}
card_status_changed
data Object (event payload)
Field | Value | Is Required | Description |
account | object | Yes | IDs and identifiers associated with the account of an event (see below) |
timestamp | Date | Yes | Date and time the event is received by Berkeley |
new_raw_status | string | No | Most recent raw status of a card |
suspended | boolean | No | True if card was suspended. False if card was un-suspended. |
cad | string | No | Generated card ID |
account Object
Field | Value | Is Required | Description |
id | integer | Yes | id of cardholder account |
cardholder_id | integer | Yes | id of cardholder |
processor_reference | string | Yes | Reference to the account on the processor's system |
Possible Status Codes (new_raw_status)
Code | Description |
active | Active |
closed | Closed |
lost | Marked As Lost |
stolen | Marked As Stolen |
shipping | Card is getting prepared for shipping |
Sample Request
// Card raw status modified to active using modify card status endpoint
{
"program_id": 2,
"event": "card_status_changed",
"event_time": "2021-09-28T10:23:17.560200822-04:00",
"data": {
"account": {
"id": 1,
"cardholder_id": 1,
"processor_reference": "129201097356"
},
"timestamp": "2021-09-28T10:23:17Z",
"new_raw_status": "active"
}
}
// Card suspended using modify card status endpoint
{
"program_id": 2,
"event": "card_status_changed",
"event_time": "2021-09-28T10:23:17.560200822-04:00",
"data": {
"account": {
"id": 1,
"cardholder_id": 1,
"processor_reference": "129201097356"
},
"timestamp": "2021-09-28T10:23:17Z",
"suspended": true,
"cad":"12345"
}
}
JSON Schema
{
"$id": "https://api.pungle.io/schemas/event/card_status_changed",
"title": "Card Status Changed Event payload",
"type": "object",
"properties": {
"account": {
"title": "Account Information",
"type": "object",
"properties": {
"id": {
"description": "ID of cardholder account",
"type": "number",
"minimum": 0
},
"cardholder_id": {
"description": "ID of cardholder",
"type": "number",
"minimum": 0
},
"processor_reference": {
"description": "Reference to the account on the processor's system",
"type": "string"
}
}
},
"timestamp": {
"description": "Date and time Berkeley receives the event",
"type": "string"
},
"new_raw_status": {
"description": "Most recent status of an account",
"type": "string",
"enum": [
"active",
"closed",
"lost",
"stolen"
]
},
"suspended": {
"description": "true if card was suspended, false if card was unsuspended",
"type": "boolean"
}
}
}
pin_changed
data Object (event payload)
Field | Value | Is Required | Description |
account | object | Yes | IDs and identifiers associated with the account of an event (see below) |
timestamp | Date | Yes | Date and time the event is received by Berkeley |
account Object
Field | Value | Is Required | Description |
id | integer | Yes | id of cardholder account |
cardholder_id | integer | Yes | id of cardholder |
processor_reference | string | Yes | Reference to the account on the processor's system |
Sample Request
{
"program_id": 2,
"event": "pin_changed",
"event_time": "2021-09-28T10:24:33.984276159-04:00",
"data": {
"account": {
"id": 1,
"cardholder_id": 1,
"processor_reference": "129201097356"
},
"timestamp": "2021-09-28T10:23:17Z"
}
}
{
"$id": "https://api.pungle.io/schemas/event/pin_changed",
"title": "PIN Changed Event payload",
"type": "object",
"properties": {
"account": {
"title": "Account Information",
"type": "object",
"properties": {
"id": {
"description": "ID of cardholder account",
"type": "number",
"minimum": 0
},
"cardholder_id": {
"description": "ID of cardholder",
"type": "number",
"minimum": 0
},
"processor_reference": {
"description": "Reference to the account on the processor's system",
"type": "string"
}
}
},
"timestamp": {
"description": "Date and time Berkeley receives the event",
"type": "string"
}
}
}
account_closed
data Object (event payload)
Field | Value | Is Required | Description |
account | object | Yes | IDs and identifiers associated with the account of an event (see below) |
timestamp | Date | Yes | Date and time the event is received by Berkeley |
account Object
Field | Value | Is Required | Description |
id | integer | Yes | id of cardholder account |
cardholder_id | integer | Yes | id of cardholder |
processor_reference | string | Yes | Reference to the account on the processor's system |
available_balance | string | no | available balance of account to spend |
status_code | string | no | account status code (see bottom of page for possible account status codes |
Sample Request
{
"program_id": 2,
"event": "account_closed",
"event_time": "2022-06-14T10:33:10.095071008-04:00",
"data": {
"account": {
"id": 1,
"cardholder_id": 1,
"processor_reference": "129201097356",
"available_balance": "500.00",
"status_code": "closed"
},
"timestamp": "2023-01-30T00:20:33Z"
}
}
settlement
data Object (event payload)
Field | Value | Is Required | Description |
account | object | Yes | IDs and identifiers associated with the account of an event (see below) |
timestamp | Date | Yes | Date and time the event is received by Berkeley |
type | string | No | Type of transaction |
amount | string | Yes | Settlement Amount. Ex: "21.45" |
authorization_id | string | No | ID of the authorization that was settled |
network | string | Yes | Network for transaction that was settled |
billing_curr_code | string | No | Currency code. Ex: "840" |
local_currency | string | No | Currency code for local_currency_amount. Ex: "124" |
local_currency_amount | string | No | Amount of the transaction in the currency at the point of sale. No fees or upcharges included. Ex: "1245.20" |
merchant | object | Yes | Merchant Information (see below in Shared Objects ) |
account Object
Field | Value | Is Required | Description |
id | integer | Yes | id of cardholder account |
cardholder_id | integer | Yes | id of cardholder |
processor_reference | string | Yes | Reference to the account on the processor's system |
available_balance | string | No | available balance of account to spend |
Sample Request
{
"program_id": 7,
"event": "settlement",
"event_time": "2022-11-18T15:06:22.195121884-05:00",
"data": {
"account": {
"id": 11,
"cardholder_id": 25,
"processor_reference": "129201212666",
"available_balance": "500.00"
},
"timestamp": "2019-12-29T18:20:33Z",
"amount": "10.75",
"authorization_id": "254568",
"type": "VIW",
"network": "V",
"billing_curr_code": "840",
"local_currency": "124",
"local_currency_amount": "112.20",
"merchant": {
"mcc": "5712",
"name": "Widgets Incorporated",
"location": "NEW YORK, NY"
}
}
}
JSON Schema
{
"$id": "https://api.pungle.io/schemas/event/settlement",
"title": "Settlement Event payload",
"type": "object",
"properties": {
"account": {
"title": "Account Information",
"type": "object",
"properties": {
"id": {
"description": "ID of cardholder account",
"type": "number",
"minimum": 0
},
"cardholder_id": {
"description": "ID of cardholder",
"type": "number",
"minimum": 0
},
"processor_reference": {
"description": "Reference to the account on the processor's system",
"type": "string"
},
"available_balance": {
"description": "The available balance of the account to spend",
"type": "string"
}
}
},
"timestamp": {
"description": "Date and time Berkeley receives the event",
"type": "string"
},
"type": {
"description": "Type of transaction",
"type": "string"
},
"amount": {
"description": "Settlement Amount. Ex: 21.45",
"type": "string"
},
"authorization_id": {
"description": "ID of the authorization that was settled",
"type": "string"
},
"network": {
"description": "See below list (Network Codes)",
"type": "string"
},
"billing_curr_code": {
"description": "Currency code for billing_amt",
"type": "string"
},
"local_currency": {
"description": "Currency code for local_currency_amount",
"type": "string"
},
"local_currency_amount": {
"description": "Amount of the transaction in the currency at the point of sale",
"type": "string"
},
"merchant": {
"$ref": "/schemas/merchant"
}
}
}
adjustment
data Object (event payload)
Field | Value | Is Required | Description |
account | object | Yes | IDs and identifiers associated with the account of an event (see below) |
timestamp | Date | Yes | Date and time the event is received by Berkeley |
amount | string | Yes | Adjustment Amount. Ex: "21.45" |
type | string | No | Type of adjustment |
act_type | string | No | Processor specific. For all adjustments the activity type is “AD” |
adj_id | string | No | Processor specific. Generated identifier for this adjustment. Example: “462354” |
pmt_id | string | No | Processor specific. Generated identifier for this payment. Example: "7971383" |
balance_id | string | No | Processor specific |
description | string | No | Transaction description. Example: "Transfer from savings" |
source_id | string | No | Processor specific. An identifier that maps back to the origin of the adjustment. |
account Object
Field | Value | Is Required | Description |
id | integer | Yes | id of cardholder account |
cardholder_id | integer | Yes | id of cardholder |
processor_reference | string | Yes | Reference to the account on the processor's system |
available_balance | string | No | available balance of account to spend |
Sample Request
{
"program_id": 2,
"event": "adjustment",
"event_time": "2021-09-28T10:27:48.071960258-04:00",
"data": {
"account": {
"id": 1,
"cardholder_id": 1,
"processor_reference": "129201097356",
"available_balance": "10.00"
},
"timestamp": "2021-09-28T10:23:17Z",
"type": "ABC",
"amount": "10.75",
"adj_id": "462354",
"act_type": "AD",
"description": "Transfer from savings",
"balance_id": "20211",
"source_id": "31571"
}
}
JSON Schema
{
"$id": "https://api.pungle.io/schemas/event/adjustment",
"title": "Adjustment Event payload",
"type": "object",
"properties": {
"account": {
"properties": {
"id": {
"description": "ID of cardholder account",
"type": "number",
"minimum": 0
},
"cardholder_id": {
"description": "ID of cardholder",
"type": "number",
"minimum": 0
},
"processor_reference": {
"description": "Reference to the account on the processor's system",
"type": "string"
},
"available_balance": {
"description": "The available balance of the account to spend",
"type": "string"
}
}
},
"timestamp": {
"description": "Date and time Berkeley receives the event",
"type": "string"
},
"type": {
"description": "Type of transaction",
"type": "string"
},
"amount": {
"description": "Settlement Amount. Ex: 21.45",
"type": "string"
}
}
}
authorization
data Object (event payload)
Field | Value | Is Required | Description |
account | object | Yes | IDs and identifiers associated with the account of an event (see below) |
timestamp | Date | Yes | Date and time the event is received by Berkeley |
amount | string | Yes | The amount of the authorization request. Ex: "10.25" |
authorization_id | string | No | Processor provided id for transaction |
original_authorization_id | string | No | The ID of the prior authorization in the sequence. For example, in a preauthorization-completion sequence, the original auth ID would be for the preauthorization. For a reversal, the original auth ID would be for the prior authorization that is being reversed. |
authorization_response_code | string | No | see below for list |
surcharge_amount | string | No | The surcharge amount added by the merchant or ATM operator. This amount is included in amount . |
rules_result | string | No | Comma delimited list of DENY, WARN, or FREEZE rules. Example: “hr_crypto:DENY, intl_cnp_ecom:DENY” |
type | string | No | Type of authorization |
network | string | Yes | Type of network |
bill_curr_code | string | No | Currency code for billing_amt. Example: "840" |
local_currency | string | No | Currency code for local_currency_amount. Example: "124" |
local_currency_amount | string | No | Amount of the transaction in the currency at the point of sale. No fees or up-charges included. |
merchant | object | Yes | Merchant Information (see below in Shared Objects ) |
terminal_id | string | No | Terminal id of ATM if available |
account Object
Field | Value | Is Required | Description |
id | integer | Yes | id of cardholder account |
cardholder_id | integer | Yes | id of cardholder |
processor_reference | string | Yes | Reference to the account on the processor's system |
available_balance | string | No | available balance of account to spend |
Possible authorization_response_code
Code | Additional Description |
success | |
issuer_error | |
pick_up | |
do_not_honor | |
error | |
partial_approval | |
invalid_pan | |
format_error | |
lost_fraud_pick_up | |
stolen_fraud_pick_up | |
insufficient_funds | |
card_expired | |
invalid_pin | |
transaction_not_permitted_to_cardholder | |
suspected_fraud | Visa Only |
exceeds_amount_limit | |
exceeds_count_limit | |
pin_count_exceeded | |
avs_only | no reason to decline |
partial_approval | POS Amount only, no cashback |
system_error | |
invalid_cvv2 | Visa Only |
{
"program_id": 2,
"event": "authorization",
"event_time": "2021-10-13T09:34:13.790651856-04:00",
"data": {
"account": {
"id": 13,
"cardholder_id": 13,
"processor_reference": "129201097356",
"available_balance": "10.00"
},
"timestamp": "2019-12-29T18:20:33Z",
"amount": "10.25",
"authorization_id": "12303090",
"original_authorization_id": "12303085",
"authorization_response_code": "do_not_honor",
"surcharge_amount": "2.50",
"rules_results": "hr_crypto:WARN, intl_cnp_ecom:WARN",
"type": "L",
"network": "V",
"billing_curr_code": "840",
"local_currency": "840",
"local_currency_amount": "10.25",
"merchant": {
"mcc": "5712",
"name": "Widgets Incorporated",
"location": "NEW YORK, NY"
}
}
}
JSON Schema
{
"$id": "https://api.pungle.io/schemas/event/authorization",
"title": "Authorization Event payload",
"type": "object",
"properties": {
"account": {
"properties": {
"id": {
"description": "ID of cardholder account",
"type": "number",
"minimum": 0
},
"cardholder_id": {
"description": "ID of cardholder",
"type": "number",
"minimum": 0
},
"processor_reference": {
"description": "Reference to the account on the processor's system",
"type": "string"
},
"available_balance": {
"description": "The available balance of the account to spend",
"type": "string"
}
}
},
"timestamp": {
"description": "Date and time Berkeley receives the event",
"type": "string"
},
"type": {
"description": "Type of transaction",
"type": "string"
},
"amount": {
"description": "Settlement Amount. Ex: 21.45",
"type": "string"
},
"surcharge_amount": {
"description": "The surcharge amount added by the merchant or ATM operator. This amount is included in the amount field",
"type": "string"
},
"terminal_id": {
"description": "Terminal ID of ATM if available",
"type": "string"
},
"authorization_id": {
"description": "ID of the authorization that was settled",
"type": "string"
},
"original_authorization_id": {
"description": "The ID of the prior authorization in the sequence. For example, in a preauthorization-completion sequence, the original auth ID would be for the preauthorization. For a reversal, the original auth ID would be for the prior authorization that is being reversed.",
"type": "string"
},
"billing_curr_code": {
"description": "Currency code for billing amount",
"type": "string"
},
"local_currency": {
"description": "Currency code for local_currency_amount",
"type": "string"
},
"local_currency_amount": {
"description": "Amount of the transaction in the currency at the point of sale. No fees or up-charges included.",
"type": "string"
},
"rules_result": {
"description": "Comma-delimited list of DENY, WARN or FREEZE rules from processor.",
"type": "string"
},
"merchant": {
"$ref": "/schemas/merchant"
},
"authorization_response_code": {
"description": "response code from authorization",
"type": "string",
"enum": [
"success",
"issuer_error",
"pick_up",
"do_not_honor",
"error",
"partial_approval",
"invalid_pan",
"format_error",
"lost_fraud_pick_up",
"stolen_fraud_pick_up",
"insufficient_funds",
"card_expired",
"invalid_pin",
"transaction_not_permitted_to_cardholder",
"suspected_fraud",
"exceeds_amount_limit",
"exceeds_count_limit",
"pin_count_exceeded",
"avs_only",
"partial_approval",
"system_error",
"invalid_cvv2"
]
}
}
}
denied_authorization
Field | Value | Is Required | Description |
amount | string | Yes | Adjustment Amount. Ex: "21.45" |
authorization_id | string | No | Processor provided id for transaction |
available_balance | string | Yes | The available balance to spend. Ex: “550.00” |
available_balance_timestamp | string | No | The exact date-time at which available_balance was captured. Ex: “2023-03-17 14:06:50.243654” |
cashback_amount | string | No | Amount of the transaction that is cashback instead of purchase. Ex: “20.00” |
currency | string | No | Currency code for amount, which is the currency of the cardholder account. Ex: 840 |
de003 | string | No | See below list (de003) |
de022 | string | No | See below list (de022) |
de39_authorization_response_code | string | No | See below list (de39) |
domestic | string | No | Whether this is a domestic transaction. Y is domestic, N is international. Ex: “Y” |
fee_amount | string | No | Transaction fee. This amount is not included in amount. Ex: “2.00” |
mcc | string | Yes | Merchant category code. Ex: “5712” |
merchant | object | Yes | Merchant Information (see above in Shared Objects ) |
merchant_location | string | Yes | Merchant city and state. Ex: “New York, NY” |
merchant_number | string | Yes | Merchant number. Ex: “L4DIV6D5LM4X7LF” |
message_event_id | string | No | Unique generated identifier for this message. Ex: “243693” |
network | string | Yes | Network for transaction that was denied |
original_authorization_id | string | Yes | The available balance to spend. Ex: “550.00” |
processor_reference | string | Yes | Reference to the account on the processor's system |
processor_timestamp | string | Yes | Date-time when this event was created in Mountain Standard Time (GMT-0700). Ex: 2023-01-29 17:20:33 MST” |
risk_score | string | No | Risk score provided by the network. Higher number means higher risk.Ex:”26” |
rules_result | string | Yes | Comma-delimited list of DENY, WARN or FREEZE. Ex: “hr_crypto:DENY, intl_cnp_ecom:DENY” |
settlement_currency | string | No | Currency code for settlement_currency_amount. Ex: “840” |
settlement_currency_amount | string | No | Amount of the settlement in the currency of the cardholder account. Ex: “35.44” |
token_requester | string | No | Name of the entity that is requesting a tokenized version of the card. Ex: “Apple Inc.” |
token_requester_id | string | No | Identifier for “token_requester”. Ex: “40010030273” |
token_type | string | No | Name of token requester. Ex: “Apple Inc.” |
transaction_currency | string | No | Currency code for transaction_currency_amount. Ex: “124” |
transaction_currency_amount | string | No | Amount of the transaction in the currency at the point of sale. Ex: “1245.20” |
type | string | No | Please contact Berkeley for list |
Denied Authorization Sample Request
{
"program_id": 2,
"event": "denied_auth",
"event_time": "2021-09-28T10:24:33.984276159-04:00",
"data": {
"account": {
"id": 1,
"cardholder_id": 1,
"processor_reference": "129201097356",
"available_balance": "10.00",
"available_balance_timestamp": "2021-09-28T10:24:33.984276159-04:00"
},
"amount": "10.25",
"authorization_id": "12303090",
"cashback_amount": "20.00",
"currency": "840",
"de003_processing_code": "002000",
"de022_pos_entry_mode": "071",
"de39_authorization_response_code": "01",
"domestic": true,
"fee_amount": "2.00",
"transaction_currency": "124",
"transaction_amount": "1245.20",
"surcharge_amount": "2.50",
"merchant": {
"mcc": "5712",
"location": "NEW YORK, NY",
"name": "Widgets Incorporated",
"number": "L4DIV6D5LM4X7LF"
},
"message_event_id": "243693",
"network": "visa",
"original_authorization_id": "12303085",
"type": "W",
"risk_score": "26",
"rules_results": "hr_crypto:DENY, intl_cnp_ecom:DENY",
"settlement_currency": "840",
"settlement_currency_amount": "35.44",
"processor_timestamp": "2021-09-28T10:24:33.984276159-04:00",
"token_requester": "Apple Inc.",
"token_requester_id": "40010030273",
"token_type": "Apple Inc."
}
}
Possible de003 codes
Code | Description |
00 | Goods and services or purchase (debit) |
01 | Withdrawal or cash advance (debit) |
10 | Money transfer funding (debit) |
11 | Quasi-cash (debit) or issuer only |
17 | Cashed check |
20 | Return or correction (credit) |
21 | Deposits (credit) |
26 | Money transfer credit (credit) |
30 | Available funds inquiry |
31 | Pinned account inquiry (STAR NE platform only) |
33 | Card/account verification |
35 | Account list inquiry (STAR NE platform only) |
39 | Account balance profile or PIN-less account inquiry |
40 | Transfer |
50 | Bill payment (debit) or payment to third party |
54 | Funds transfer debit |
55 | Payment from a third party (credit) or refund |
56 | Payment or funds transfer (credit) |
58 | Electronic payment (STAR NE platform only) |
59 | Payment enclosed (STAR NE platform only) |
70 | Prepaid card load |
72 | Prepaid card activation |
90 | PIN change |
91 | Statement processing |
Possible de022 Codes
Code | Description |
00 | Unspecified |
01 | Manual |
02 | Contactless transaction originated using a mobile device emulating a magnetic-stripe read (magnetic-stripe emulation). Transaction may or may not be tokenized. |
03 | Bar code |
04 | OCR |
05 | Contact-chip transaction originated using chip-data rules. |
06 | Manual (key-entered) |
07 | Contactless chip transaction originated using chip-data rules. Transaction may or may not be tokenized. |
08 | Reserved for ISO use |
09 | PAN entry via electronic commerce, including remote chip (for chip-secured remote-payment transactions). |
10 | Credentials on file |
11–60 | Reserved for ISO use |
61–78 | Reserved for national use |
79 | Chip card or chip-capable terminal was unable to process the transaction using the data on the chip or magnetic stripe; the PAN was entered manually or the acquirer is not certified to process the value 80. |
80 | Chip card or chip-capable terminal was unable to process the transaction using the data on the chip; the PAN was entered via magnetic stripe. The full track data was read from the data encoded on the card and transmitted within the authorization request on Track 2 data (DE035) or Track 1 data (DE045) without alteration or truncation. |
81 | Manual PAN entry via electronic commerce. |
82 | Auto PAN entry via server (issuer, acquirer, or third-party vendor system). |
83–89 | Reserved for private use |
90 | Full magnetic stripe read and exact content of Track 1 and Track 2 is included (CVV check is possible). The Common AID must be present on the chip, which may reside in a mobile device or a card, and full chip data will be present in the transaction. Transaction may or may not be tokenized. |
91 | Contactless chip transaction originated using magnetic stripe data (MSD). Transaction may or may not be tokenized. |
92–94 | Reserved for private use |
95 | Integrated circuit card, CVV data may be unreliable due to absence of track data or failure to meet other requirements. |
96 | Stored value from pre-registered checkout service |
97–99 | Reserved for private use. |
Possible de39 Codes
Code | Description |
00* | Success. Authorization request approved. |
01 | Issuer error. |
05 | Do not honor. This is the default deny code when other deny codes do not apply. Also the mobile-wallet provisioning red path, or card not in active status for AVS-only checks. |
10* | Partial approval. The amount approved is less than the authorization request amount. |
14 | Invalid PAN. This PAN does not exist in the Galileo system. Transactions with this response are not passed to the Auth API or included in the RDFs or Program API responses. |
30 | Format error. |
41 | Lost, pick up. The card has been reported lost and is in status: L . The merchant should retain the card if possible and return it to the issuer. |
43 | Stolen, pick up. The card has been reported stolen and is in status: S . The merchant should retain the card if possible and return it to the issuer. |
51 | Insufficient funds (NSF). The authorization amount is larger than the cardholder's available balance. |
54 | Card expired or expiry date mismatch. The card's expiry date has passed, or the value provided by the merchant does not match the value on record. |
55 | Invalid PIN. The wrong PIN was input in the PIN keypad. |
57 | Transaction not permitted to cardholder. |
59 | Suspected fraud. The risk score exceeds a program-specified threshold. |
61 | Exceeds amount limit. The transaction violates the per-transaction velocity limit set by the program. |
65 | Exceeds count limit. The transaction violates the number of transactions in a period velocity limit set by the program. |
75 | PIN count exceeded. The number of failed PIN attempts exceeds the number set by the program. |
85* | AVS-only success or mobile wallet provisioning yellow path. When the transaction amount is 0.00 and the response is 85 , the AVS check was successful. |
87* | Partial approval (sale amount only, no cashback). The amount approved is less than the authorization request amount, and any requested cashback is denied. |
96 | System error. |
N7 | Invalid CVV2 (Visa only). The CVV2 provided in a card-not-present transaction did not match the CVV2 on record. |
Miscellaneous Docs
Possible card and account status values are:
Code | Description |
active | Active |
not_active | Not Active |
suspended | Suspended |
expired | Expired |
cancelled | Cancelled |
lost | Lost. Note, this is a terminal status. A card in this status may not be changed to another. |
stolen | Stolen. Note, this is a terminal status. A card in this status may not be changed to another. |
shipping | Shipping |
delinquent | Delinquent |
shipped | Shipped |
Shared Objects
merchant
Field | Value | Is Required | Description |
mcc | string | Yes | Merchant Category Code |
name | string | No | Merchant Name |
location | string | No | Merchant city and state |
JSON Schema
{
"$id": "https://api.pungle.io/schemas/merchant",
"title": "Merchant Information",
"type": "object",
"properties": {
"mcc": {
"description": "Merchant category code",
"type": "string"
},
"name": {
"description": "Merchant name",
"type": "string"
},
"location": {
"description": "Merchant city and state",
"type": "string"
}
}
}
Related pages:
Simulate Authorization and Settlement
Codes, Statuses and Errors