Skip to content

Notification

A classical Notification mechanism (aka IPN, Instant Payment Notification) is available.

Important notes:

  • Notifications are sent from 2 fixed IPs that may need to be whitelisted in merchant's infrastructure to properly receive the requests.

  • Requests use python-requests as User Agent. It may also be required to authorize this.

  • Use an https url (secure url), not http.

Success

The merchant backend can be notified of the purchase completion if the optional parameter paymentNotificationUrl is provided when the purchase is created.

This webhook is a POST and its body is a JSON which fields depend on the payment mode (see back mode, transfer mode).

Error

The merchant backend can be notified of an error occurring after the payment screen if the optional parameter errorNotificationUrl is provided when the purchase is created.

  • The notification is sent if the purchase state transitions to one of the following statuses:
stateacceptance_state
ABORTEDABANDONED
BI_CANCELLEDABANDONED
BI_KOREJECTED
BI_SCORING_KOREJECTED
CONNECTOR_KOREJECTED
FICP_FILTER_KOREJECTED
FIRCOSOFT_FILTER_KOREJECTED
IDENTIFICATION_CANCELLEDABANDONED
IDENTIFICATION_KOREJECTED
MERCHANT_TIMEOUTREJECTED
PRIMARY_KOREJECTED
RULE_ENGINE_FILTERS_KOREJECTED
RULE_ENGINE_OPEN_BANKING_KOREJECTED
SCORING_KOREJECTED
SIGNATURE_CANCELLEDABANDONED
SIGNATURE_KOREJECTED
SUMMARY_CANCELLEDABANDONED
TAX_NOTICE_CANCELLEDABANDONED
TAX_NOTICE_KOREJECTED
TMX_SCORING_KOREJECTED
VCP_KOREJECTED

Important note on terminal vs. non-terminal error states:

  • Most error notifications correspond to terminal states (e.g., SCORING_KO, RULE_ENGINE_FILTERS_KO, SIGNATURE_KO, TAX_NOTICE_KO, MERCHANT_TIMEOUT, ABORTED, or any *_CANCELLED status). Once reached, the purchase is permanently closed and no further state transition will occur.
  • Currently, PRIMARY_KO and IDENTIFICATION_KO are the only identified error statuses that trigger an error notification while keeping the checkout session active (non-terminal states). The customer may still recover or complete the flow.
  • In case acceptance_state is REJECTED, acceptance_rejection_type and acceptance_rejection_subtypes will be populated with details.
  • In case acceptance_state is ABANDONED, acceptance_rejection_type and acceptance_rejection_subtypes will remain empty.
  • The notification is a POST request on errorNotificationUrl.

This webhook is a POST and its body is a JSON with the following fields:

json
{
   "reference" : "purchase_reference",
   "state" : "REVENUE_KO",
   "acceptance_state": "REJECTED",
   "acceptance_rejection_type": "NOT_ELIGIBLE",
   "acceptance_rejection_subtypes": ["Insufficient revenue"],
   "uid" : "pur_6c48d42b-f29b-4f84-bee8-3cb2b964b600",
   "loan_short_id": "1UW7Z0F5D21"
}