Authorization Webhook

data Object (event payload)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
authorization_idstringNoProcessor provided id for transaction
original_authorization_idstringNoThe 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_codestringNosee below for list
timestampDateYesDate and time the event is received by Berkeley
typestringNoType of authorization
amountstringYes Adjustment Amount. Ex: "21.45"
rules_resultstringYesComma delimited list of DENY, WARN, or FREEZE rules. Example: “hr_crypto:DENY, intl_cnp_ecom:DENY”
surcharge_amountstringNoThe surcharge amount added by the merchant or ATM operator. This amount is included in amount.
terminal_idstringNo Terminal id of ATM if available
merchantobjectYesMerchant Information

account Object

FieldValueIs RequiredDescription
idintegerYesid of cardholder account
cardholder_idintegerYesid of cardholder
processor_referencestringYesReference to the account on the processor's system
available_balancestringNoavailable balance of account to spend

Possible authorization_response_code

CodeAdditional 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_fraudVisa Only
exceeds_amount_limit
pin_count_exceeded
avs_onlyno reason to decline
partial_approvalPOS Amount only, no cashback
system_error
invalid_cvv2Visa 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",
    "type": "L",
    "amount": "10.25",
    "rules_results": "hr_crypto:WARN, intl_cnp_ecom:WARN",
    "surcharge_amount": "3.50",
    "terminal_id": "L01924421",
    "authorization_id": "12303090",
    "original_authorization_id": "12303085",
    "authorization_response_code": "do_not_honor",
    "merchant": { "mcc": "5712", "name": "Widgets Incorporated" }
  }
}

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"
    },
    "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

FieldValueIs RequiredDescription
amountstringYesAdjustment Amount. Ex: "21.45"
authorization_idstringNoProcessor provided id for transaction
available_balancestringYesThe available balance to spend. Ex: “550.00”
available_balance_timestampstringNoThe exact date-time at which available_balance was captured. Ex: “2023-03-17 14:06:50.243654”
cashback_amountstringNoAmount of the transaction that is cashback instead of purchase. Ex: “20.00”
currencystringNo Currency code for amount, which is the currency of the cardholder account. Ex: 840
de003stringNoSee below list (de003)
de022stringNoSee below list (de022)
de39stringNoSee below list (de39)
domesticstringNoWhether this is a domestic transaction. Y is domestic, N is international. Ex: “Y”
fee_amountstringNoTransaction fee. This amount is not included in amount. Ex: “2.00”
mccstringYesMerchant category code. Ex: “5712”
merchantobjectYesMerchant Information
merchant_locationstringYesMerchant city and state. Ex: “New York, NY”
merchant_numberstringYes Merchant number. Ex: “L4DIV6D5LM4X7LF”
message_event_idstringNo Unique generated identifier for this message. Ex: “243693”
networkstringYes
original_authorization_idstringYesThe available balance to spend. Ex: “550.00”
processor_referencestringYesReference to the account on the processor's system
processor_timestampstringYes Date-time when this event was created in Mountain Standard Time (GMT-0700). Ex: 2023-01-29 17:20:33 MST”
risk_scorestringNoRisk score provided by the network. Higher number means higher risk.Ex:”26”
rules_resultstringYesComma-delimited list of DENY, WARN or FREEZE. Ex: “hr_crypto:DENY, intl_cnp_ecom:DENY”
settlement_currencystringNoCurrency code for settlement_currency_amount. Ex: “840”
settlement_currency_amountstringNoAmount of the settlement in the currency of the cardholder account. Ex: “35.44”
token_requesterstringNoName of the entity that is requesting a tokenized version of the card. Ex: “Apple Inc.”
token_requester_idstringNoIdentifier for “token_requester”. Ex: “40010030273”
token_typestringNoName of token requester. Ex: “Apple Inc.”
transaction_currencystringNoCurrency code for transaction_currency_amount. Ex: “124”
transaction_currency_amountstringNoAmount of the transaction in the currency at the point of sale. Ex: “1245.20”
typestringNoPlease contact Berkeley for list

Possible de003 codes

CodeDescription
00Goods and services or purchase (debit)
01 Withdrawal or cash advance (debit)
10Money transfer funding (debit)
11 Quasi-cash (debit) or issuer only
17Cashed check
20 Return or correction (credit)
21 Deposits (credit)
26 Money transfer credit (credit)
30 Available funds inquiry
31Pinned account inquiry (STAR NE platform only)
33Card/account verification
35Account list inquiry (STAR NE platform only)
39Account balance profile or PIN-less account inquiry
40 Transfer
50Bill payment (debit) or payment to third party
54Funds transfer debit
55Payment from a third party (credit) or refund
56Payment or funds transfer (credit)
58 Electronic payment (STAR NE platform only)
59 Payment enclosed (STAR NE platform only)
70Prepaid card load
72Prepaid card activation
90PIN change
91 Statement processing

Possible de022 Codes

CodeDescription
00Unspecified
01 Manual
02Contactless 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
05Contact-chip transaction originated using chip-data rules.
06Manual (key-entered)
07Contactless chip transaction originated using chip-data rules. Transaction may or may not be tokenized.
08Reserved for ISO use
09 PAN entry via electronic commerce, including remote chip (for chip-secured remote-payment transactions).
10Credentials 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.
80Chip 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-89Reserved 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.
91Contactless chip transaction originated using magnetic stripe data (MSD). Transaction may or may not be tokenized.
92-94Reserved for private use
95Integrated circuit card, CVV data may be unreliable due to absence of track data or failure to meet other requirements.
96Stored value from pre-registered checkout service
97-99Reserved for private use.

Possible de39 Codes

CodeDescription
00*Success. Authorization request approved.
01Issuer 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.
30Format 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.
55Invalid PIN. The wrong PIN was input in the PIN keypad.
57Transaction not permitted to cardholder.
59Suspected fraud. The risk score exceeds a program-specified threshold.
61Exceeds amount limit. The transaction violates the per-transaction velocity limit set by the program.
65Exceeds count limit. The transaction violates the number of transactions in a period velocity limit set by the program.
75PIN 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.
96System error.
N7Invalid 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."
  }
}