Open Banking payments transition through various statuses through their lifecycle. This section describes each of these statuses and the Webhooks that may be generated as statuses transition.
Edit me

Overview

Open Banking Payments transition from an initial PENDING to any one of a number of possible statuses (note that some statuses are Nuapay-specific and are only relevant if you are using a Nuapay beneficiary account for your Open Banking payments). The various statuses possible are presented below in a table and as a state diagram:

The following table gives an overview of each possible status and, if applicable, the Webhook event triggered:

Status Description Nuapay-Specific? Final Status? Webhook Triggered? Webhook Link
PENDING [Relevant for Checkout mode only] The payment has been created: the merchant has initiated the POST/payments call but the PSU has not yet selected the required bank. Yes No No N/A
CONSENT_API_REJECTED There was a technical issue at the ASPSP; no further processing will be possible. No No Yes PaymentRejected
PENDING_APPROVAL The approval for the payment is pending: the PSU has not yet approved the payment on the ASPSP. No No No N/A
OAUTH_CALLBACK_COMPLETE The ASPSP has informed Nuapay that the payment has been authorised/declined by the PSU No No No N/A
AUTHORISED The PSU has authorised the payment at the ASPSP. No No No N/A
DECLINED The PSU has declined the payment at the ASPSP. No Yes Yes PaymentRejected
FUNDS_CHECK_TIMEOUT The response to the funds check is later than the configured timeout. No Yes No N/A
FUNDS_CHECK_FAILED The funds check has indicated that there are insufficient funds to complete the payment. No Yes No N/A
FUNDS_CHECK_PASSED Sufficient funds are available to complete the payment. No No No N/A
SETTLEMENT_PENDING The payment has been authorised but has not yet transitioned to SETTLEMENT_IN_PROGRESS status. No No No N/A
SETTLEMENT_IN_PROGRESS The settlement is being processed by the ASPSP. The payment will generally move to SETTLEMEMT_COMPLETE after this status. For high value goods we recommend waiting for a final status before processing the order. No No Yes PaymentInProgress
SETTLEMENT_COMPLETE The ASPSP has debited the payment from the PSU’s account. This may be treated as a Final status if the merchant does not have a Nuapay account; in this case, the merchant should confirm the crediting of its account before shipping goods. No Conditional Yes PaymentCompleted
SETTLEMENT_REJECTED The settlement has not been completed and won’t be in future. This is a Final status; the merchant should not ship goods. No Yes Yes PaymentRejected
PAYMENT_RECEIVED The settlement amount has been credited to the merchant’s Nuapay account. No No Yes PaymentReceived
TIMEOUT [Relevant for Checkout mode only] The payment timed out - this may happen where the user fails to progress to the ASPSP from the TPP before the merchant-configured time out period e.g. if the user has not selected an option on the Bank Select screen within the required time period. Yes Yes Yes PaymentTimeout
CONSENT_TIMEOUT The PSU provided his/her consent but the merchant-defined timeout period has elapsed. No payment will be attempted. No Yes Yes PaymentTimeout
PAYMENT_REVERSED A payment that was previously received is credited back to the PSU. A payment is typically reversed where the merchant deems it appropriate to refund a customer (following a complaint, for example). Yes Yes Yes PaymentReversed
PAYMENT_REVERSAL_REJECTED A payment credited to the PSU has been rejected by the beneficiary bank for a specific reason (e.g. the account is closed). Yes Yes No N/A
UNEXPECTED_ERROR A processing error has occurred. This may be due to connectivity issues between ASPSP and the TPP for example. No Yes No N/A
UNKNOWN After transitioning to AUTHORISED, the TPP cannot determine the status of the payment at the ASPSP (e.g. after receiving a 500 HTTP response) . No Yes No N/A

The diagram below illustrates all possible statuses, with the happy path highlighted in green.

Payment Statuses
Payment Statuses
<A HREF="javascript:void(0);" class = ""onMouseOver="return overlib('The funds check has indicated that there are insufficient funds to complete the payment.', CAPTION, 'FUNDS CHECK FAILED', FGCOLOR, '#FFFFFF', BGCOLOR, '#F0B84B', BORDER, 1)" onMouseOut="nd();"> </A> --> [titlepage]: titlepage.html [tocpage]: tocpage.html [prod_overview]: prod_overview.html [prod_versioning]: prod_versioning.html [prod_support]: prod_support.html [news]: news [prod_overview]: prod_overview.html [np_landing_page]: np_landing_page.html [em_landing_page]: em_landing_page.html [ip_landing_page]: ip_landing_page.html [ob_landing_page]: ob_landing_page.html [wh_landing_page]: wh_landing_page.html