Webhook (event) schema

📘

Webhook availability is region limited

Please contact Client Support for availability in Canada.

All webhooks from Berkeley will look like the following:

FieldValueIs RequiredDescriptgh
program_idIntegerYesID of a Berkeley Program
eventStringYesevent name/identifier (ex: card_status_changed)
event_timeDateYesDate and time the event is sent from Berkeley
dataObjectYesContains 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)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
timestampDateYesDate and time the event is received by Berkeley
cadintegerYesProcessor specific and processor generated card ID. Example: "12534"

account Object

FieldValueIs RequiredDescription
idintegerYesid of cardholder account
cardholder_idintegerYesid of cardholder
processor_referencestringYesReference 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)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
timestampDateYesDate and time the event is received by Berkeley
new_raw_statusstringNoMost recent raw status of a card
suspendedbooleanNoTrue if card was suspended. False if card was un-suspended.
cadstringNoGenerated card ID

account Object

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

Possible Status Codes (new_raw_status)

CodeDescription
activeActive
closedClosed
lostMarked As Lost
stolenMarked As Stolen
shippingCard 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)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
timestampDateYesDate and time the event is received by Berkeley

account Object

FieldValueIs RequiredDescription
idintegerYesid of cardholder account
cardholder_idintegerYesid of cardholder
processor_referencestringYesReference 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)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
timestampDateYesDate and time the event is received by Berkeley

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
status_codestringnoaccount 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)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
timestampDateYesDate and time the event is received by Berkeley
typestringNoType of transaction
amountstringYesSettlement Amount. Ex: "21.45"
authorization_idstringNoID of the authorization that was settled
networkstringYesNetwork for transaction that was settled
billing_curr_codestringNoCurrency code. Ex: "840"
local_currencystringNoCurrency code for local_currency_amount. Ex: "124"
local_currency_amountstringNoAmount of the transaction in the currency at the point of sale. No fees or upcharges included. Ex: "1245.20"
merchantobjectYesMerchant Information (see below in Shared Objects)

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

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)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
timestampDateYesDate and time the event is received by Berkeley
amountstringYesAdjustment Amount. Ex: "21.45"
typestringNoType of adjustment
act_typestringNoProcessor specific. For all adjustments the activity type is “AD”
adj_idstringNoProcessor specific. Generated identifier for this adjustment. Example: “462354”
pmt_idstringNoProcessor specific. Generated identifier for this payment. Example: "7971383"
balance_idstringNoProcessor specific
descriptionstringNoTransaction description. Example: "Transfer from savings"
source_idstringNoProcessor specific. An identifier that maps back to the origin of the adjustment.

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

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)

FieldValueIs RequiredDescription
accountobjectYesIDs and identifiers associated with the account of an event (see below)
timestampDateYesDate and time the event is received by Berkeley
amountstringYesThe amount of the authorization request. Ex: "10.25"
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
surcharge_amountstringNoThe surcharge amount added by the merchant or ATM operator. This amount is included in amount.
rules_resultstringNoComma delimited list of DENY, WARN, or FREEZE rules. Example: “hr_crypto:DENY, intl_cnp_ecom:DENY”
typestringNoType of authorization
networkstringYesType of network
bill_curr_codestringNoCurrency code for billing_amt. Example: "840"
local_currencystringNoCurrency code for local_currency_amount. Example: "124"
local_currency_amountstringNoAmount of the transaction in the currency at the point of sale. No fees or up-charges included.
merchantobjectYesMerchant Information (see below in Shared Objects)
terminal_idstringNoTerminal id of ATM if available

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
exceeds_count_limit
pin_count_exceeded
avs_onlyno reason to decline
partial_approvalPOS Amount only, no cashback
system_error
invalid_cvv2Visa 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

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”
currencystringNoCurrency code for amount, which is the currency of the cardholder account. Ex: 840
de003stringNoSee below list (de003)
de022stringNoSee below list (de022)
de39_authorization_response_codestringNoSee 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 (see above in Shared Objects)
merchant_locationstringYesMerchant city and state. Ex: “New York, NY”
merchant_numberstringYesMerchant number. Ex: “L4DIV6D5LM4X7LF”
message_event_idstringNoUnique generated identifier for this message. Ex: “243693”
networkstringYesNetwork for transaction that was denied
original_authorization_idstringYesThe available balance to spend. Ex: “550.00”
processor_referencestringYesReference to the account on the processor's system
processor_timestampstringYesDate-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

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

CodeDescription
00Goods and services or purchase (debit)
01Withdrawal or cash advance (debit)
10Money transfer funding (debit)
11Quasi-cash (debit) or issuer only
17Cashed check
20Return or correction (credit)
21Deposits (credit)
26Money transfer credit (credit)
30Available 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
40Transfer
50Bill payment (debit) or payment to third party
54Funds transfer debit
55Payment from a third party (credit) or refund
56Payment or funds transfer (credit)
58Electronic payment (STAR NE platform only)
59Payment enclosed (STAR NE platform only)
70Prepaid card load
72Prepaid card activation
90PIN change
91Statement processing

Possible de022 Codes

CodeDescription
00Unspecified
01Manual
02Contactless transaction originated using a mobile device emulating a magnetic-stripe read (magnetic-stripe emulation). Transaction may or may not be tokenized.
03Bar code
04OCR
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
09PAN entry via electronic commerce, including remote chip (for chip-secured remote-payment transactions).
10Credentials on file
11–60Reserved for ISO use
61–78Reserved for national use
79Chip 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.
81Manual PAN entry via electronic commerce.
82Auto PAN entry via server (issuer, acquirer, or third-party vendor system).
83–89Reserved for private use
90Full 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.
05Do 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.
14Invalid 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.
41Lost, 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.
43Stolen, 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.
51Insufficient funds (NSF). The authorization amount is larger than the cardholder's available balance.
54Card 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.

Miscellaneous Docs

Possible card and account status values are:

CodeDescription
activeActive
not_activeNot Active
suspendedSuspended
expiredExpired
cancelledCancelled
lostLost. Note, this is a terminal status. A card in this status may not be changed to another.
stolenStolen. Note, this is a terminal status. A card in this status may not be changed to another.
shippingShipping
delinquentDelinquent
shippedShipped

Shared Objects

merchant

FieldValueIs RequiredDescription
mccstringYesMerchant Category Code
namestringNoMerchant Name
locationstringNoMerchant 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