> ## Documentation Index
> Fetch the complete documentation index at: https://docs.klyme.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Status Codes

> Payment status codes and what they mean

The Klyme API reports back three status variables when a payment is authorised and executed: `status`, `statusCode`, `description` and `settlement`.

## Description

Description illustrates the payment authorisation status with a given bank.

* `PENDING` when the initiation request is still being processed.
* `COMPLETED` when the initiation request has passed validation checks and been accepted by the bank.
  Settlement is expected to happen in due course (unless fraud checks fail).
* `FAILED` when the bank has rejected the initiation request and the payment will not be processed further.

## Status Code

The Status Code provides a more detailed and extensive view on the payment status.

It's primary use is after a payment has been successfully initiated.
The Status Code can be used to track the payment through its execution lifecycle, all the way up to the final settlement into the payer's account.

<Note>Please note that the provision and accuracy of Status Code values are determined by the banks themselves. In some cases, reporting may be limited or stop prematurely.
Klyme simply transmits the data we receive from the banks and cannot influence or validate its completeness.</Note>

### Status Codes Flow Diagram

![status-codes-chart](https://storage.googleapis.com/klyme-misc/status_codes_chart.png)

### Detailed Overview of Status Codes

<AccordionGroup>
  <Accordion title="ACCC">
    **Name:** AcceptedCreditSettlementCompleted

    **Description:** COMPLETED

    **Extended Description:** Payment successfully processed. Settlement on the creditor’s account has been completed.

    **Status:** 1
  </Accordion>

  <Accordion title="ACWP">
    **Name:** AcceptedWithoutPosting

    **Description:** COMPLETED

    **Extended Description:** Payment instruction included in the credit transfer is accepted **without** being settled to the creditor customer’s account.

    **Status:** 1
  </Accordion>

  <Accordion title="ACSC">
    **Name:** AcceptedSettlementCompleted

    **Description:** COMPLETED

    **Extended Description:** Payment successfully processed. Settlement on the debtor’s account has been completed but **not** on the creditor’s account.

    **Status:** 1
  </Accordion>

  <Accordion title="ACSP">
    **Name:** AcceptedSettlementInProcess

    **Description:** PENDING

    **Extended Description:** All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

    **Status:** 2
  </Accordion>

  <Accordion title="ACFC">
    **Name:** AcceptedFundsChecked

    **Description:** PENDING

    **Extended Description:** Pre-ceeding check of technical validation and customer profile was successful and an automatic funds check was positive.

    **Status:** 2
  </Accordion>

  <Accordion title="ACCP">
    **Name:** AcceptedCustomerProfile

    **Description:** PENDING

    **Extended Description:** Preceding checks of technical validation was successful. Customer profile check was also successful.

    **Status:** 2
  </Accordion>

  <Accordion title="ACWC">
    **Name:** AcceptedWithChange

    **Description:** PENDING

    **Extended Description:** Instruction is accepted but a change will be made, such as date or remittance not sent.

    **Status:** 2
  </Accordion>

  <Accordion title="ACTC">
    **Name:** AcceptedTechnicalValidation

    **Description:** PENDING

    **Extended Description:** Authentication and syntactical and semantical validation are successful.

    **Status:** 2
  </Accordion>

  <Accordion title="PATC">
    **Name:** PartiallyAcceptedTechnicalCorrect

    **Description:** PENDING

    **Extended Description:** The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful.

    **Status:** 2
  </Accordion>

  <Accordion title="PART">
    **Name:** PartiallyAccepted

    **Description:** PENDING

    **Extended Description:** A number of transactions have been accepted, whereas another number of transactions have not yet achieved ‘accepted’ status. This code may be used only in case of bulk payments, where reporting is performed against the entire file.

    **Status:** 2
  </Accordion>

  <Accordion title="PDNG">
    **Name:** Pending

    **Description:** PENDING

    **Extended Description:** Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed.

    **Status:** 2
  </Accordion>

  <Accordion title="RCVD">
    **Name:** Received

    **Description:** PENDING

    **Extended Description:** Payment initiation has been received by the Institution.

    **Status:** 2
  </Accordion>

  <Accordion title="RJCT">
    **Name:** Rejected

    **Description:** FAILED

    **Extended Description:** Payment initiation or individual transaction included in the payment initiation has been rejected.

    **Status:** 0
  </Accordion>

  <Accordion title="CANC">
    **Name:** Cancelled

    **Description:** FAILED

    **Extended Description:** Payment initiation has been cancelled before execution.

    **Status:** 0
  </Accordion>
</AccordionGroup>

## Status

The Status is computed based upon the combined logic of both Description and Status Code.

<Note>We recommend clients to focus on Status above all else when integrating Klyme.</Note>

* Status of `1` implies the payment flow has been successful and the funds have left the users bank account.
* Status of `0` implies the payment was rejected or failed due to technical issues on the banks side.
* Status of `2` implies the payment is in a pending state and the customers bank has further checks to complete before the payment is authorised.

<Note>Please note that while status codes `ACSC` and `ACWP` are marked as `1`, their settlement success rate is approximately 99.9%, compared to `ACCC`
which settles at 100%. In most cases, payments with a status code of `ACSC` or `ACWP` will settle successfully, though in rare cases, reversals may occur.
It is the client’s responsibility to determine how these two status codes are handled within their integration.</Note>

## Settlement

In certain cases, it’s important to identify when payments have settled; the `settlement` variable provides this information.

* `COMPLETED` implies the payment has settled into the nominated bank account.
* `PENDING` implies funds have left the customers account and are due to be settled.
* `QUEUED` implies funds have not yet been released from the customers bank account as extra checks are being performed by the bank.
* `FAILED` implies that settlement will not be taking place as the payment has been declined by the customers bank.

<Note>The Settlement feature applies exclusively to EUR payments. In the UK, it is not needed due to payments being processed through the Faster Payments system.</Note>
