Skip to main content

Events and Webhooks

For our Partners and their customers, it is essential to have access to Notifications of status changes across the lifecycle of an Account, Transaction, or other processes. The Exact platform records Events for all core functions with Webhooks available for Notifications.

Events

Events contain the identifiers of resources affected by the operation that created the Event. These identifiers can be used to look up or act upon resources programmatically. They also contain the User's identifier (if a User Token was used to authenticate the operation), the Token Type (User or Application), as well as the time/date of the Event.

Event Status

The Exact platform tracks Event start and finish time as well as duration. This information is included in the Webhook payload sent back to you.

  • start: The Event has started.
  • success: The Event has been completed and was successful.
  • failure: The Event has been completed and failed.
  • finish: The Event has been completed, regardless of whether the Event succeeds or fails.

Webhooks

In order to fully leverage the value of our Events feature, it's most useful to set up one or more Webhook subscriptions. Webhooks are preconfigured POST requests that our servers will issue to the specified URL whenever an Event you've subscribed to is triggered. The body of the request payload will be the Event itself.

To create a Webhook subscription, use the following request with a valid User Token or Application Token in the Authorization header field:

{
"method": "post",
"url": "https://api.exactpaysandbox.com/organization/{organizationId}/webhook",
"headers": {
"Authorization": "64b6d9ad24f5773308785e70"
},
"body": {
"event": "accounts.create",
"url": "https://myserver.io/exact-webhook/account-creation"
}
}
optional headers
{
"headers": [
{
"key": "x-test-custom",
"value": "eporer"
},
{
"key": "x-another",
"value": "keyvalyue"
}
]
}

The above example shows the creation of a Webhook that will be triggered against the endpoint https://myserver.io/exact-webhook/account-creation whenever an accounts.create Event is triggered under the given Organization.

Available Events for Webhook subscription

Onboardings

Payments

Payment Method

Report


Events API

All the events can be accessed with the following example.

{
"method": "get",
"url": "https://api.exactpaysandbox.com/event",
"headers": {
"Authorization": ""
}
}

Particular event can be accessed by with an eventId.

{
"method": "get",
"url": "https://api.exactpaysandbox.com/event/eventId",
"headers": {
"Authorization": ""
}
}

Available Events for Events API

Onboardings

Payments

Orders

Payment Method

Customers

Report


Onboardings

account.create

When a new Onboarding Application to onboard an Account or the Organization is submitted through this endpoint POST organization/{organizationId}/onboarding and the Onboarding Application is approved. The Exact Payments system will create an account.create event. This event can be used to track this operation by creating a webhook subscription.

If you would like to know how to create a new onboarding Application for the new Account or Sub Organization you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "64e7e3706902d6352ee923aa",
"createdAt": "2023-08-24T23:10:40.663Z",
"updatedAt": "2023-08-24T23:10:41.318Z",
"type": "account.create",
"requestId": "31ec820a-bf44-47cc-81de-42caa301d685",
"url": "/organization/57f424bb7e534ff71f6e5626/account",
"isAuthenticated": true,
"isInternal": true,
"currentTokenType": "system",
"currentAccount": "57f424bb7e534ff71f6e5626",
"targetAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "",
"skip": 0,
"limit": 100,
"succeededAt": "2023-08-24T23:10:41.296Z",
"expiresAt": "2030-08-22T18:02:18.854Z",
"account": "64e7e3702794d3e606d24c9b",
"parentAccount": "57f424bb7e534ff71f6e5626",
"finishedAt": "2023-08-24T23:10:41.296Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "64e7e3706902d6352ee923aa"
}

Payments

payment.create

When you create a payment with this endpoint POST /payments. The Exact Payments system will create an payment.create event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to create a payment you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "6254b0139fe712db84101db5",
"createdAt": "2022-04-11T22:47:47.617Z",
"type": "payment.create",
"requestId": "055c8f97-ef07-48fb-b13c-f45aea192851",
"url": "/payments",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-04-05T23:20:37.953Z",
"updatedAt": "2022-04-11T22:47:48.310Z",
"__v": 0,
"succeededAt": "2022-04-11T22:47:48.304Z",
"finishedAt": "2022-04-11T22:47:48.304Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "6254b0139fe712db84101db5"
}

