Documentation Index
Fetch the complete documentation index at: https://docs.imprint.co/llms.txt
Use this file to discover all available pages before exploring further.
Event Notifications contain
- an
object field which designates the type of event notification, e.g. APPLICATION, PAYMENT_METHOD, and TRANSACTION.
- a
data field 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 |
Example:
{
"object": "APPLICATION",
"data": {
"customer_id": "2EE24580-B97B-4949-A65C-929CCB9B9B8D",
"partner_customer_id": "PARTNER_USER_456",
"status": "OFFER_ACCEPTED",
"created_at": "2025-02-13T19:08:07.000Z",
"updated_at": "2025-02-13T19:08:07.000Z"
}
}
Application 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 |
Example:
{
"object": "PAYMENT_METHOD",
"data": {
"payment_method_id": "DCBFC736-2286-42DD-897D-160DCA80AED2",
"customer_id": "2EE24580-B97B-4949-A65C-929CCB9B9B8D",
"partner_customer_id": "PARTNER_USER_456",
"card_design_id": "3b9c1f3e-52a0-44c1-b131-a7ab0099a214",
"card_type": "VIRTUAL",
"new_status": "ACTIVE",
"tokens": [
{
"token": "<string>",
"created_at": "2025-02-13T19:08:07.000Z",
"updated_at": "2025-02-13T19:08:07.000Z",
"pan_reference_id": "<string>"
}
],
"created_at": "2025-02-13T19:08:07.000Z",
"updated_at": "2025-02-13T19:08:07.000Z"
}
}
Payment method 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 in ACTIVE 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.
Physical Cards
Physical cards are always created in 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.
Reissued Cards
When a card is reissued (virtual or physical), you will receive:
- A
CANCELED webhook for the old card.
- A new payment method webhook for the replacement card (
ACTIVE for virtual, INACTIVE for physical).
Transaction Event
Receive a notification when a transaction 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. |
Example:
{
"object": "TRANSACTION",
"data": {
"transaction_id": "e2806932-5f1b-4518-8b15-156d773e9496",
"event_id": "e2806932-5f1b-4518-8b15-156d773e9496",
"intent_id": "intent-12345",
"payment_method_id": "7f754378-dd84-4a9a-b1ce-0646bb769c29",
"customer_id": "e0549550-90e9-4acb-b7e9-2e4738b7def2",
"partner_customer_id": "PARTNER_USER_456",
"status": "APPROVED",
"created_at": "2025-02-27T18:11:32.358Z",
"updated_at": "2025-02-27T18:15:00.000Z",
"amount": 5000,
"currency": "USD",
"authorization_code": "645432",
"network_transaction_id": "txn-789456",
"purchase_method": "CHIP",
"merchant": {
"network_id": "234923454545",
"name": "Target",
"category": "Grocery Stores",
"category_code": "5411",
"address": {
"street_line1": "123 Main St",
"street_line2": "Apt 4B",
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "USA"
}
}
}
}
Transaction purchase_method values include:
-
CHIP
-
CONTACTLESS
-
KEYEDIN
-
ONLINE
-
SWIPE
-
QRCODE
-
OCR
Transactionstatus 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.
Transaction Event Examples
Webhook 1: Customer’s successfully authorized a $50 transaction at Shell
{
"object": "TRANSACTION",
"data": {
"amount": 5000,
"authorization_code": "645432",
"created_at": "2025-02-27T18:11:32.358Z",
"currency": "USD",
"customer_id": "e0549550-90e9-4acb-b7e9-2e4738b7def2",
"event_id": "e2806932-5f1b-4518-8b15-156d773e9496",
"merchant": {
"address": {
"city": "New York",
"country": "USA",
"postal_code": "10002",
"state": "NY",
"street_line1": "",
"street_line2": ""
},
"category": "Gas Station",
"category_code": "5541",
"network_id": "234923454545",
"name": "Shell Gas"
},
"object": "TRANSACTION",
"payment_method_id": "7f754378-dd84-4a9a-b1ce-0646bb769c29",
"purchase_method": "CHIP",
"status": "APPROVED",
"transaction_id": "e2806932-5f1b-4518-8b15-156d773e9496",
"updated_at": "2025-02-27T18:11:32.358Z"
}
}
Webhook 2: Customer’s authorization was updated to $34.51
{
"object": "TRANSACTION",
"data": {
"amount": 3451,
"authorization_code": "645432",
"created_at": "2025-02-27T18:11:32.358Z",
"currency": "USD",
"customer_id": "e0549550-90e9-4acb-b7e9-2e4738b7def2",
"event_id": "8a13cc75-0432-4255-91d1-ac7e8e0db1b0",
"merchant": {
"address": {
"city": "New York",
"country": "USA",
"postal_code": "10002",
"state": "NY",
"street_line1": "",
"street_line2": ""
},
"category": "Gas Station",
"category_code": "5541",
"network_id": "234923454545",
"name": "Shell Gas"
},
"object": "TRANSACTION",
"payment_method_id": "7f754378-dd84-4a9a-b1ce-0646bb769c29",
"purchase_method": "CHIP",
"status": "UPDATED",
"transaction_id": "e2806932-5f1b-4518-8b15-156d773e9496",
"updated_at": "2025-02-28T01:11:32.358Z"
}
}
Webhook 3: Transaction was captured
{
"object": "TRANSACTION",
"data": {
"amount": 3451,
"authorization_code": "645432",
"created_at": "2025-02-27T18:11:32.358Z",
"currency": "USD",
"customer_id": "e0549550-90e9-4acb-b7e9-2e4738b7def2",
"event_id": "8b272a5c-0e40-4144-81e8-b9b1f5d0b6e1",
"merchant": {
"address": {
"city": "New York",
"country": "USA",
"postal_code": "10002",
"state": "NY",
"street_line1": "",
"street_line2": ""
},
"category": "Gas Station",
"category_code": "5541",
"network_id": "234923454545",
"name": "Shell Gas"
},
"object": "TRANSACTION",
"payment_method_id": "7f754378-dd84-4a9a-b1ce-0646bb769c29",
"purchase_method": "CHIP",
"status": "CAPTURED",
"transaction_id": "e2806932-5f1b-4518-8b15-156d773e9496",
"updated_at": "2025-02-30T01:11:32.358Z"
}
}
Webhook 4: Customer requested a refund for the transaction and was issued the refund
{
"object": "TRANSACTION",
"data": {
"amount": 3451,
"authorization_code": "645432",
"created_at": "2025-02-27T18:11:32.358Z",
"currency": "USD",
"customer_id": "e0549550-90e9-4acb-b7e9-2e4738b7def2",
"event_id": "202dce63-57a1-48c0-b623-6d9295afd7a9",
"merchant": {
"address": {
"city": "New York",
"country": "USA",
"postal_code": "10002",
"state": "NY",
"street_line1": "",
"street_line2": ""
},
"category": "Gas Station",
"category_code": "5541",
"network_id": "234923454545",
"name": "Shell Gas"
},
"object": "TRANSACTION",
"payment_method_id": "7f754378-dd84-4a9a-b1ce-0646bb769c29",
"purchase_method": "CHIP",
"status": "REFUNDED",
"transaction_id": "e2806932-5f1b-4518-8b15-156d773e9496",
"updated_at": "2025-03-01T01:11:32.358Z"
}
}
Customer 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 |
Example:
{
"object": "CUSTOMER_LINK",
"data": {
"customer_id": "2EE24580-B97B-4949-A65C-929CCB9B9B8D",
"partner_customer_id": "PARTNER_USER_456",
"status": "ACTIVE",
"created_at": "2025-02-13T19:08:07Z",
"updated_at": "2025-02-13T19:08:07Z"
}
}
Customer link status values include:
ACTIVE - Customer link is active.