# Payment Statuses Payment statuses indicate the current state of a payment as it moves through initiation, authorization, and settlement. They follow the ISO 20022 transaction status codes and are returned by the payment endpoints and included in webhook event payloads. Use payment statuses to track the lifecycle of single and bulk payments, determine whether a payment requires further action (e.g. additional authorization), and react to status changes in real time via events. ### Related endpoints - [Initiate bulk payment](/apis/banking/v4/openapi/banking-openapi/payments/initiatepayment/) - Create a new payment - [Get payment status](/apis/banking/v4/openapi/banking-openapi/payments/getpaymentstatus/) - Get the status of a payment ### Related events - [Payment authorized](/apis/banking/v4/openapi/banking-events-openapi/payment-events/banking%2Epayment%2Eauthorized) - Fired when a payment has been authorized - [Payment status updated](/apis/banking/v4/openapi/banking-events-openapi/payment-events/banking%2Epayment%2Estatus%2Eupdated) - Fired when the status of a payment is updated - [Bulk payment status updated](/apis/banking/v4/openapi/banking-events-openapi/payment-events/banking%2Ebulk_payment%2Estatus%2Eupdated) - Fired when a bulk payment status is updated See [Webhooks](/apis/banking/v4/webhooks/overview/) for more information about subscribing to events. ## Payment Statuses: | Status | Name | Description | | --- | --- | --- | | Accc | AcceptedSettlementCompleted | Settlement on the creditor's account has been completed. | | Accp | AcceptedCustomerProfile | Preceding check of technical validation was successful. Customer profile check was also successful. | | Acsc | AcceptedSettlementCompleted | Settlement on the debtor’s account has been completed. | | Acsp | AcceptedSettlementInProcess | All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution. | | Actc | AcceptedTechnicalValidation | Authentication and syntactical and semantical validation are successful. | | Acwc | AcceptedWithChange | Instruction is accepted but a change will be made; such as date or remittance not sent. | | Acwp | AcceptedWithoutPosting | Payment instruction included in the credit transfer is accepted without being posted to the creditor customer’s account. | | Rcvd | Received | Payment initiation has been received by the receiving agent. | | Pdng | Pending | Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed. | | Rjct | Rejected | Payment initiation or individual transaction included in the payment initiation has been rejected. | | Canc | Cancelled | Payment initiation has been cancelled before execution | | Acfc | AcceptedFundsChecked | Preceding check of technical validation and customer profile was successful and an automatic funds check was positive . | | Patc | PartiallyAcceptedTechnical | Correct The payment initiation needs multiple authentications; where some but not yet all have been performed. Syntactical and semantical validations are successful. | | Part | PartiallyAccepted | A number of transactions have been accepted; whereas another number of transactions have not yet achieved 'accepted' status. Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied; but some payments have been rejected. | ## Common payment flows ### Single payment When a single payment is initiated it enters RCVD. If the payment requires approval, each authorization moves it through PATC to ACTC. Once fully authorized (or if no approvers are configured), the payment is exported to the bank. A successful export sets the status to PNDG; a failure results in RJCT. The payment can be cancelled while still in RCVD. ```mermaid --- config: htmlLabels: false --- flowchart TD Start@{ shape: "sm-circ" } -->|Payment initiated| RCVD RCVD -->|User cancels payment| CANC RCVD -->|No approval required| ACTC RCVD -->|First approver authorizes| ApproverCheck{"`Multiple approvers?`"} ApproverCheck -->|"Single approver - fully authorized"| ACTC ApproverCheck -->|"Multiple approvers - awaiting next"| PATC PATC -->|"Remaining approver authorizes"| ACTC ACTC -->|Sent to bank| Export{"`Bank processing`"} Export -->|Accepted| PNDG Export -->|Failed| RJCT style CANC fill:#f8d7da,stroke:#dc3545,color:#000 style RJCT fill:#f8d7da,stroke:#dc3545,color:#000 style PNDG fill:#d4edda,stroke:#28a745,color:#000 ``` ### Bulk payment Bulk payments follow the same authorization flow as single payments, but the export can produce mixed results. If all lines succeed the bulk moves to PNDG. If all fail it moves to RJCT. On partial success, each payment line gets its own status (PNDG or RJCT) and the bulk payment itself is set to PART. ```mermaid --- config: htmlLabels: false --- flowchart TD Start@{ shape: "sm-circ" } -->|Bulk payment initiated| RCVD RCVD -->|User cancels bulk and all lines| CANC RCVD -->|"First approver authorizes"| ApproverCheck{"`Multiple approvers?`"} ApproverCheck -->|"Single approver - fully authorized"| ACTC ApproverCheck -->|"Multiple approvers - awaiting next"| PATC PATC -->|"Remaining approver authorizes"| ACTC ACTC -->|Sent to bank| Export{"`Bank processing`"} Export -->|All lines accepted| PNDG Export -->|All lines rejected| RJCT Export -->|"Some lines accepted, some rejected"| Partial{"`Mixed outcome`"} Partial -->|Bulk payment itself| PART Partial -->|Each accepted line| PNDG Partial -->|Each rejected line| RJCT style CANC fill:#f8d7da,stroke:#dc3545,color:#000 style RJCT fill:#f8d7da,stroke:#dc3545,color:#000 style PNDG fill:#d4edda,stroke:#28a745,color:#000 style PART fill:#fff3cd,stroke:#ffc107,color:#000 ``` Note The bulk payment stays in RCVD or PATC until all payment lines (or the bulk itself) are authorized. Cancelling a bulk payment also cancels all its payment lines. ### Bank response After a payment is exported (PNDG), the bank processes it and returns a final status. The bank may accept it (ACCP), accept it with modifications (ACWC), partially accept it (PART), or reject it outright (RJCT). Accepted payments eventually reach ACSC when settlement is completed, but can still be rejected or cancelled before that. ```mermaid --- config: htmlLabels: false flowchart: rankSpacing: 120 nodeSpacing: 0 --- flowchart TD PNDG -->|Bank validates and accepts| ACCP PNDG -->|Bank rejects payment| RJCT PNDG -->|Bank accepts some lines| PART PNDG -->|Bank accepts with modifications| ACWC ACCP -->|Settlement completed| ACSC ACCP -->|Bank rejects after acceptance| RJCT ACCP -->|Bank cancels before settlement| CANC ACWC -->|Settlement completed| ACSC ACWC -->|Bank rejects after acceptance| RJCT style ACSC fill:#d4edda,stroke:#28a745,color:#000 style RJCT fill:#f8d7da,stroke:#dc3545,color:#000 style CANC fill:#f8d7da,stroke:#dc3545,color:#000 style PART fill:#fff3cd,stroke:#ffc107,color:#000 ```