payment.void

When you void an existing payment with this endpoint POST /payments/:paymentId/void. The Exact Payments system will create an payment.void event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to void a payment you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "6254afa89fe712db84101c80",
"createdAt": "2022-04-11T22:46:00.479Z",
"type": "payment.void",
"requestId": "b5ae294a-94cc-4378-85fd-090e253c9e69",
"url": "/payments/6254afa587009c7b68b46e16/void",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-04-05T23:20:37.953Z",
"updatedAt": "2022-04-11T22:46:00.483Z",
"__v": 0,
"isStarted": true,
"isEnded": false,
"status": "in-progress",
"id": "6254afa89fe712db84101c80"
}

payment.capture

When you capture a payment with this endpoint POST /payments/:paymentId/capture. The Exact Payments system will create an payment.capture event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to capture a payment you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "627b09bc3445e572ffb799c9",
"createdAt": "2022-05-11T00:56:28.960Z",
"type": "payment.capture",
"requestId": "74dc6109-fa9a-40a2-ab67-509ca293e33b",
"url": "/payments/627b09a90e1a776579d2d19b/capture",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-05-04T00:50:57.194Z",
"updatedAt": "2022-05-11T00:56:29.240Z",
"__v": 0,
"succeededAt": "2022-05-11T00:56:29.232Z",
"transaction": "627b09bc0e1a776579d2d1a8",
"finishedAt": "2022-05-11T00:56:29.232Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "627b09bc3445e572ffb799c9"
}

payment.refund

When you refund an existing payment with this endpoint POST /payments/:paymentId/refund. The Exact Payments system will create an payment.refund event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to refund an existing payment you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "6254b01c9fe712db84101dd9",
"createdAt": "2022-04-11T22:47:56.625Z",
"type": "payment.refund",
"requestId": "8068eca3-28e9-4ed2-b3e2-5e766ff4dfc9",
"url": "/payments/6254b01887009c7b68b46f45/refund",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-04-05T23:20:37.953Z",
"updatedAt": "2022-04-11T22:47:58.646Z",
"__v": 0,
"succeededAt": "2022-04-11T22:47:58.640Z",
"finishedAt": "2022-04-11T22:47:58.640Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "6254b01c9fe712db84101dd9"
}

payment.settle

Once a payment have been settled by The payment processor, The Exact Payments system will create an payment.settle event that can be used to track payment settlement operation by creating a webhook subscription.

*Note : Payment settlement can only be initiated by Processor, hence user will not have any end-point to settle a payment.

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "62d747c87b4122c0a3360d16",
"createdAt": "2022-07-20T00:09:44.503Z",
"type": "payment.settle",
"requestId": "2d63176d-6fc9-475a-9b1f-f951f7b254d1",
"url": "/webhook/dwolla",
"isAuthenticated": false,
"isInternal": false,
"currentTokenType": "",
"currentApplication": "",
"skip": 0,
"limit": 100,
"expiresAt": "2029-07-03T18:57:44.810Z",
"transaction": "62d747a1214ec6a322eb7a27",
"updatedAt": "2022-07-20T00:09:44.538Z",
"__v": 0,
"account": "62d7389a5c7c1c76da33100b",
"succeededAt": "2022-07-20T00:09:44.517Z",
"finishedAt": "2022-07-20T00:09:44.517Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "62d747c87b4122c0a3360d16"
}

Orders

order.create

When you create a new order with this endpoint POST /account/:accountId/orders. The Exact Payments system will create an order.create event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to create a new order you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "639242bf7bf57d4c63f6ae9f",
"createdAt": "2022-12-08T20:02:07.601Z",
"type": "order.create",
"requestId": "46eb2cac-7440-477d-907a-7e4242ba5034",
"url": "/orders",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747db186e15057b1eb170f",
"targetAccount": "62747db186e15057b1eb170f",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-12-03T17:52:25.813Z",
"updatedAt": "2022-12-08T20:02:07.632Z",
"__v": 0,
"failedAt": "2022-12-08T20:02:07.601Z",
"failureType": "order-validation-failed",
"succeededAt": "2022-12-08T20:02:07.602Z",
"finishedAt": "2022-12-08T20:02:07.602Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "639242bf7bf57d4c63f6ae9f"
}

