The hook object
The HOOK object is used to generate "events". These events are addressed to your information system according to the object status with which they interact.
You can receive HTTP notifications on your infrastructure that you have previously set up for one or more points of sale.
All API objects are available in the Hooks.
In other words, during each interaction with an object due to a status or data update, an HTTP request will be sent to the set up server to warn you about the operation that is currently taking place. Keep in mind that you can't setup 2 HOOk for the same endpoint.
For example, a successful or failed transaction, a new subscription creation, a new customer, an unpaid...
The remote server must confirm the correct receipt of the request by returning a 2XX code. If not, a new request will be sent every 5 minutes for 2h.
2 types of WEBHOOKS are available in the plateform :
- the ones connected to one or many point of sales. You can create many HOOK as long as your Point of Sales are differents.
- the ones connected to your account. Those one can't be duplicated. You can't create more that one HOOK profile per endpoint.
Problem receiving WebHooks on your server
To check the reception of Webhooks, we advise you to use the http://webhook.site service. Enter the url given by the site and the email address, and run your tests. Once you are satisfied with the hooks responses, you can replace the email address and url with your own and run the test again.
Points of sales related hooks
The TRANSACTION object
TRANSACTION_SUCCESS
When a transaction has been approved by the issuing bank
TRANSACTION_CANCELED
When a transaction is cancelled
TRANSACTION_CAPTURED
When a transaction is sent to the clearing and will be debited
TRANSACTION_DISPUTED
When a transaction is turned to a chargeback
TRANSACTION_FAILED
When a transaction has been declined by the issuing bank
TRANSACTION_FRAUDULENT
When a transaction is refused because it has meet a blacklist element (Email, IP, Card, …)
TRANSACTION_NOT_ACCEPTED
When a transaction is refused because entering an acceptance rule
TRANSACTION_REFUNDED
When a transaction has been refunded to the card holder
TRANSACTION_RISK
When a transaction is refused because of its risk score exceed the limit
TRANSACTION_THREEDS_AUTH_FAILED
When a transaction is declined because the card holder failed to authenticate himself during the 3DS process
The CREDIT object
CREDIT_CREATED
When a credit is created
CREDIT_CANCELED
When a credit is cancelled
CREDIT_UPDATED
When a credit is updated
The REFUND object
REFUND_CREATED
When a refund is created
REFUND_CANCELED
When a refund is cancelled
The 3-D SECURE object
ENROLLMENT_CREATED
When a call to create a 3D-Secure is created
L'objet DISPUTE
DISPUTE_UPDATED
When a dispute is created
RETRIEVAL_NOTICED
When a request for information is sent to you
RETRIEVAL_CLOSE
When a request for information is correctly satisfied
CHARGEBACK_NOTICED
When an unpaid is addressed to you by a customer
CHARGEBACK_WON
When an unpaid is rejected
CHARGEBACK_LOST
When an unpaid is confirmed
L'objet SDD TRANSACTION
MANDATE_CREATED
When a mandate is created
MANDATE_SIGNED
When a mandate is signed
MANDATE_OBSOLETED
When a mandate is obsolete
SDDTRANSACTION_CREATED
When a SDD Transaction is created
SDDTRANSACTION_VALIDATED
When a SDD Transaction is validated
SDDTRANSACTION_CANCELED
When a SDD Transaction is cancelled
BANKACCOUNT_ACCEPTED
When a Bank Account is accepted
L'objet SUBSCRIPTION
SUBSCRIPTIONMODEL_CREATED
When a Subscription model is created
SUBSCRIPTIONMODEL_UPDATED
When a Subscription model is updated
SUBSCRIPTION_CREATED
When a Subscription is created
SUBSCRIPTION_FAILED
When a Subscription failed
SUBSCRIPTION_UPDATED
When a Subscription is updated
SUBSCRIPTION_CANCELED
When a Subscription is cancelled
SUBSCRIPTION_ACTIVE
When a Subscription is active
SUBSCRIPTION_FAILURE
When a Subscription failed to be paid
SUBSCRIPTION_UNPAID
When a Subscription is unpaid
SUBSCRIPTION_REACTIVATED
When a Subscription is reactivated
INVOICEITEM_CREATED
When an invoice item is created
INVOICEITEM_UPDATED
When an invoice item is updated
INVOICEITEM_DELETED
When an invoice item is deleted
INVOICE_CREATED
When an invoice is created
INVOICE_UPDATED
When an invoice is updated
INVOICE_CLOSED
When an invoice is closed
INVOICE_REOPEN
When an invoice is reopen
INVOICE_TRANSACTION_SUCCEEDED
When an invoice transaction succeeded
INVOICE_TRANSACTION_FAILED
When an invoice transaction failed
L'objet INSTALLMENT
INSTALLMENTPAYMENT_CREATED
When an installment is created
INSTALLMENTPAYMENT_FAILED
When an installment failed
INSTALLMENTPAYMENT_UPDATED
When an installment is updated
INSTALLMENTPAYMENT_CANCELED
When an installment is cancelled
INSTALLMENTPAYMENT_ACTIVATED
When an installment is activated
INSTALLMENTPAYMENT_FAILURE
When an installment failed to be paid
INSTALLMENTPAYMENT_PAID
When an installment is paid
INSTALLMENTPAYMENT_UNPAID
When an installment is unpaid
INSTALLMENT_TRANSACTION
When a transaction of an installment is make
L'objet WIRETRANSFER
WIRETRANSFER_CREATED
When a wire transfer is created
WIRETRANSFER_UPDATED
When a wire transfer is updated
WIRETRANSFER_RECEIVED
When a wire transfer is received
WIRETRANSFER_CANCELED
When a wire transfer is cancelled
Account related hooks
The PAYOUT object
PAYOUT_CREATED
When a payout will be asked, you'll receive :
{
"payoutId": "a6871574-5970-4af9-a271-f72097397038",
"creationDate": "2018-05-28T00:06:07.654084+02:00",
"merchantPayoutId": null,
"currency": "EUR",
"amount": 500000,
"destinationBankAccountId": "f72097397038-b286-421d-836d-e712ccef3faf",
"description": "Automatic Payout",
"status": "PENDING",
"cancellationDate": null,
"automatic": true,
"expectedArrivalDate": "2018-06-01",
"arrivalDate": null,
"payoutReference": "PAYOUT-1558908389270",
"walletId": "f72097397038-7696-43ac-9fd4-f72097397038",
"movementId": "f72097397038-400c-4dc8-bba2-f72097397038",
"cancelMovementId": null,
"additionalData": []
}
PAYOUT_UPDATED
When an ongoing payout has been updated.
PAYOUT_CANCELED
When an ongoing payout has been canceled.
PAYOUT_PAID
When an ongoing payout has been properly executed.
You'll receive :
{
"payoutId": "a6871574-5970-4af9-a271-f72097397038",
"creationDate": "2018-05-28T00:06:07.654084+02:00",
"merchantPayoutId": null,
"currency": "EUR",
"amount": 500000,
"destinationBankAccountId": "f72097397038-b286-421d-836d-e712ccef3faf",
"description": "Automatic Payout",
"status": "PAID",
"cancellationDate": null,
"automatic": true,
"expectedArrivalDate": "2018-06-01",
"arrivalDate": null,
"payoutReference": "PAYOUT-1558908389270",
"walletId": "f72097397038-7696-43ac-9fd4-f72097397038",
"movementId": "f72097397038-400c-4dc8-bba2-f72097397038",
"cancelMovementId": null,
"additionalData": []
}
L'objet TRANSFER
TRANSFER_SUCCEEDED
When a transfer succeeded
TRANSFER_UPDATED
When a transfer is updated
TRANSFER_CANCELED
When a transfer is cancelled
L'objet TRANSFER REVERSAL
TRANSFERREVERSAL_SUCCEEDED
When a transfer reversal succeeded
TRANSFERREVERSAL_UPDATED
When a transfer reversal is updated
L'objet DEPOSIT
DEPOSIT_CREATED
When a deposit is created
DEPOSIT_UPDATED
When a deposit is updated
L'objet CUSTOMER
CUSTOMER_CREATED
When a customer is created
CUSTOMER_UPDATED
When a customer is updated
L'objet CARD
CARD_UPDATED
When a card is updated
CARDTOKEN_CREATED
When a card token is created
ONBOARDING API
ONBOARDING_ENROLLMENT_CREATED
When the onboarding request has been accept. You will receive an enrollementId associated to you custom reference.
ONBOARDING_ENROLLMENT_STATUS_UPDATED
An ongoing onboarding has been updated.
ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTED
Additionnal documents or information have been request on one ongoing onboarding.
ONBOARDING_ADDITIONAL_DOCUMENT_UPDATED
Additionnal documents or information have been provided by the account holder in one ongoing onboarding.
ONBOARDING_ENROLLMENT_DOCUMENT_INVALID
Some documents are regarded as invalid by the Centralpay conformity
ONBOARDING_PAYMENT_ACCOUNT_CREATED
The account has been created. You receive those elements
{
"merchantEnrollmentId": "6d82d3056854-c1b2-4dc7-80ad-6d82d3056854",
"merchantEnrollmentCustomReference": "YOUR REFERENCE",
"merchantEnrollmentType": "BASIC",
"merchantId": "fc023b3c-fc77-46f6-a2c4-6d82d3056854",
"merchantName": "ABCDEFGH",
"merchantWalletId": "fc023b3c-265d-4e55-a1fa-b964651a",
"creationDate": "2018-04-17T11:15:03+0200"
}
WEBHOOKS linked to Payment Request
The object PAYMENT REQUEST
PAYMENTREQUEST_CREATED
Happen when a payment request is created
PAYMENTREQUEST_CANCELED
Happen when a payment request is cancelled
PAYMENTREQUEST_CLOSED
Happen when a payment request is closed
PAYMENTREQUEST_PAID
Happen when a payment request is paid
PAYMENTREQUEST_INSTALLMENT_FAILED
Happen when the installment of the payment request failed
PAYMENTREQUEST_INSTALLMENT_SUCCEEDED
Happen when the installment of the payment request succeeded
PAYMENTREQUEST_SUBSCRIPTION_FAILED
Happen when the subscription of the payment request failed
PAYMENTREQUEST_SUBSCRIPTION_SUCCEEDED
Happen when the subscription of the payment request succeeded
PAYMENTREQUEST_TRANSACTION_FAILED
Happen when the transaction of the payment request failed
PAYMENTREQUEST_TRANSACTION_SUCCEEDED
Happen when the transaction of the payment request succeeded
PAYMENTREQUEST_WIRE_TRANSFER_SUCCEEDED
Happen when the wire transfer of the payment request succeeded