Payment result screen for web
TrueLayer's web authorisation UIs feature a payment results screen that informs your customers about their payment.
After your user authorises a payment or mandate through the HPP or EPP, the payment result screen informs them whether their payment was successful, unsuccessful, or if it's in progress. If a payment failed, it tells them why, and what they can do to resolve it.
The payment result screen means that you don't have to render a result screen based on the result of payment webhooks (although you should still use them to check the progress of your payment). It can accommodate all possible payment results, is fully compliant with all payment regulations, and requires no extra development.
You cannot customise the style of the payment result screen, and it doesn't inherit any style choices you've made for the HPP or EPP.
You may need to opt in to this feature
On 4 January 2024, TrueLayer introduced the payments result screen for payments made through the HPP or EPP.
If you created your Console account after 4 January 2024, this feature is automatically enabled.
If you created your account before 4 January 2024, you need to contact us to enable this feature, and may need to change the content of the page your
redirect_uri
goes to.You can also contact us to disable the payment result screen.
When the payment result screen displays
The payment result screen displays after a user has attempted to authorise a payment:
- In a successful payment, it displays after the Payments API v3 considers a payment creditable, before the user is redirected to your
redirect_uri
.
The default behaviour is that a payment is creditable when it has a status ofsettled
. - In a failed payment, it displays immediately after the payment fails, from whatever part of the payment it failed at.
On the payment result screen, the user sees a button to either Continue or Go back, based on whether the payment succeeded or failed. When they click this, they're taken to the redirect_uri
that you set in Console.
If a payment is still in progress and doesn't have a final status, like settled
or failed
, the result screen waits a few seconds before it displays, in case it transitions.
Change the waiting time for the payment result screen
You can change how long each Web UI waits for before it authorises a payment and displays the payment result screen. This can be useful if you need to perform checks (such as confirming a reservation or purchase) before displaying a success of failure result.
To change the waiting time for the:
- HPP, add a
#max_wait_for_result={seconds}
hash parameter to the end of your HPP URL. - EPP, include a value for
max_wait_for_result: '{seconds}'
when you start the payment.
Payments to external accounts
Payments to an external account always have a result screen of In progress. This is because it's not possible to confirm when a payment to an external account enters the settled
status.
Possible payment results
This interactive window displays a preview of how the payment result screen displays in the HPP or EPP, along with every possible payment result screen.
This table contains the full list of possible payment result screens, and the payment statuses and failure reasons they relate to.
Main text in result | Explanation in result | Applicable statuses or failure reasons |
---|---|---|
All Done | You’ve sent {payment value} — You can now return to {merchant name}. | executed ,failed |
In progress | We are processing your transaction of {payment value} — It's normally instant, but can take up to 24 hours. Please return to {merchant name}. | authorized |
That didn't work | Your transaction didn't go through. But don't worry, you can go back to {merchant name} so you can try again. | rejected ,unknown_error ,blocked ,invalid_account_holder_name ,invalid_credentials ,invalid_account_details ,invalid_request ,invalid_credentials |
Cancelled | You have cancelled your transaction. Go back to {merchant name} where you can change bank or try again. | cancelled |
That didn't work | {bank name} rejected your transaction. Go back to {merchant name} to change bank or try again. | provider_rejected |
That didn't work | {bank name} couldn't process your transaction. You can go back to {merchant name} to change bank or try again. | provider_error ,provider_expired |
Payment limit exceeded | Contact your bank if you want to increase your daily payment limit. You can now go back to {merchant name} to change bank or try again. | payment_limit_exceeded |
Insufficient funds | You don’t have enough money in your account for this transaction. Please top up and try again. You can now go back to {merchant name}. | insufficient_funds |
That didn't work | It looks like some of the account details you provided are incorrect. You can go back to {merchant name}, so you can try again or change bank. | invalid_account_details ,invalid_remitter_account ,invalid_sort_code |
Authorisation failed | The transaction was not authorised successfully. You can go back to {merchant name}, so you can change bank or try again. | authorization_failed |
Your session has expired | You've been inactive for a while so we cancelled your payment. Please go back to {merchant name} and try again. | expired |
Updated 8 months ago