order.access-token.create

When you Create a new access token for an existing order with this endpoint POST /orders/:orderId/accessToken. The Exact Payments system will create an order.access-token.create event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to create a new access token for an existing order you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "6392585d7bf57d4c63f6b060",
"createdAt": "2022-12-08T21:34:21.593Z",
"type": "order.access-token.create",
"requestId": "c19bf90c-ffdf-40e6-a640-f9de938db23e",
"url": "/orders/:orderId/access-token",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747e0886e15057b1eb1714",
"targetAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-12-03T17:52:25.813Z",
"updatedAt": "2022-12-08T21:34:21.664Z",
"__v": 0,
"failedAt": "2022-12-08T21:34:21.651Z",
"failureType": "access-token-creation-failed",
"succeededAt": "2022-12-08T21:34:21.652Z",
"finishedAt": "2022-12-08T21:34:21.652Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "6392585d7bf57d4c63f6b060"
}

order.update

When you update an existing order with this endpoint PUT /orders/:orderId. The Exact Payments system will create an order.update event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to update an existing order you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "639254fe7bf57d4c63f6af9b",
"createdAt": "2022-12-08T21:19:58.845Z",
"type": "order.update",
"requestId": "75b1fbb3-52a6-47a7-bb67-4a3ca7ec0ecf",
"url": "/account/62747e0886e15057b1eb1714/orders/3160f31b-7ade-4c10-ab28-4524ab0abf6e",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747db186e15057b1eb170f",
"targetAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-12-03T17:52:25.813Z",
"updatedAt": "2022-12-08T21:19:59.076Z",
"__v": 0,
"succeededAt": "2022-12-08T21:19:59.066Z",
"transaction": "6392549878b257c7b638f6ca",
"finishedAt": "2022-12-08T21:19:59.066Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "639254fe7bf57d4c63f6af9b"
}

order.payment-attempts.reset

When you reset payment attempts for an existing order with this endpoint PUT /orders/:orderId/reset. The Exact Payments system will create an order.payment-attempts.reset event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to reset payment attempts for an existing order you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "639257267bf57d4c63f6b015",
"createdAt": "2022-12-08T21:29:10.926Z",
"type": "order.payment-attempts.reset",
"requestId": "b48f7d02-f157-4dee-ba32-7f509e9ad561",
"url": "/orders/e497c9ed-44ce-4f96-97d8-56bcb52dd3bf/reset",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747e0886e15057b1eb1714",
"targetAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-12-03T17:52:25.813Z",
"updatedAt": "2022-12-08T21:29:11.030Z",
"__v": 0,
"succeededAt": "2022-12-08T21:29:11.022Z",
"finishedAt": "2022-12-08T21:29:11.022Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "639257267bf57d4c63f6b015"
}

order.pay-with-token

When you pay for order with token with this endpoint POST /account/:accountId/orders/:orderId/pay. The Exact Payments system will create an order.pay-with-token event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to pay for order with token you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "63e13e02ec60892ee6cddd35",
"createdAt": "2023-02-06T17:50:58.609Z",
"type": "order.pay-with-token",
"requestId": "d907426f-93f3-43af-9cfb-7badc82e7fc9",
"url": "/account/62747e0886e15057b1eb1714/orders/58ecb20b-876d-4070-8ba7-50b47e17d292/pay",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747db186e15057b1eb170f",
"targetAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2030-02-04T10:43:36.878Z",
"updatedAt": "2023-02-06T17:50:58.638Z",
"__v": 0,
"succeededAt": "2023-02-06T17:50:58.612Z",
"finishedAt": "2023-02-06T17:50:58.612Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "63e13e02ec60892ee6cddd35"
}

order.browser-tokenize

