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

# Get Payout Transaction Status

> Look up the current status of a payout by supplying either the bluSwap transaction_id or your own order_id. Returns INITIATED, SUCCESS, or FAILED.

Use this endpoint to retrieve the current status of a payout transaction. You can query by either the `transaction_id` returned by bluSwap at payout initiation, or your own internal `order_id` — at least one of the two must be provided.

## Headers

**x-api-key** `string` *required*

Your secret API key.

**X-Real-IP** `string` *required*

Your whitelisted server IP address.

## Request Parameters

**transaction\_id** `UUID`

The bluSwap transaction ID returned in the `bluswap_transaction_id` field when you initiated the payout. Required if `order_id` is not provided.

**order\_id** `string`

Your internal transaction ID passed as `order_id` when you initiated the payout. Required if `transaction_id` is not provided.

> [!NOTE]
>
> You must supply at least one of `transaction_id` or `order_id`. If you provide both, bluSwap uses `transaction_id` as the primary lookup key.

## Sample Request

```sh Shell theme={"dark"}
curl --get 'https://api.bluswap.co/api/v1/transactions/check_status_cust_by_order_id_or_transanction_id' \
  --header 'x-api-key: <YOUR_API_KEY>' \
  --header 'X-Real-IP: YOUR_WHITELISTED_IP' \
  --data-urlencode 'transaction_id=YOUR_TRANSACTION_ID'
```

```js Node.js theme={"dark"}
const response = await fetch('https://api.bluswap.co/api/v1/transactions/check_status_cust_by_order_id_or_transanction_id?transaction_id=YOUR_TRANSACTION_ID', {
  method: 'GET',
  headers: { 'x-api-key': '<YOUR_API_KEY>', 'X-Real-IP': '<YOUR_WHITELISTED_IP>' }
});
console.log(await response.json());
```

```python Python theme={"dark"}
import requests

response = requests.get(
    "https://api.bluswap.co/api/v1/transactions/check_status_cust_by_order_id_or_transanction_id",
    headers={"x-api-key": "<YOUR_API_KEY>", "X-Real-IP": "<YOUR_WHITELISTED_IP>"},
    params={"transaction_id": "YOUR_TRANSACTION_ID"},
)
print(response.json())
```

```java Java theme={"dark"}
var request = java.net.http.HttpRequest.newBuilder(java.net.URI.create("https://api.bluswap.co/api/v1/transactions/check_status_cust_by_order_id_or_transanction_id?transaction_id=YOUR_TRANSACTION_ID")).headers("x-api-key", "<YOUR_API_KEY>", "X-Real-IP", "<YOUR_WHITELISTED_IP>").GET().build();
var response = java.net.http.HttpClient.newHttpClient().send(request, java.net.http.HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
```

```go Go theme={"dark"}
package main
import "net/http"
func main() {
request, _ := http.NewRequest(http.MethodGet, "https://api.bluswap.co/api/v1/transactions/check_status_cust_by_order_id_or_transanction_id?transaction_id=YOUR_TRANSACTION_ID", nil)
request.Header.Set("x-api-key", "<YOUR_API_KEY>")
request.Header.Set("X-Real-IP", "<YOUR_WHITELISTED_IP>")
response, _ := http.DefaultClient.Do(request)
defer response.Body.Close()
}
```

```php PHP theme={"dark"}
<?php
$curl = curl_init('https://api.bluswap.co/api/v1/transactions/check_status_cust_by_order_id_or_transanction_id?transaction_id=YOUR_TRANSACTION_ID');
curl_setopt_array($curl, [CURLOPT_HTTPHEADER => ['x-api-key: <YOUR_API_KEY>', 'X-Real-IP: <YOUR_WHITELISTED_IP>'], CURLOPT_RETURNTRANSFER => true]);
echo curl_exec($curl);
curl_close($curl);
```

```ruby Ruby theme={"dark"}
require "net/http"

uri = URI("https://api.bluswap.co/api/v1/transactions/check_status_cust_by_order_id_or_transanction_id?transaction_id=YOUR_TRANSACTION_ID")
request = Net::HTTP::Get.new(uri, {"x-api-key" => "<YOUR_API_KEY>", "X-Real-IP" => "<YOUR_WHITELISTED_IP>"})
puts Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request).body }
```

## Sample Response

```json theme={"dark"}
{
    "status": "Success",
    "status_code": 200,
    "message": "Transaction status Fetched Successfully",
    "detail": null,
    "data": {
        "bluswap_transaction_id": "xxxxx",
        "utr": null,
        "amount": "100",
        "mode": "IMPS",
        "status": "SUCCESS",
        "order_id": "xxxxx",
        "beneficiary_account_number": "xxxxx",
        "beneficiary_ifsc": "xxxxx",
        "beneficiary_name": "xxxxx",
        "name_at_bank": "xxxxxx",
        "account_holder_name": "xxxxx",
        "status_description": "Payment has been Credited",
        "upi_id": "77XXXXXX43@ybl"
    }
}
```

## Transaction Status Values

| Status | Description |
| - | - |
| `INITIATED` | Payout request has been created and is pending processing. |
| `SUCCESS` | Payout completed successfully and funds have been credited to the beneficiary. |
| `FAILED` | Transaction failed. Check `status_description` for more detail. |

> [!TIP]
>
> For real-time updates without polling, configure a [webhook callback URL](/docs/payouts/webhook-configuration.md). bluSwap will POST a payload to your URL when the transaction reaches a terminal state.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.