> For the complete documentation index, see [llms.txt](https://apidocs.arionbanki.is/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.arionbanki.is/b2b-2013-schema/b2b-services/b2b-payment-service/batch-states.md).

# Batch states

By default, batch payments will stop in the Arion online bank until confirmed. To enable straight through payments (STP), you need to contact Arion bank via email <corporate@arionbanki.is> to have the configuration changed.

Users can view a list of executed and unexecuted batch payments in the online bank. For each batch that has been executed, users can download a receipt with detailed information about the payment execution. For example, which records were executed successfully and which ones hit an error.

### &#x20;<a href="#ref122008489" id="ref122008489"></a>

| Status                 | Description                                                                                                                                                                                                                                                                                            |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| InProgress             | Batch does not exist, or an unexpected error occurred on batch creation.                                                                                                                                                                                                                               |
| Completed              | Processing of batch is completed; all payments have been executed.                                                                                                                                                                                                                                     |
| CompletedWithErrors    | Batch has been processed but one or more payment raised an error.                                                                                                                                                                                                                                      |
| Cancelled              | A NotConfirmed batch has been cancelled, e.g., by a user in the online bank UI.                                                                                                                                                                                                                        |
| OnHold                 | A future batch payment will have the status OnHold until the date of future payment.                                                                                                                                                                                                                   |
| NotConfirmed           | <p>Batch has been created and is awaiting confirmation (execution) in the online bank.</p><p>The batch can also have this status if straight through processing (STP) is being used and all payments received an error (see chapters 3.2 and 4.2 for more details on straight through processing).</p> |
| NotConfirmedWithErrors | Batch has been created but could not be confirmed, as it contained errors. In this case, the batch will not be confirmed unless a user logs in to the online bank and confirms it manually. (See more information on *RollbackOnError* in chapters 3.3 and in the chapter 5 subchapters below).        |

### Payment process, not STP, RollbackOnError = false <a href="#toc130556114" id="toc130556114"></a>

![](https://2818695535-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1H6XBw80lUfS2N0XzK27%2Fuploads%2FnyvjrIWYZSMgJCritLzQ%2F9.png?alt=media)

The diagram above shows the payment process for a batch that should be confirmed in the online bank and should not be rolled back if errors occur. After creating a batch, it will get the BatchStatus = NotConfirmed regardless of whether or not it has any errors. The user can then confirm (execute) the batch in the online bank and the status of the batch becomes either Completed or ConfirmedWithErrors, depending on if it had errors. If any errors are present, the payments without an error will still get confirmed. Note that it is not possible to correct the errors in the online bank, as it would create a discrepancy between the account system and the online bank. Therefore, the user needs to delete the batch in the online bank, solve the errors in their account system, and create a new batch with the resolved error payments. It is possible to fetch the status of a batch, along with a list of payments that raised an error, with the *GetPaymentsResult* (6.1) function. For more details on straight through processing (STP) and RollbackOnError, see chapters 3.2, 3.3 and 4.2.

### Payment process, not STP, RollbackOnError = true <a href="#toc130556115" id="toc130556115"></a>

![](https://2818695535-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1H6XBw80lUfS2N0XzK27%2Fuploads%2FArNHbwjQDdVI5kGZwGvt%2F10.png?alt=media)

The diagram above shows the payment process for a batch that should be confirmed in the online bank but rolled back if errors are present after creation. If any errors are present after creation, the batch will not be created and the first error in the batch will be returned. Note that it will not have any status since it was not created. If no errors are present, the batch will get the status BatchStatus = NotConfirmed and await confirmation in the online bank. Once the user confirms the batch in the online bank, the status becomes either Completed or ConfirmedWithErrors, depending on whether or not it had any errors (between the time of creation and confirmation, the batch can accumulate errors, e.g., when a withdrawal account suddenly doesn’t have sufficient funds for the payment). If any errors are present, the payments without an error will still get confirmed. Note that it is not possible to correct the errors in the online bank, as it would create a discrepancy between the account system and the online bank. Therefore, the user will need to delete the batch in the online bank, solve the errors in their account system, and create a new batch with the resolved error payments. It is possible to fetch the status of a batch, along with a list of payments that raised an error, with the *GetPaymentsResult* (6.1) function. For more details on straight through processing (STP) and RollbackOnError, see chapters 3.2, 3.3 and 4.2.

### Payment process, STP, RollbackOnError = false <a href="#toc130556116" id="toc130556116"></a>

![](https://2818695535-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1H6XBw80lUfS2N0XzK27%2Fuploads%2FIX9qq90c2NA2Vh4XqQGZ%2F11.png?alt=media)

The diagram above shows the payment process for a batch that should be confirmed automatically, without involvement of the online bank, and not be rolled back if an error occurs after creation. If an error occurs on all payments in the batch, it will still be created but it will not be confirmed. It will be visible in the online bank, where it gets the status BatchStatus = NotConfirmed. This is done so that the errors will not be lost. If one or more payments do not have an error, the batch will be automatically confirmed through the straight through process (STP) and the status becomes either Completed or ConfirmedWithErrors, depending on whether or not it had any errors. Note that it is not possible to correct the errors in the online bank, as it would create a discrepancy between the account system and the online bank. Therefore, the user will need to delete the batch in the online bank, solve the errors in their account system, and create a new batch with the resolved error payments. It is possible to fetch the status of a batch, along with a list of payments that raised an error, with the *GetPaymentsResult* (6.1) function. For more details on straight through processing (STP) and RollbackOnError, see chapters 3.2, 3.3 and 4.2.

### Payment process, STP, RollbackOnError = true <a href="#toc130556117" id="toc130556117"></a>

![](https://2818695535-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1H6XBw80lUfS2N0XzK27%2Fuploads%2FZTKT9wnsRqb2r9ioNJfX%2F12.png?alt=media)

The diagram above shows the payment process for a batch that should be confirmed automatically, without involvement of the online bank, but rolled back if an error occurs after creation. If any errors are present after creation, the batch will not be created and the first error in the batch will be returned. Note that it will not have any status since it was not created. If no errors are present, the batch will be automatically confirmed through the straight through process (STP) and the batch status becomes either Completed or ConfirmedWithErrors, depending on whether or not it had any errors. Note that it is not possible to correct the errors in the online bank, as it would create a discrepancy between the account system and the online bank. Therefore, the user will need to delete the batch in the online bank, solve the errors in their account system, and create a new batch with the resolved error payments. It is possible to fetch the status of a batch, along with a list of payments that raised an error, with the *GetPaymentsResult* (6.1) function. For more details on straight through processing (STP) and RollbackOnError, see chapters 3.2, 3.3 and 4.2.