When you tokenize an existing order with this endpoint POST /orders/:orderId/tokenize. The Exact Payments system will create an order.browser-tokenize event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to tokenize an existing order you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "63dd3ae0fa39c4eaf49770a5",
"createdAt": "2023-02-03T16:48:32.243Z",
"type": "order.browser-tokenize",
"requestId": "7ac2cd77-8f5e-447a-b371-8438c8b7bdb7",
"url": "/orders/45a3ca45-2dbd-48cd-a1db-b3eff713d9f3/tokenize",
"isAuthenticated": false,
"isInternal": false,
"currentTokenType": "",
"currentApplication": "",
"skip": 0,
"limit": 100,
"expiresAt": "2030-02-01T08:28:37.256Z",
"updatedAt": "2023-02-03T16:48:32.280Z",
"__v": 0,
"failedAt": "2023-02-03T16:48:32.245Z",
"failureType": "order-validation-failed",
"succeededAt": "2023-02-03T16:48:32.246Z",
"finishedAt": "2023-02-03T16:48:32.246Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "63dd3ae0fa39c4eaf49770a5"
}

order.browser-payment

When you pay for order with payment tokenId with this endpoint POST /orders/:orderId/pay. The Exact Payments system will create an order.browser-payment event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to pay for order with payment tokenId you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "639caea0ca5cfaf5e866f689",
"createdAt": "2022-12-16T17:45:04.372Z",
"type": "order.browser-payment",
"requestId": "f02ab433-ee55-4443-863b-54da8068ae9c",
"url": "/orders/e949b9ab-108e-4ad4-a78e-e9326b3d4809/pay",
"isAuthenticated": false,
"isInternal": false,
"currentTokenType": "",
"currentApplication": "",
"skip": 0,
"limit": 100,
"expiresAt": "2029-12-11T23:33:46.040Z",
"updatedAt": "2022-12-16T17:45:05.755Z",
"__v": 0,
"succeededAt": "2022-12-16T17:45:05.734Z",
"finishedAt": "2022-12-16T17:45:05.734Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "639caea0ca5cfaf5e866f689"
}

Payment Method

payment-method.ensure

When you create payment method with this endpoint POST /payment-method. The Exact Payments system will create an payment-method.ensure event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to create payment method you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "6282bbe93445e572ffb80e19",
"createdAt": "2022-05-16T21:02:33.845Z",
"type": "payment-method.ensure",
"requestId": "ec18a376-fb47-4861-8bd8-6d4810d0512f",
"url": "/payment-method",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "user",
"currentUser": "57f4426a8b872a89ef319baf",
"currentAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-05-04T00:50:57.194Z",
"updatedAt": "2022-05-16T21:02:33.955Z",
"__v": 0,
"succeededAt": "2022-05-16T21:02:33.946Z",
"finishedAt": "2022-05-16T21:02:33.946Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "6282bbe93445e572ffb80e19"
}

payment-method.verify-micro-deposit

When you verify micro-deposits on an ACH payment method with this endpoint POST /payment-method/:payment-token/verify. The Exact Payments system will create an payment-method.verify-micro-deposit event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to verify micro-deposits on an ACH payment method you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "647e5a757270729a65b4923f",
"createdAt": "2023-06-05T21:58:13.167Z",
"type": "payment-method.verify-micro-deposit",
"requestId": "0a98bae2-339a-4d6a-a7c6-b871fbb6c956",
"url": "/account/62747e0886e15057b1eb1714/payment-method/27e3bcbc-15c8-423c-8e26-8c5e459b493f/verify",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747db186e15057b1eb170f",
"targetAccount": "62747db186e15057b1eb170f",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2030-06-03T21:26:09.091Z",
"account": "62747e0886e15057b1eb1714",
"paymentMethod": "27e3bcbc-15c8-423c-8e26-8c5e459b493f",
"updatedAt": "2023-06-05T21:58:14.020Z",
"__v": 0,
"succeededAt": "2023-06-05T21:58:14.008Z",
"finishedAt": "2023-06-05T21:58:14.008Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "647e5a757270729a65b4923f"
}

payment-method.update

When you update a payment method with this endpoint PUT payment-method/:tokenId. The Exact Payments system will create an payment-method.update event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to update a payment method you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "62c48dc57b4122c0a3302f8a",
"createdAt": "2022-07-05T19:15:17.841Z",
"type": "payment-method.update",
"requestId": "39fdfd2c-5a52-4e0e-a6af-13c83f8a4f86",
"url": "/payment-method/5b99bfa3-582a-4a65-88cd-faa11432c966",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "626aeb623711cc66ae5c137c",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-07-03T18:57:44.810Z",
"updatedAt": "2022-07-05T19:15:17.890Z",
"__v": 0,
"succeededAt": "2022-07-05T19:15:17.866Z",
"finishedAt": "2022-07-05T19:15:17.866Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "62c48dc57b4122c0a3302f8a"
}

