Authorization Webhook
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 | Yes | 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 |
billing_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 |
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 | |
pin_count_exceeded | |
avs_only | no reason to decline |
partial_approval | POS Amount only, no cashback |
system_error | |
invalid_cvv2 | Visa Only |
Sample Request
{
"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. Ex: 840",
"type": "string"
},
"local_currency": {
"description": "Currency code for local currency amount. Ex: 124",
"type": "string"
},
"local_currency_amount": {
"description": "Amount of the transaction in the currency at the point of sale",
"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 | 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 |
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 | |
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 |
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. |
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."
}
}
Updated over 1 year ago