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"
}
}
{
"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
- order.create
- order.access-token.create
- order.update
- order.payment-attempts.reset
- order.pay-with-token
- order.browser-tokenize
- order.browser-payment
Payment Method
- payment-method.ensure
- payment-method.verify-micro-deposit
- payment-method.update
- payment-method.delete
- payment-method.link-customer
- payment-method.unlink-from-customer
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"
}
payment-method.link-customer
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"
}
payment-method.unlink-from-customer
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"
}