Result screens for mobile
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 Android, iOS, or React Native SDK, a 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 and mandate regulations, and requires no extra development.
You cannot customise the style of the result screen, and it doesn't inherit any style choices you've made for a mobile SDK.
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 provided when you initialised the mobile SDK, which is also 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.
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 mobile SDKs, 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 |
When the mandate result screen displays
The mandate result screen displays after a user has attempted to authorise a mandate:
- In a successful mandate creation request, it displays after the mandate enters the
authorized
status, before the user is redirected to yourredirect_uri
. - In a failed mandate creation request, it displays after mandate creation fails, from whatever part of the authorisation flow it failed at.
On the mandate result screen, the user sees a button reading either Done or Go back, based on whether the mandate creation succeeded or failed. When they click this, they're taken to the redirect_uri
that you provided when you initialised the mobile SDK, which is also set in Console.
Possible mandate results
This interactive window displays a preview of how the mandate result screen displays in the mobile SDKs, along with every possible mandate result screen.
This table contains the full list of possible mandate result screens, and the mandate statuses and failure reasons they relate to.
Main text in result | Explanation | Applicable statuses or failure reasons |
---|---|---|
All Done | You’ve linked {bank name} to {merchant name}. | authorized |
In progress | We’re linking your bank. There’s no need to wait here, you can return to {merchant name}. | authorizing |
That didn't work | We couldn’t link your bank. Please go back to {merchant name} and change bank or try again. | All mandate failure reasons:authorization_failed provider_error provider_rejected internal_server_error invalid_sort_code invalid_request expired unknown_error |
Updated 19 days ago