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

# Verify transfer status

> Check the status of a bank transfer.

Use this endpoint to confirm whether a bank transfer is still processing, successful, failed, or reversed.

<Info>
  Check the transfer status before marking a payout as complete in your system.
</Info>

## Endpoint

```http theme={null}
GET /v1/disbursements/bank-transfer/{reference}/status
```

## Headers

```http theme={null}
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxx
Content-Type: application/json
```

## Path parameters

| Parameter   | Type   | Required | Description                      |
| ----------- | ------ | -------- | -------------------------------- |
| `reference` | string | Yes      | The Pasteaza transfer reference. |

## Example request

```bash theme={null}
curl https://api.oyapasteaza.com/v1/disbursements/bank-transfer/pst_trf_01JABCXYZ/status \
  -X GET \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json"
```

## Successful response

```json theme={null}
{
  "status": true,
  "message": "Transfer status retrieved successfully.",
  "data": {
    "reference": "pst_trf_01JABCXYZ",
    "merchantReference": "PAYOUT_12345",
    "sourceAccountNumber": "DEFAULT_NGN_WALLET",
    "amount": 500000,
    "currency": "NGN",
    "status": "successful",
    "recipient": {
      "recipientCode": "rcp_7hK2j9xLmQ4",
      "accountNumber": "1234567890",
      "accountName": "JOHN DOE",
      "bank": {
        "code": "044",
        "name": "Access Bank Plc"
      }
    },
    "createdAt": "2026-06-11T14:30:00Z",
    "updatedAt": "2026-06-11T14:31:12Z"
  }
}
```

## Possible statuses

| Status       | Description                                       |
| ------------ | ------------------------------------------------- |
| `processing` | Transfer has been created and is being processed. |
| `successful` | Transfer was completed successfully.              |
| `failed`     | Transfer failed.                                  |
| `reversed`   | Transfer was reversed after processing.           |

## How to use this endpoint

<Steps>
  <Step title="Store the reference">
    Save the transfer reference when you create the payout.
  </Step>

  <Step title="Query the status">
    Call the status endpoint with the transfer reference.
  </Step>

  <Step title="Check the final state">
    Read `data.status` to determine whether the transfer completed or failed.
  </Step>

  <Step title="Update your records">
    Sync your database or dashboard after the transfer reaches a final status.
  </Step>
</Steps>

## Notes

* Always check `data.status` before marking a transfer as completed.
* A transfer may remain in `processing` for a short period.
* The response includes `sourceAccountNumber`, which is the Pasteaza wallet/source account that funded the transfer.
* Use webhooks for real-time updates when possible.
* Store the transfer reference and merchant reference in your database.
* The status response exposes `createdAt` and `updatedAt`; it does not expose `completedAt` in V1.

## Related guides

<CardGroup cols={2}>
  <Card title="Create transfer" icon="arrow-up-from-line" href="/disbursements/bank-transfer/create-transfer">
    Send money to a verified bank account.
  </Card>

  <Card title="Resolve account" icon="magnifying-glass" href="/disbursements/bank-transfer/resolve-account">
    Confirm the recipient account before sending money.
  </Card>
</CardGroup>
