- an
objectfield which designates the type of event notification, e.g.APPLICATION,PAYMENT_METHOD, andTRANSACTION. - a
datafield that includes details about the event
Application Event
Receive a notification regarding a credit card application.object equals APPLICATION
data field structure
| PROPERTY NAME | REQUIRED | TYPE | DESCRIPTION |
|---|---|---|---|
customer_id | TRUE | String | Unique identifier of the customer |
partner_customer_id | FALSE | String | Partner’s unique identifier of the customer |
status | TRUE | String | Current status of the application |
created_at | TRUE | Timestamp | RFC-3339 date application was created |
updated_at | FALSE | Timestamp | RFC-3339 date application was updated |
status values include:
-
REJECTED- Application has been rejected by Imprint. -
OFFER_ACCEPTED- Credit offer has been accepted by the customer. This is terminal.
Payment Method Event
Receive a notification when a payment method is created (e.g. new credit card account) or updated (e.g. virtual card reissued)object equals PAYMENT_METHOD
data field structure
| PROPERTY NAME | REQUIRED | TYPE | DESCRIPTION |
|---|---|---|---|
payment_method_id | TRUE | String | Unique identifier of the payment method |
customer_id | TRUE | String | Unique identifier of the customer |
partner_customer_id | FALSE | String | Partner’s unique identifier of the customer |
card_design_id | FALSE | String | Unique identifier of the card design |
card_type | TRUE | String | Type of card, e.g. VIRTUAL or PHYSICAL |
previous_status | FALSE | String | Old status of the payment method |
new_status | FALSE | String | New status of the payment method |
tokens | FALSE | Array | List of tokens associated with the payment method. Only present if the card is tokenized (see below) |
created_at | TRUE | Timestamp | RFC-3339 date payment method was created |
updated_at | FALSE | Timestamp | RFC-3339 date payment method was updated |
tokens field structure
| PROPERTY NAME | REQUIRED | TYPE | DESCRIPTION |
|---|---|---|---|
token | TRUE | String | The token value |
created_at | TRUE | Timestamp | RFC-3339 date token was created |
updated_at | TRUE | Timestamp | RFC-3339 date token was updated |
pan_reference_id | TRUE | String | PAN reference identifier |
status values include:
-
ACTIVE- Payment method is active and available for use. -
INACTIVE- Payment method is paused or has not yet been activated by the customer. -
CANCELED- Payment method has been permanently canceled due to customer request or account closure.
Status Transitions By Card Type
Virtual Cards Virtual cards are always created inACTIVE status.
ACTIVE→INACTIVE— Customer pauses their card.ACTIVE→CANCELED— Customer cancels their card or closes their account.INACTIVE→CANCELED— Customer cancels their card or closes their account.
INACTIVE status and transition to ACTIVE when the customer initiates activation.
INACTIVE→ACTIVE— Customer activates their physical card.ACTIVE→INACTIVE— Customer pauses their card.ACTIVE→CANCELED— Customer cancels their card or closes their account.INACTIVE→CANCELED— Customer cancels their card or closes their account.
- A
CANCELEDwebhook for the old card. - A new payment method webhook for the replacement card (
ACTIVEfor virtual,INACTIVEfor physical).
Transaction Event
Receive a notification when atransaction is created or transitions statuses.
object equals TRANSACTION
data field structure
| PROPERTY NAME | REQUIRED | TYPE | DESCRIPTION |
|---|---|---|---|
transaction_id | TRUE | String | Unique identifier of the transaction |
event_id | TRUE | String | Unique identifier of the event |
intent_id | FALSE | String | Unique identifier of the transaction intent |
payment_method_id | TRUE | String | Unique identifier of the payment method |
customer_id | TRUE | String | Unique identifier of the customer |
partner_customer_id | FALSE | String | Partner’s unique identifier of the customer |
status | TRUE | String | New status of the transaction |
created_at | TRUE | Timestamp | RFC-3339 date transaction was first approved |
updated_at | FALSE | Timestamp | RFC-3339 date of the event |
amount | TRUE | Integer | Amount of the transaction, all positive values |
authorization_code | FALSE | String | Code used to authorize the transaction |
network_transaction_id | FALSE | String | Unique identifier of the transaction, assigned by the payment network, e.g. Visa, Mastercard, Amex |
purchase_method | FALSE | String | How the purchase was completed |
currency | TRUE | String | Currency of the transaction, e.g. “USD” |
merchant | FALSE | Object | Merchant information. Contains nested fields (see below). |
merchant field structure
| Property Name | Required | Type | Description |
|---|---|---|---|
network_id | TRUE | String | Unique identifier of the merchant, assigned by the payment network (e.g., Visa, Mastercard, Amex). |
name | TRUE | String | Name of the merchant where the transaction occurred. |
address | FALSE | Object | Merchant address details (see below). |
category | FALSE | String | Name of the merchant category (e.g., "Grocery Stores"). |
category_code | FALSE | String | Code associated with the merchant category (e.g., "5411"). |
address Field Structure
| Property Name | Required | Type | Description |
|---|---|---|---|
street_line1 | FALSE | String | First line of the merchant’s address. |
street_line2 | FALSE | String | Second line of the merchant’s address. |
city | FALSE | String | City in the merchant’s address. |
state | FALSE | String | State in the merchant’s address. |
postal_code | FALSE | String | Postal code in the merchant’s address. |
country | FALSE | String | Country in the merchant’s address. |
purchase_method values include:
-
CHIP -
CONTACTLESS -
KEYEDIN -
ONLINE -
SWIPE -
QRCODE -
OCR
status values include:
-
APPROVED- Authorization request was received from the merchant and approved by Imprint. This creates a pending transaction on the customer’s statement. -
UPDATED- Authorization request was updated by the merchant. The pending transaction was updated. -
VOIDED- Approved authorization has been cancelled by the merchant or expired by Imprint, resulting in the pending transaction being removed from the customer’s statement. -
CAPTURED- Approved authorization has been captured, or a force capture has been created (bypassing the authorization step). This creates a confirmed purchase transaction on the customer’s statement. -
REFUNDED- Refund has been created by the merchant, either related to a previous capture or standalone (e.g. blind return). This results in a confirmed refund transaction on the customer’s statement.
.png?fit=max&auto=format&n=I4GuH_Pw48YRP5iO&q=85&s=b7fb5724c82d35d8c763493d005b4bf4)
Transaction Event Examples
Webhook 1: Customer’s successfully authorized a $50 transaction at ShellCustomer Link Event
Receive a notification when a customer linked their partner account.object equals CUSTOMER_LINK
data field structure
| PROPERTY NAME | REQUIRED | TYPE | DESCRIPTION |
|---|---|---|---|
customer_id | TRUE | String | Unique identifier of the customer |
partner_customer_id | TRUE | String | Partner’s unique identifier of the customer |
status | TRUE | String | Status of the customer link |
created_at | TRUE | Timestamp | RFC-3339 date customer link was created |
updated_at | FALSE | Timestamp | RFC-3339 date customer link was updated |
status values include:
ACTIVE- Customer link is active.