> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# List Transactions

GET https://api.bigcommerce.com/stores/{store_hash}/v3/orders/{order_id}/transactions

Returns an **orderʼs** transactions.

**Usage Notes**
* Depending on the payment method, different information will be available (not all payment gateways return full card or fraud detail).


Requires at least one of the following scopes:
* `store_v2_transactions_read_only`
* `store_v2_transactions`

Reference: https://docs.bigcommerce.com/developer/api-reference/rest/admin/management/order-operations/get-order-transactions

## Authentication

- `X-Auth-Token` header (required) — ### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` | | Order Transactions | read `transactions` and `payment_methods` | `store_v2_transactions_read_only` | | Orders | read and modify `payment_methods` |`store_v2_orders`| | Orders | read `payment_methods` |`store_v2_orders_read_only`| ### Authentication header | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

## Request

### Path parameters

- `order_id` (integer, required) — The ID of the `Order` to which the transactions belong.
- `store_hash` (string, required) — Permanent ID of the BigCommerce store.

### Headers

- `Accept` (string, required, default: application/json) — The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

## Response

### 200

Response payload for the BigCommerce Order Transactions API.

- `data` (list of Transaction, optional)
- `meta` (metaCollection_Full, optional)

## Errors

### 404 Not Found Error

The resource was not found.

- `status` (integer, optional) — 404 HTTP status code.
- `title` (string, optional) — The error title describing the particular error.
- `type` (string, optional)
- `instance` (string, optional)

### 503 Service Unavailable Error

Service Unavailable.

- `status` (integer, optional) — 503 HTTP status code.
- `title` (string, optional) — The error title describing the particular error.
- `type` (string, optional)

## Types

### Transaction

- `event` (enum, required) — Store event that created the transaction.
  - Allowed values: `purchase`, `authorization`, `capture`, `refund`, `void`, `pending`, `settled`
- `method` (enum, required) — The payment method: `credit_card` - a credit card transaction; `electronic_wallet` - an online wallet; `store_credit` - a transaction using store credit; `gift_certificate` - a transaction using a gift certificate; `custom` - manual payment methods; `token` - payment token; `nonce` - temporary payment token; `offsite` - online payment off the site; `offline` - payment method that takes place offline.
  - Allowed values: `credit_card`, `electronic_wallet`, `gift_certificate`, `store_credit`, `apple_pay_card`, `bigpay_token`, `apple_pay_token`, `token`, `custom`, `offsite`, `offline`, `nonce`
- `amount` (float, required) — Amount of money in the transaction.
- `currency` (string, required) — Currency used for the transaction.
- `gateway` (enum, required) — The payment gateway, where applicable.
  - Allowed values: `2checkout`, `adyen`, `amazon`, `authorizenet`, `bankdeposit`, `braintree`, `cheque`, `cod`, `custom`, `firstdatagge4`, `giftcertificate`, `hps`, `instore`, `klarna`, `migs`, `moneyorder`, `nmi`, `paypalexpress`, `paypalpaymentsprous`, `plugnpay`, `qbmsv2`, `securenet`, `square`, `storecredit`, `stripe`, `testgateway`, `usaepay`
- `gateway_transaction_id` (string, optional) — The transaction ID returned by the payment gateway for this transaction item.
- `test` (boolean, optional) — True if the transaction performed was a test, or if the gateway is in test mode.
- `status` (enum, optional) — Status of the transaction.
  - Allowed values: `ok`, `error`
- `fraud_review` (boolean, optional) — Result of gateway fraud review, if any. Default is `false`.
- `reference_transaction_id` (integer, optional) — Identifier for an existing transaction upon which this transaction acts.
- `offline` (TransactionOffline, optional, nullable) — Offline payment (e.g., check or purchase order).
- `custom` (TransactionCustom, optional, nullable) — Custom payment from manual order.
- `payment_method_id` (string, optional) — The payment method ID used for this transaction.
- `id` (integer, optional) — Unique identifier for the transaction.
- `order_id` (string, optional) — Identifier for the BigCommerce Order with which this transaction is associated.
- `date_created` (datetime, optional) — The date/time of the transaction in ISO-8601 format.
- `payment_instrument_token` (string, optional, nullable) — This field contains the internal BigPay token for the stored card, mapped to the third-party token. When the optional feature to expose provider tokens is enabled, the payment provider's instrument token and customer identifier are exposed via `provider_instrument_token` and `provider_customer_id`. These tokens are read-only and do not return any information about the payment.
- `avs_result` (TransactionAvsResult, optional) — Address Verification Service (AVS) result from the payment gateway.
- `cvv_result` (TransactionCvvResult, optional) — Card Verification Value result from the payment gateway.
- `credit_card` (CreditCard, optional) — A credit card model.
- `gift_certificate` (TransactionGiftCertificate, optional, nullable) — A gift-certificate model.
- `store_credit` (TransactionStoreCredit, optional, nullable) — A store credit model.
- `custom_provider_field_result` (TransactionCustomProviderFieldResult, optional, nullable) — Fields for custom payment providers.
- `provider_instrument_token` (string, optional, nullable) — The payment provider's instrument token associated with the stored instrument used to process this transaction, if applicable. **Note:** This field is connected to an optional feature and may not be returned when using this endpoint. If your implementation requires access to this field, please reach out to support or your account manager to enable the inclusion of a provider token here.
- `provider_customer_id` (string, optional, nullable) — The payment provider's customer identifier associated with the stored instrument used to process this transaction, if applicable. **Note:** This field is connected to an optional feature and may not be returned when using this endpoint. If your implementation requires access to this field, please reach out to support or your account manager to enable the inclusion of a provider customer id here.

