# How to process transactions with the Assistance status

Deposits and withdrawals initiated via [PSS-connected](https://docs.b2core.b2broker.com/integrations/payment-systems#payment-system-service-pss) methods may receive the `Assistance` status during processing. This status indicates that the transaction status couldn't be determined automatically during syncing with the external payment system and the transaction processing requires manual action.

## How to process deposits with the Assistance status

Deposits may receive the `Assistance` status due to:

* The sync time with the payment system has expired, meaning the **sync deadline** has been reached. In this case, the deposit must be processed directly in the deposit details in **Finance** > **Deposits**.
* Any reason other than the **sync deadline**. In this case, a **PaymentSystem Deposit Assistance** request is created automatically in **Clients** > **Requests**, and the deposit must be processed within that request.

The purpose of processing deposits with the sync deadline error directly in the deposit details is to prevent an excessive number of **PaymentSystem Deposit Assistance** requests and streamline request handling.

To determine why a deposit has the `Assistance` status and process it:

{% stepper %}
{% step %}
Navigate to **Finance** > **Deposits**.
{% endstep %}

{% step %}
Find the deposit with the `Assistance` status that you need to process.

To filter the list, select `Assistance` in the **Status** column to display only deposits with this status.
{% endstep %}

{% step %}
Select the deposit and click the **Edit** button to open its details.
{% endstep %}

{% step %}
In the deposit details, go to the **Payment system** tab.

This tab displays detailed deposit information. For an overview, refer to the [Payment details structure](#payment-details-structure).
{% endstep %}

{% step %}
Determine why the deposit received the `Assistance` status.

In the **Timeline** section, review the status details:

* If the status is **Unexpected** and the **Error code** field displays `service.sync_deadline`, the deposit syncing time with the payment system has expired. In this case, continue processing the deposit directly on the **Payment system** tab.
* If any other error code is displayed, process the deposit in the corresponding **PaymentSystem Deposit Assistance** request that was created automatically in **Clients** > **Requests**. For details, refer to [How to process PaymentSystem Assistance requests for deposits and withdrawals](https://docs.b2core.b2broker.com/how-to-articles/manage-finances/how-to-process-ps-deposit-assistance-and-ps-withdrawal-assitance-requests).
  {% endstep %}

{% step %}
To process the deposit with the `service.sync_deadline` error code, take the appropriate action to update the deposit status on the **Payment system** tab.

The following options are available:

* **Move to In progress** — to resume syncing of the deposit status with the external payment system.
* **Move to Failed** — to stop syncing with the external payment system and mark the deposit as failed.

For details, refer to [Move to In progress](https://docs.b2core.b2broker.com/how-to-articles/manage-finances/how-to-process-ps-deposit-assistance-and-ps-withdrawal-assitance-requests/move-to-in-progress) and [Move to Failed](https://docs.b2core.b2broker.com/how-to-articles/manage-finances/how-to-process-ps-deposit-assistance-and-ps-withdrawal-assitance-requests/move-to-failed). Note that for the `service.sync_deadline` case, these actions must be performed directly within the deposit details, on the **Payment system** tab.
{% endstep %}
{% endstepper %}

Depending on the selected option, the deposit status will be updated to **In progress** and then can reach one of the final statuses or will be updated to **Failed** immediately.

## How to process withdrawals with the Assistance status

When a withdrawal receives the `Assistance` status, a **PaymentSystem Withdrawal Assistance** request is always created automatically in **Clients** > **Requests**. Such withdrawals must be processed within these requests. No manual actions for processing withdrawals are available within withdrawal details.

To process a withdrawal with the `Assistance` status:

{% stepper %}
{% step %}
Navigate to **Finance** > **Payouts**.
{% endstep %}

{% step %}
Find the withdrawal with the `Assistance` status that you need to process.

To filter the list, select `Assistance` in the **Status** column to display only withdrawals with this status.
{% endstep %}

{% step %}
Select the withdrawal and click the **Edit** button to open its details.
{% endstep %}

{% step %}
In the withdrawal details, go to the **Payment system** tab.

This tab displays detailed withdrawal information. For an overview, refer to the [Payment details structure](#payment-details-structure).
{% endstep %}

{% step %}
In the **Timeline** section, review the status and error code that caused the withdrawal to receive the `Assistance` status.

Unlike deposits, withdrawals with the `Assistance` status always have a **PaymentSystem Withdrawal Assistance** request created in **Clients** > **Requests**. These withdrawals must be manually processed within their respective requests. For details, refer to [How to process PaymentSystem Assistance requests for deposits and withdrawals](https://docs.b2core.b2broker.com/how-to-articles/manage-finances/how-to-process-ps-deposit-assistance-and-ps-withdrawal-assitance-requests).
{% endstep %}
{% endstepper %}

## Payment details structure

The following information is available on the **Payment system** tab in the details of deposits and withdrawals listed in **Finance** > **Deposits** and **Finance** > **Payouts**, as well as in the corresponding **PaymentSystem Deposit Assistance** and **PaymentSystem Withdrawal Assistance** requests listed in **Clients** > **Requests**. This information helps the admin decide how to process a specific transaction and includes the following sections:

### Deposit/Withdrawal information

<figure><img src="https://514898401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGoRxAprhHu1goANW7FXt%2Fuploads%2Fgit-blob-64bd4b83257d3114c7ee6936abeeb954d74d16f9%2Fassistance-withdrawal-information.png?alt=media" alt="Withdrawal information"><figcaption><p>Withdrawal information</p></figcaption></figure>

The main information about the transaction:

**Identifier**

The transaction identifier in the B2CORE Payment Systems Service (PSS). You can click it to navigate to the transaction details in **Finance** > **Deposits** or **Finance** > **Payouts**.

***

**Payment provider identifier**

The transaction identifier from the external payment system, which may have two statuses:

* `Verified` — a transaction with this identifier exists in the payment system.
* `Unverified` — a transaction with this identifier can't be found in the payment system.

***

**Status**

The status of the transaction in the B2CORE PSS:

* **Created** — a transaction was created.
* **In Progress** — a transaction is being processed.
* **Success** — a transaction was completed successfully. This is a final status.
* **Failed** — a transaction failed to complete. This is a final status.
* **Unexpected** — a transaction is in an unknown state. This status must be handled by the admin as part of the assistance process.
* **Unprocessable** — a transaction is in a state that requires manual actions, as no further actions can be taken automatically. This status must be handled by the admin as part of the assistance process.

***

**Initial amount**

The amount with which the transaction was initiated.

***

**Initial currency**

The currency in which the transaction was initiated.

***

**Creation date**

The date and time when the transaction was created.

***

**Last updating date**

The date and time when the transaction was last updated.

### Payment input snapshot

The information entered by a client on a payment form when initiating a deposit or withdrawal. The fields that clients must complete depend on the selected deposit or withdrawal method. This information is displayed as the field name and the value provided by the client.

For some methods, no information is required from clients. In this case, the message `The payment input snapshot is empty` is displayed.

<figure><img src="https://514898401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGoRxAprhHu1goANW7FXt%2Fuploads%2Fgit-blob-796d684489ad91c589c6b40b9b330cb7f929283e%2Fassistance-payment-input-snapshot.png?alt=media" alt="Payment input snapshot"><figcaption><p>Payment input snapshot</p></figcaption></figure>

### External details

Additional information about the transaction, including useful data from the payment system. The set of information depends on the specific payment system. During transaction processing, there are no details in this section.

### Timeline

Information about the transaction’s statuses within the B2CORE PSS. The data is presented in chronological order and includes useful details for each status.

<figure><img src="https://514898401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGoRxAprhHu1goANW7FXt%2Fuploads%2Fgit-blob-1999396bb374557c44f7c6d21a1db887a4776449%2Fassistance-timeline-information.png?alt=media" alt="Timeline"><figcaption><p>Timeline</p></figcaption></figure>

### Polling job

After a transaction is created within the B2CORE PSS, the service initiates periodic requests to the external payment system to check the current status of the transaction. This periodic status check is referred to as the **Polling job** process. Each polling job attempt includes information about the request date, status, and additional details about any errors, if applicable.

<figure><img src="https://514898401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGoRxAprhHu1goANW7FXt%2Fuploads%2Fgit-blob-f1e90ec58bf6360261bb2bdbd8eb0190e785bc4b%2Fassistance-polling.png?alt=media" alt="Polling job"><figcaption><p>Polling job</p></figcaption></figure>

After the transaction is successfully completed, the information in all sections of the request is updated accordingly.
