added

Changes to Merchant Notifications

ChargeAfter is aligning its webhook naming, which will require merchants to gradually adapt to new domain/event types names.

Old WebhookNew Webhook
account.approvedapplication.approved
account.prequalifiedapplication.prequalified
account.pending-lenderapplication.pending-lender
account.pending-consumerapplication.pending-consumer
account.declinedapplication.declined
postsale.authorizepostsale.authorize.accepted
postsale.settlepostsale.settle.accepted
postsale.refundpostsale.refund.accepted

Webhooks in the application and disputes domains will be released in the coming week. See below for their descriptions and payloads.

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. We will inform you of its replacement.

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",
  "accountId": 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.
  • accountId: (type: string)
    Unique identifier of the account.
  • 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.

Disputes Webhooks

The following webhooks notify of various dispute lifecycle events.

disputes.created

This event notification is sent when a dispute has been created.

Payload

{
  "eventType": "disputes.created",
  "createdAt": "string",
  "disputeId": "string",
  "lenderDisputeId": "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.
  • disputeId (type: string)
    Unique identifier of the dispute, created by ChargeAfter.
  • lenderDisputeId (type: string)
    Unique identifier of the dispute, created by the lender.
  • lenderId (type: string)
    Unique identifier of the lender.

disputes.lender.updated

This event notification is sent when a dispute assigned to the lender is updated.

Payload

{
  "eventType": "disputes.lender.updated",
  "createdAt": "string",
  "disputeId": "string",
  "lenderDisputeId": "string"
}

Field descriptions

  • eventType (type: string)
    The name of the webhook.
  • createdAt (type: ISO 8601-formatted string)
    Timecode of when the webhook was created.
  • disputeId (type: string)
    Unique identifier of the dispute, created by ChargeAfter.
  • lenderDisputeId (type: string)
    Unique identifier of the dispute, created by the lender.

disputes.resolved

This event notification is sent when a dispute is resolved.

Payload

{
  "eventType": "disputes.resolved",
  "createdAt": "string",
  "disputeId": "string",
  "lenderDisputeId": "string"
}

Field descriptions

  • eventType (type: string)
    The name of the webhook.
  • createdAt (type: ISO 8601-formatted string)
    Timecode of when the webhook was created.
  • disputeId (type: string)
    Unique identifier of the dispute, created by ChargeAfter.
  • lenderDisputeId (type: string)
    Unique identifier of the dispute, created by the lender.