What You'll Need | Initialise FlexPay Widget | Show Finance Offers | Eligibility Check | Start Checkout | Complete Checkout | Confirm Payment

9. Confirm Payment

We can notify your server privately when a purchase starts or has been completed - for example providing status updates for a finance order on your website.

This is done using a callback to the callbackUri which you set dynamically for each transaction when you start checkout by calling the /verify-basket.

These callbacks alert your server to any updates to an applicable finance purchase, which for security you can also then validate via the FlexPay API transaction endpoint as part of an authenticated request.

You can use your own transaction identifier (set as reference in the original payload for /verify-basket) to match and validate that it is the corresponding finance application which you presented us.

{
  "id": "87463d12-9831-3267-a108-d4613efa370c", // the unique identifier for the FlexPay purchase
  "status": "SUCCESSFUL", // the status of the purchase
  "statusLastUpdated": "1642167702440", // unix timestamp
  "reference": "e917ecf1-00ed-46a9-8867-cbaf53dfef1d", // your platform unique reference
  "productType": "blackhorse-flexpay", // the name of the finance product
  "receipt": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im8yTWdPNFJic1B5WiJ9.eyJzY29wZSI6ImFwcGxpY2F0aW9uOmNyZWF0ZSIsImh0dHBzOi8vYXBpLnN0YWdpbmcuazhzLmRla29wYXkub3JnL2FwcGxpY2F0aW9uIjp7InN0YXR1cyI6InN1Y2Nlc3MiLCJwcm9kdWN0IjoicmV2b2x2aW5nX2NyZWRpdCIsImxpbmtzIjpbeyJocmVmIjoiaHR0cHM6Ly9hcGkuc3RhZ2luZy5rOHMuZGVrb3BheS5vcmcvY2hlY2tvdXQvcmV2b2x2aW5nX2NyZWRpdC84NzQ2M2QxMi05ODMxLTMyNjctYTEwOC1kNDYxM2VmYTM3MGMiLCJyZWwiOiJzZWxmIn1dLCJsYXN0X3VwZGF0ZWQiOiIxNjQyMTY3NzAyNDQwIiwiYXBwbGljYXRpb25faWQiOiI4NzQ2M2QxMi05ODMxLTMyNjctYTEwOC1kNDYxM2VmYTM3MGMiLCJ0cmFuc2FjdGlvbl9pZCI6ImU5MTdlY2YxLTAwZWQtNDZhOS04ODY3LWNiYWY1M2RmZWYxZCJ9LCJpYXQiOjE2NDIxNjc3MDMsImV4cCI6MTY0Mzk2NzcwMywiYXVkIjoiaHR0cHM6Ly9hcGkuc3RhZ2luZy5rOHMuZGVrb3BheS5vcmciLCJpc3MiOiJodHRwczovL2FwaS5zdGFnaW5nLms4cy5kZWtvcGF5Lm9yZy8iLCJzdWIiOiJiMDE1MTk4My0xZGRiLTRkODktOGNjOC0xN2Y3MDhkYTU2MDYiLCJqdGkiOiJiZjAxMWNjOC1mMjI2LTQzNzYtOWQ1NS1lYzk0NjE5ODE4YTEifQ.ApZJXjmQKD443PEXNXpSHcoAt5bpx1DY7SzkETgGzii7B401_PvrwnvILFg0Dt0o4-iSYVprB6_r1Pnvkw7r656pK8mK0AClMacxWF9kzd0jq4Sj6bOXqKznS6GiDMfBR92hoDtEibjOvu4iwwjyf2H1zFyQgB6iiCDmj1Kud7XOc5HgpQRYa2Y0H16PnkhepFGXY-SFefiWnNbJDUcdoUD0zuAhkM2mgLOFOaJylFMh63r-oGBkEDxD7YJ9Cj8RPiwL6Nqz6QfJsPaXHZqbceNFfpLdzC9DJjDRSVDrkPaALvWlLWM1XBGUPLV_nROqJx7mO2d89PLHnxXI45ZDObx4_VMVbC2uS2i2C_0dZu1iPyPY68_YSVAvnMzPeDyYqKx7aqGjfqeKd75JXzgsEP2h12MolO6AQ1yMUqi02HdAeYIrlVU8oHcwjFmwlvRZKOJ9knIDNq9d8C3kDqtwQfimYPLzLGsegcOpq_1nF5XQ2EOiPiX2Ww1hhtuXw51VQqEQFOVcuCoLkmQn3Bnas_LG6igshnjLhZYXdKuHhzQEh5NGG_zCfMdSKmTIq0jiVc1BKgn3G2DXSLanscwg6AXHrqudud3rFDqEsCtyuojDH23P7UPvlSqg2Puo9HmGJIFTbb_k4ilHveP5eurkqvegqSNSpJZ5mVtgXS2hQoY"
}

Purchase Status

You can use the status value to update your website, ecommerce platform or other systems and complete any associated processes:

Status Notes
PENDING a finance-based checkout has started and is now awaiting a final purchase outcome
SUCCESSFUL a finance-based checkout has been completed and the purchase has been successful
FAILED a finance-based checkout did not complete and the purchase was not successful

A purchase using finance can result in a status of FAILED for a number of different reasons, including:

  • the finance application was declined by the lender
  • the finance application was abandoned or cancelled by the customer
  • the finance application was incomplete and inactive for a defined lender time threshold

📘

Duplicate updates warning!

FlexPay sends notifications asynchronously and you may receive them after a delay and on some occasions, you might receive duplicate updates. It is important that you cross-reference any new status against your records and update to a final state (as applicable), to avoid future errors.


Referrals

Unlike other forms of digital payment, finance purchases (as with all applications for credit) are sometimes subject to a referral by the lender for manual review and underwriting. For Black Horse FlexPay, referrals should be completed within 24 hours.

There is no need for your website to support a purchase in a PENDING status. When a final decision is made, if the customer is approved they need to return to your site and checkout again, generating a new order, so that they can select FlexPay and login to their newly approved account.

As a result, if a referral occurs we will notify you that this particular purchase has FAILED as the corresponding order cannot be completed at that time - but so that you can correctly inform your customer about next steps TBC API specification to identify when a referral has taken place