payment-method.delete

When you delete a payment method with this endpoint DELETE payment-method/:paymentMethodTokenId. The Exact Payments system will create an payment-method.delete event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to delete a payment you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "628426cd3445e572ffb82b58",
"createdAt": "2022-05-17T22:50:53.225Z",
"type": "payment-method.delete",
"requestId": "7945e779-09d0-458f-909c-8527134460a2",
"url": "/account/62747e0886e15057b1eb1714/payment-method/1882974d-38f2-40b1-bcca-a530c7da3103",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "user",
"currentUser": "57f4426a8b872a89ef319baf",
"currentAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-05-04T00:50:57.194Z",
"updatedAt": "2022-05-17T22:50:53.266Z",
"__v": 0,
"succeededAt": "2022-05-17T22:50:53.239Z",
"finishedAt": "2022-05-17T22:50:53.239Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "628426cd3445e572ffb82b58"
}

When you attach payment method for a customer with this endpoint POST /account/:accountId/customer/:customerId/payment-method. The Exact Payments system will create an payment-method.link-customer event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to attach payment method for a customer you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "62994ddf3445e572ffb91775",
"createdAt": "2022-06-02T23:55:11.042Z",
"type": "payment-method.link-customer",
"requestId": "6534acba-f166-4b79-acd2-3942fcdcb261",
"url": "/customer/62993ba4438130daeb307342/payment-method",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-05-04T00:50:57.194Z",
"updatedAt": "2022-06-02T23:55:11.102Z",
"__v": 0,
"succeededAt": "2022-06-02T23:55:11.069Z",
"finishedAt": "2022-06-02T23:55:11.069Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "62994ddf3445e572ffb91775"
}

When you unlink a payment method from a customer with this endpoint DELETE /account/:accountId/customer/:customerId/payment-method/:tokenId. The Exact Payments system will create an payment-method.unlink-from-customer event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to unlink a payment method from a customer you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "629957d53445e572ffb91889",
"createdAt": "2022-06-03T00:37:41.044Z",
"type": "payment-method.unlink-from-customer",
"requestId": "654d51c2-6677-4afa-9abe-be57637f7c91",
"url": "/customer/62993ba4438130daeb307342/payment-method/51be5510-14b6-4d1d-9568-134c107326f9",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-05-04T00:50:57.194Z",
"updatedAt": "2022-06-03T00:37:41.071Z",
"__v": 0,
"succeededAt": "2022-06-03T00:37:41.062Z",
"finishedAt": "2022-06-03T00:37:41.062Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "629957d53445e572ffb91889"
}

Customer

customer.create

When you create customer for a given account with this endpoint POST account/:accountId/customer. The Exact Payments system will create an customer.create event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to create customer for a given account you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

    {
"_id": "62b6548f5b66f7699026894f",
"createdAt": "2022-06-25T00:19:27.611Z",
"type": "customer.create",
"requestId": "90bcadd1-6db4-42a6-90c1-8a1ac3b4e017",
"url": "/customer",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "application",
"currentAccount": "62747e0886e15057b1eb1714",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"expiresAt": "2029-06-09T00:19:22.651Z",
"updatedAt": "2022-06-25T00:19:27.644Z",
"__v": 0,
"customer": "62b6548f1c7111384ac3ad74",
"succeededAt": "2022-06-25T00:19:27.631Z",
"finishedAt": "2022-06-25T00:19:27.631Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "62b6548f5b66f7699026894f"
}

Report

report.create

When you create a new report with this endpoint POST /report/:domain. The Exact Payments system will create an report.create event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to create a report you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

