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"
}