Payment result screen 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 payment 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 of settled.
  • 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 resultExplanation in resultApplicable statuses or failure reasons
All DoneYou’ve sent {payment value} — You can now return to {merchant name}.executed,
failed
In progressWe 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 workYour 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
CancelledYou 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 exceededContact 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 fundsYou 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