{
"_id": "64b5669eea8c22186e23a968",
"createdAt": "2023-07-17T16:04:46.686Z",
"updatedAt": "2023-07-17T16:04:46.841Z",
"type": "report.create",
"requestId": "b518405a-73e0-4692-ac6b-cd78383878f2",
"url": "/report/account",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "user",
"currentUser": "57f4426a8b872a89ef319baf",
"currentAccount": "57f424bb7e534ff71f6e5626",
"targetAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"skip": 0,
"limit": 100,
"succeededAt": "2023-07-17T16:04:46.815Z",
"expiresAt": "2030-07-15T15:23:46.468Z",
"accounts": [
"119149e59685ff6796ee742e"
],
"user": "57f4426a8b872a89ef319baf",
"finishedAt": "2023-07-17T16:04:46.815Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "64b5669eea8c22186e23a968"
}

report.query

When you list the reports with this endpoint GET /report. The Exact Payments system will create an report.query event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to list reports you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

{
"_id": "64b1da29a73eeeccc6a60275",
"createdAt": "2023-07-14T23:28:41.958Z",
"updatedAt": "2023-07-14T23:28:41.985Z",
"type": "report.query",
"requestId": "ab7a05d7-b219-497c-9711-6c5dbf7c416e",
"url": "/report?%24skip=0&%24limit=10&%24sort=createdAt%3Adesc&_id=64b1d740f90c9671cb4ca3d1",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "user",
"currentUser": "57f4426a8b872a89ef319baf",
"currentAccount": "57f424bb7e534ff71f6e5626",
"targetAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"query": {
"_id": "64b1d740f90c9671cb4ca3d1"
},
"skip": 0,
"limit": 10,
"sort": {
"createdAt": -1
},
"succeededAt": "2023-07-14T23:28:41.969Z",
"expiresAt": "2030-07-12T22:11:48.565Z",
"finishedAt": "2023-07-14T23:28:41.969Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "64b1da29a73eeeccc6a60275"
}

report.download

When you download a report with this endpoint GET /report/:id. The Exact Payments system will create an report.download event that can be used to track this operation by creating a webhook subscription.

If you would like to know how to create a webhook subscription or download a report you can use the following links:

The payload you receive on your endpoint once the webhook is invoked will look like this:

{
"_id": "64b1d9efa73eeeccc6a6015e",
"createdAt": "2023-07-14T23:27:43.321Z",
"updatedAt": "2023-07-14T23:27:43.507Z",
"type": "report.download",
"requestId": "3479abab-41cd-40ec-8e8f-d444fb270c12",
"url": "/report/64b1d740f90c9671cb4ca3d1?format=json",
"isAuthenticated": true,
"isInternal": false,
"currentTokenType": "user",
"currentUser": "57f4426a8b872a89ef319baf",
"currentAccount": "57f424bb7e534ff71f6e5626",
"targetAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "admin-pwa",
"query": {
"format": "json"
},
"skip": 0,
"limit": 100,
"succeededAt": "2023-07-14T23:27:43.495Z",
"expiresAt": "2030-07-12T22:11:48.565Z",
"account": "57f424bb7e534ff71f6e5626",
"finishedAt": "2023-07-14T23:27:43.495Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "64b1d9efa73eeeccc6a6015e"
}

report.run

Report generation is an automatic process that will be executed asynchronously inside Exact Payments system, the process will look up for pending reports and will start its creation, you don't need to take any action for this to occur

The payload you receive on your endpoint once the webhook is invoked will look like this:

{
"_id": "64b1d74ba73eeeccc6a5c96b",
"createdAt": "2023-07-14T23:16:27.659Z",
"updatedAt": "2023-07-14T23:16:59.250Z",
"type": "report.run",
"isAuthenticated": false,
"isInternal": false,
"currentAccount": "57f424bb7e534ff71f6e5626",
"targetAccount": "57f424bb7e534ff71f6e5626",
"currentApplication": "",
"succeededAt": "2023-07-14T23:16:58.694Z",
"expiresAt": "2030-07-12T22:11:48.565Z",
"onboardings": [
"c7965c64918092ad1de8"
],
"report": "64b1d740f90c9671cb4ca3d1",
"subAccounts": [
"119149e59685ff6796ee742e"
],
"finishedAt": "2023-07-14T23:16:58.694Z",
"isStarted": false,
"isEnded": true,
"status": "success",
"id": "64b1d74ba73eeeccc6a5c96b"
}