Setup

To enable notifications, please reach out to ChargeAfter support with the following info:

  • A dedicated URL that can receive the notification. (ChargeAfter will use this URL to POST the notification.)
  • Authorization header that will be attached to the HTTP POST call.

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

{
  "applicationId": "string",
  "linkId": "string",
  "createdAt": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify the application. The application ID may be used later to retrieve application information.
  • linkId (type: string)
    Unique identifier used to identify the link used to start the application. This optional field is returned only if a link was used to create the application.
  • createdAt (type: ISO 8601-formatted string)

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.

Payload

{
  "applicationId": "string",
  "token": "string",
  "createdAt": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify the application. The application ID may be used later to retrieve application information.
  • token (type: string)
    The account token that can be used to create a charge.
  • createdAt (type: ISO 8601-formatted string)

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

{
  "applicationId": "string",
  "token": "string",
  "createdAt": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify the application. The application ID may be used later to retrieve application information.
  • token (type: string)
    The confirmation token that can be used to create a charge.
  • createdAt (type: ISO 8601-formatted string)

application.declined

This event notification is sent when the application is declined.

Payload

{
  "applicationId": "string",
  "consumerId": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify the application. The application ID may be used later to retrieve application information.
  • consumerId (type: string)
    Unique identifier of the consumer.

account.approved

This event notification is sent when the lender approves the account.

Payload

{
  "applicationId": "string",
  "lenderId": "string",
  "consumerId": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify 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.

account.declined

This event notification is sent when the lender declines the account.

Payload

{
  "applicationId": "string",
  "lenderId": "string",
  "consumerId": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify 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.

account.pending

This event notification is sent when the lender starts the review of the account.

Payload

{
  "applicationId": "string",
  "lenderId": "string",
  "consumerId": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify 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.

account.prequalified

This event notification is sent when the lender prequalifies the account.

Payload

{
  "applicationId": "string",
  "lenderId": "string",
  "consumerId": "string"
}

Field descriptions

  • applicationId (type: string)
    Unique identifier used to identify 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.

links.checkout-data-update

This webhook is sent with updated information on a checkout after the consumer updates the cart.

For example, if the merchant sends the following payload to ChargeAfter:

{
    "linkId": "string",
    "applicationId": "string",
    "correlationId": "string",
    "tags": {
        "key1": "value1",
        "key2": "value2"
    },
    "totalAmount": 123.45,
    "totalTaxAmount": 0.0,
    "shippingAmount": 0.0,
    "consumer": {
        "merchantConsumerId": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "mobilePhoneNumber": "string",
        "billingAddress": {
            "state": "string",  // (ISO 3166-2:US codes)
            "city": "string",
            "line1": "string",
            "line2": "string",
            "zipCode": "string"
        },
        "shippingAddress": {
            "state": "string",  // (ISO 3166-2:US codes)
            "city": "string",
            "line1": "string",
            "line2": "string",
            "zipCode": "string"
        }
    },
    "discounts": [
        {
            "name": "string",
            "amount": 0.0
        }
    ]
} 

Then ChargeAfter returns the following payload via webhook:

{
    "totalAmount": 123.45,
    "totalTaxAmount": 0.0,
    "shippingAmount": 0.0
}