Some webhooks are used not just to inform the partner that something has happened, but also to request an action be taken by the partner.
In these cases we require a positive or negative acknowledgement in order to continue processing the deal.
An example actions
element can be seen below in an example message of a settlement_account_ready webhook:
{
"id": "6e17e99c-d2fc-48d6-b60a-d543c5c8aa52",
"api_version": "1.0",
"event": "settlement_account_ready",
"created_date": "2023-02-06T13:40:00Z",
"data": {
"currency": "GBP",
"created_date": "2023-02-06T13:40:00Z",
"identifiers": {
"account_number": "12345678",
"sort_code": "000000"
},
"references": {
"application": "3h2701-s2d0-4d1a-b312-afs3219014fe",
"merchant": "6f07701-96d0-4d1a-b82c-ad6c069014fe",
"deal": "5001a000002bsyxcch",
"external_merchant": "M_12432_4345"
},
"actions": {
"notify": "/actions/funding/sa-notify/6f07701-96d0-4d1a-b82c-ad6c069014fe",
}
}
}
Do not try to create an actions URL yourself. The URL in a webhook is unique to that webhook only.
Requests to confirm action using above webhook payload
Example curl for success:
curl -XPOST -H 'Authorization: Bearer {token}' -H "Content-type: application/json" -d '{
"success": true,
"errors": []
}' 'https://api.eu.liberis.com/v2/actions/funding/sa-notify/6f07701-96d0-4d1a-b82c-ad6c069014fe"'
Successful completion of action by partner
{
"success": false,
"errors": []
}
Failure of action by partner
{
"success": false,
"errors": ["ExistingSplit", "FasterFunding"]
}
A non-exhaustive list of error codes that can be supplied in response to a failed action is as follows:
Error Message | Definition |
---|---|
MultiSettlement | Partner unable to be set up due to issues with MID hierarchy |
MIDNotFound | Liberis MID on file does not match Partner MID |
ExistingSplit | Existing split on MID will prevent Liberis' Split being applied |
LegalEntityNotFound | Liberis legal entity on file does not match Partner legal entity for this merchant |
FasterFunding | Merchant has faster funding facility in place which prevents Partner from applying Liberis' Split |
Enforcement | Merchant account is subject to enforcement authority measures |
BankDetailsNotFound | Liberis bank details on file do not match Partner bank details |
SignatoryNotFound | Liberis primary applicant is not the account holder/primary on Partner system |
CDDChecks | Partner undertaking additional customer due diligence checks |
DebtDiverts | Partner fees are taken from the merchant before they receive their transactions so split can't be applied |
WAF | Withhold all funds |
NotTransacting | Merchant does not meet transaction check requirements |