### metaCollection_Full

- `pagination` (pagination_Full, optional)

### TransactionOffline

Offline payment (e.g., check or purchase order).

- `display_name` (string, optional) — Display name for the offline payment.

### TransactionCustom

Custom payment from manual order.

- `payment_method` (string, optional) — Text entered for the payment method in the control panel.

### TransactionAvsResult

Address Verification Service (AVS) result from the payment gateway.

- `code` (string, optional) — AVS code.
- `message` (string, optional) — AVS message.
- `street_match` (string, optional) — AVS Code for street matching result.
- `postal_match` (string, optional) — AVS Code for postal matching result.

### TransactionCvvResult

Card Verification Value result from the payment gateway.

- `code` (string, optional) — CVV code.
- `message` (string, optional) — CVV message.

### CreditCard

A credit card model.

- `card_type` (enum, optional) — **Allowed values**: alelo, alia, american_express, cabal, carnet, dankort, diners_club, discover, elo, forbrugsforeningen, jcb, maestro, master, naranja, sodexo, unionpay, visa, vr
  - Allowed values: `alelo`, `alia`, `american_express`, `cabal`, `carnet`, `dankort`, `diners_club`, `discover`, `elo`, `forbrugsforeningen`, `jcb`, `maestro`, `master`, `naranja`, `sodexo`, `unionpay`, `visa`, `vr`
- `card_iin` (string, optional) — The IIN of a credit card number.
- `card_last4` (string, optional) — The last 4 digits of a credit card number.
- `card_expiry_month` (integer, optional) — The expiry month of a credit card.
- `card_expiry_year` (integer, optional) — The expiry year of a credit card.

### TransactionGiftCertificate

A gift-certificate model.

- `code` (string, optional) — The gift-certificate code.
- `original_balance` (float, optional) — The balance on a gift certificate when it was purchased.
- `starting_balance` (float, optional) — The balance on a gift certificate at the time of this purchase.
- `remaining_balance` (float, optional) — The remaining balance on a gift certificate.
- `status` (enum, optional) — The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate purchase is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired.
  - Allowed values: `active`, `pending`, `disabled`, `expired`

### TransactionStoreCredit

A store credit model.

- `remaining_balance` (float, optional) — Remaining balance of shopperʼs store credit.

### TransactionCustomProviderFieldResult

Fields for custom payment providers.

- `receipt_number` (string, optional, nullable) — The receipt number associated with the transaction.
- `authorization_code` (string, optional, nullable) — Authorization code for the transaction.
- `fraud_response` (string, optional, nullable) — The fraud response associated with the transaction.
- `amount_received` (float, optional, nullable) — The amount received for the transaction, divided by 100 to convert to the correct currency format.

### pagination_Full

- `total` (integer, optional) — Total number of items in the result set.
- `count` (integer, optional) — Total number of items in the collection response.
- `per_page` (integer, optional) — The amount of items returned in the collection per page, controlled by the limit parameter.
- `current_page` (integer, optional) — The page you are currently on within the collection.
- `total_pages` (integer, optional) — The total number of pages in the collection.
- `links` (links_Full, optional)

### links_Full

- `previous` (string, optional) — Link to the previous page returned in the response.
- `current` (string, optional) — Link to the current page returned in the response.
- `next` (string, optional) — Link to the next page returned in the response.

## Examples

**Response**

```json
{
  "data": [
    {
      "event": "purchase",
      "method": "credit_card",
      "amount": 1.1,
      "currency": "string",
      "gateway": "2checkout",
      "gateway_transaction_id": "string",
      "test": true,
      "status": "ok",
      "fraud_review": true,
      "reference_transaction_id": 1,
      "offline": {
        "display_name": "string"
      },
      "custom": {
        "payment_method": "string"
      },
      "payment_method_id": "string",
      "id": 1,
      "order_id": "string",
      "date_created": "2024-01-15T09:30:00Z",
      "payment_instrument_token": "string",
      "avs_result": {
        "code": "string",
        "message": "string",
        "street_match": "string",
        "postal_match": "string"
      },
      "cvv_result": {
        "code": "string",
        "message": "string"
      },
      "credit_card": {
        "card_type": "alelo",
        "card_iin": "string",
        "card_last4": "string",
        "card_expiry_month": 1,
        "card_expiry_year": 1
      },
      "gift_certificate": {
        "code": "MB345",
        "original_balance": 100,
        "starting_balance": 100,
        "remaining_balance": 35.42,
        "status": "active"
      },
      "store_credit": {
        "remaining_balance": 35.42
      },
      "custom_provider_field_result": {
        "receipt_number": "string",
        "authorization_code": "string",
        "fraud_response": "string",
        "amount_received": 1.1
      },
      "provider_instrument_token": "string",
      "provider_customer_id": "string"
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 1,
      "current_page": 1,
      "total_pages": 1,
      "links": {
        "previous": "string",
        "current": "?page=1&limit=50",
        "next": "string"
      }
    }
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions"

headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>"
}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions';
const options = {
  method: 'GET',
  headers: {Accept: 'application/json', 'X-Auth-Token': '<apiKey>'}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions', [
  'headers' => [
    'Accept' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/orders/1/transactions")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```