Descriptions and payloads of webhooks available for subscription via Operate
Setup
Merchants can subscribe to webhooks via the Notifications tab in their Company Information module of Operate. See Enabling a Notification .
Account Webhooks
Webhook Deprecation
ChargeAfter is aligning its webhook naming, which will require merchants to gradually adapt to new domain/event types names. The following account webhooks will soon be deprecated. The application webhooks that are replacing them are already available.
account.prequalified
This event notification is sent when the lender prequalifies the account.
Note: This webhook will soon be deprecated and has been replaced by the application.prequalified webhook.
Payload
{
"eventType": "account.prequalified",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"consumerId": "string",
"amount": 123.45,
"merchantConsumerId": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.consumerId
(type: string)
Unique identifier of the consumer.amount
(type: number)
The amount for which the account is prequalified.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.
account.approved
This event notification is sent when the lender approves the account.
Note: This webhook will soon be deprecated and has been replaced by the application.approved webhook.
Payload
{
"eventType": "account.approved",
"applicationId": "string",
"lenderId": "string",
"consumerId": "string",
"amount": 123.45,
"lenderReferenceId": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.consumerId
(type: string)
Unique identifier of the consumer.amount
(type: number)
The amount for which the account is approved.lenderReferenceId
(type: string)
The identifier created by a lender for a specific loan or account.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
account.pending-consumer
This event notification is sent after the lender has started the review of the application and additional action is required by the consumer.
Note: This webhook will soon be deprecated and has been replaced by the application.pending-consumer webhook.
Payload
{
"eventType": "account.pending-consumer",
"applicationId": "string",
"consumerId": "string",
"lenderId": "string",
"linkId": "string",
"loanId": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.consumerId
(type: string)
Unique identifier of the consumer.lenderId
(type: string)
Unique identifier of the lender.linkId
(type: string)
Unique identifier of the link used to create the application.loanId
(type: string)
Unique identifier of a request for financing sent by ChargeAfter to the lender.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
account.pending-lender
This event notification is sent when the lender starts the review of the application.
Note: This webhook will soon be deprecated and has been replaced by the application.pending-lender webhook.
Payload
{
"eventType": "account.pending-lender",
"applicationId": "string",
"consumerId": "string",
"lenderId": "string",
"linkId": "string",
"loanId": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.consumerId
(type: string)
Unique identifier of the consumer.lenderId
(type: string)
Unique identifier of the lender.linkId
(type: string)
Unique identifier of the link used to create the application.loanId
(type: string)
Unique identifier of a request for financing sent by ChargeAfter to the lender.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
account.declined
This event notification is sent when the lender declines the account.
Note: This webhook will soon be deprecated and has been replaced by the application.declined webhook.
Payload
{
"eventType": "account.declined",
"applicationId": "string",
"lenderId": "string",
"consumerId": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.consumerId
(type: string)
Unique identifier of the consumer.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
Application Webhooks
The following webhooks notify merchants of various application lifecycle events.
If additional information is needed about an application, you can use the Get application status API.
application.created
This event notification is sent when an application session has started.
It is an alternative to the onApplicationCreated callback in the ChargeAfter SDK.
This notification is especially useful with applications that were created using the omni-link API in which the merchant only has the linkID
after the link creation. Using this notification, the merchant can track any application created with a particular link.
Payload
{
"eventType": "application.created",
"createdAt": "string",
"applicationId": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.
application.prequalified
This event notification is sent when the lender prequalifies the application.
Note: If a consumer is prequalified by more than one lender, then one webhook will be sent per lender.
Payload
{
"eventType": "application.prequalified",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"amount": 123.45
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.amount
(type: number)
The amount for which the application is prequalified.
application.approved
This event notification is sent when the lender approved the application.
Payload
{
"eventType": "application.approved",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"amount": 123.45
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.amount
(type: number)
The amount for which the application is approved.
application.pending-lender
This event notification is sent when the lender starts the review of the application.
Payload
{
"eventType": "application.pending-lender",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"reason": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.reason
(type: string)
Application status reason.
application.pending-consumer
This event notification is sent after the lender has started the review of the application and additional action is required by the consumer.
Payload
{
"eventType": "application.pending-consumer",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"reason": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.
createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.
lenderId
(type: string)
Unique identifier of the lender.
reason
(type: string)
Application status reason.
application.pending-merchant
This event notification is sent after the lender has started the review of the application and additional action is required by the merchant.
Payload
{
"eventType": "application.pending-merchant",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"reason": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.
createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.
lenderId
(type: string)
Unique identifier of the lender.
reason
(type: string)
Application status reason.
application.declined
This event notification is sent when the lender declines the application.
Note: If a consumer is prequalified by more than one lender, then one webhook will be sent per lender.
Payload
{
"eventType": "application.declined",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.
application.cancelled
This event notification is sent when the application is cancelled by the lender.
Payload
{
"eventType": "application.cancelled",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.
application.apply-confirmed
This event notification is sent when the consumer has confirmed their Apply request at the end of the application process.
This notification enables merchants to know when an application has completed successfully and to use the returned token to create a charge if applicable.
Note: This webhook will soon be deprecated.
Payload
{
"eventType": "application.checkout-confirmed",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"amount": 123.45,
"token": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of identify the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.amount
(type: number)
The amount for which the account is approved.token
(type: string)
The confirmation token that can be used to create a charge.
application.checkout-confirmed
This event notification is sent when the consumer has confirmed their Checkout request at the end of the application process.
This notification enables merchants to know when an application has completed successfully and to use the returned token to create a charge if applicable.
Payload
{
"eventType": "application.checkout-confirmed",
"createdAt": "string",
"applicationId": "string",
"lenderId": "string",
"amount": 123.45,
"token": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.applicationId
(type: string)
Unique identifier of identify the application. The application ID may be used later to retrieve application information.lenderId
(type: string)
Unique identifier of the lender.amount
(type: number)
The amount for which the account is approved.token
(type: string)
The confirmation token that can be used to create a charge, if applicable.
Postsale Webhooks
The following webhooks notify merchants of various postsale/charge lifecycle events.
postsale.authorize
This webhook is sent upon a successful authorization.
Payload
{
"eventType": "postsale.authorize",
"amount": 123.45,
"chargeId": "string",
"merchantOrderId": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.amount
(type: number)
The amount of the refund.chargeId
(type: string)
Unique identifier of the charge.merchantOrderId
(type: string)
The merchant's identifier of the order.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
postsale.refund
This webhook is sent at the creation of a refund transaction.
Payload
{
"eventType": "postsale.refund",
"amount": 123.45,
"chargeId": "string",
"lenderTransactionId": "string",
"merchantOrderId": "string",
"state": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.amount
(type: number)
The amount of the refund.chargeId
(type: string)
Unique identifier of the charge.lenderTransactionId
(type: string)
The lender's unique identifier of the transaction.merchantOrderId
(type: string)
The merchant's identifier of the order.state
(type: string)
The state of the refund transaction. Possible values:pending
: The refund transaction was created.accepted
: The lender acknowledged receiving the request to perform the refund.completed
: The refund was funded by the lender.failure
: The refund transaction failed.
merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
postsale.refund-update
This webhook is sent at the update of the state
of a refund.
Payload
{
"eventType": "postsale.refund-update",
"amount": 123.45,
"chargeId": "string",
"lenderTransactionId": "string",
"merchantOrderId": "string",
"state": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.amount
(type: number)
The amount of the refund.chargeId
(type: string)
Unique identifier of the charge.lenderTransactionId
(type: string)
The lender's unique identifier of the transaction.merchantOrderId
(type: string)
The merchant's identifier of the order.state
(type: string)
The state of the refund transaction. Possible values:pending
: The refund transaction was created.accepted
: The lender acknowledged receiving the request to perform the refund.completed
: The refund was funded by the lender.failure
: The refund transaction failed.
merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
postsale.settle
This webhook is sent at the creation of a settle transaction.
Payload
{
"eventType": "postsale.settle",
"amount": 123.45,
"chargeId": "string",
"lenderTransactionId": "string",
"merchantOrderId": "string",
"state": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.amount
(type: number)
The amount of the settle.chargeId
(type: string)
Unique identifier of the charge.lenderTransactionId
(type: string)
The lender's unique identifier of the transaction.merchantOrderId
(type: string)
The merchant's identifier of the order.state
(type: string)
The state of the settle transaction. Possible values:pending
: The settle transaction was created.accepted
: The lender acknowledged receiving the request to perform the settle.completed
: The settle was funded by the lender.failure
: The settle transaction failed.
merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
postsale.settle-update
This webhook is sent at the update of the state
of a settle.
Payload
{
"eventType": "postsale.settle-update",
"amount": 123.45,
"chargeId": "string",
"lenderTransactionId": "string",
"merchantOrderId": "string",
"state": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.amount
(type: number)
The amount of the settle.chargeId
(type: string)
Unique identifier of the charge.lenderTransactionId
(type: string)
The lender's unique identifier of the transaction.merchantOrderId
(type: string)
The merchant's identifier of the order.state
(type: string)
The state of the settle transaction. Possible values:pending
: The settle transaction was created.accepted
: The lender acknowledged receiving the request to perform the settle.completed
: The settle was funded by the lender.failure
: The settle transaction failed.
merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
reconciliation.chargeback
This webhook is sent as part of the reconciliation process when the consumer receives a chargeback (money returned to their account).
Payload
{
"eventType": "reconciliation.chargeback",
"applicationId": "string",
"consumerId": "string",
"chargeId": "string",
"amount": 123.45,
"merchantOrderId": "string",
"transactionId": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.applicationId
(type: string)
Unique identifier of the application.consumerId
(type: string)
Unique identifier of the consumer.chargeId
(type: string)
Unique identifier of the charge.amount
(type: number)
The amount of the chargeback.merchantOrderId
(type: string)
The merchant's identifier of the order.transactionId
(type: string)
The unique identifier of the chargeback.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.
reconciliation.chargeback-reversal
This webhook is sent as part of the reconciliation process when a chargeback (money returned to the consumer account) is reversed.
Payload
{
"eventType": "reconciliation.chargeback-reversal",
"applicationId": "string",
"consumerId": "string",
"chargeId": "string",
"amount": 123.45,
"merchantOrderId": "string",
"transactionId": "string",
"merchantConsumerId": "string",
"createdAt": "string"
}
Field descriptions
eventType
(type: string)
The name of the webhook.applicationId
(type: string)
Unique identifier of the application.consumerId
(type: string)
Unique identifier of the consumer.chargeId
(type: string)
Unique identifier of the charge.amount
(type: number)
The amount of the chargeback reversal.merchantOrderId
(type: string)
The merchant's identifier of the order.transactionId
(type: string)
The unique identifier of the chargeback reversal.merchantConsumerId
(type: string)
The merchant's identifier of the consumer.
Note: If the merchant has not provided this optional information, then this parameter is null.createdAt
(type: ISO 8601-formatted string)
Timecode of when the webhook was created.