Retrieving transactions

How to retrieve one or more of a customer's transactions and the details for a transaction.

Overview

Bond provides an API that let's you retrieve either all the transactions for a specific customer or details of a specific transaction.

▶ Run in Postman

Retrieving transactions

Retrieving all transactions

To retrieve a list of all transactions, use the GET /transactions operation and provide the query parameters as shown in the table below.

AttributeTypeDescription
customer_idstringThe unique ID used to reference a customer or business resource.
account_idstringThe UUID of the account. Each customer_id can have more than one account_id associated with it.
payment_typestringach, card, or account.
For details, see Payment Types.
start_datestringStarting date from which to include transactions, of the from YYY-MM-DD, for example 2020-01-01.
end_datedateEnd date at which to include transactions, of the from YYY-MM-DD, for example 2021-07-20.
pageint32The required page number to return.
countint32Number of transactions to return per page. One of: 1, 2, 5, 10, 20, 50, 100, 1000, 5000, 10000
order_bystringdesc or asc.
transaction_statestringThe transaction state to be included. One of: failed, declined, pending, cancelled, completed, returned.

An example of a request to retrieve all transactions is shown below.

curl --request GET \
      --url 'https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=0bebf64a-a74b-42f4-9af9-8e5ac7b07cf4&payment_type=card&start_date=2019-12-01&end_date=2022-12-31&page=1&count=20&order_by=asc&transaction_state=completed' \
     --header 'Accept: application/json' \
     --header 'Authorization: YOUR-AUTHORIZATION' \
     --header 'Identity: YOUR-IDENTITY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=0bebf64a-a74b-42f4-9af9-8e5ac7b07cf4&payment_type=card&start_date=2019-12-01&end_date=2022-12-31&page=1&count=20&order_by=asc&transaction_state=completed")

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

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Identity"] = 'YOUR-IDENTITY'
request["Authorization"] = 'YOUR-AUTHORIZATION'

response = http.request(request)
puts response.read_body
const options = {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Identity: 'YOUR-IDENTITY',
    Authorization: 'YOUR-AUTHORIZATION'
  }
};

fetch('https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=0bebf64a-a74b-42f4-9af9-8e5ac7b07cf4&payment_type=card&start_date=2019-12-01&end_date=2022-12-31&page=1&count=20&order_by=asc&transaction_state=completed', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
import requests

url = "https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=0bebf64a-a74b-42f4-9af9-8e5ac7b07cf4&payment_type=card&start_date=2019-12-01&end_date=2022-12-31&page=1&count=20&order_by=asc&transaction_state=completed"

headers = {
    "Accept": "application/json",
    "Identity": "YOUR-IDENTITY",
    "Authorization": "YOUR-AUTHORIZATION"
}

response = requests.request("GET", url, headers=headers)

print(response.text)
var client = new RestClient("https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=0bebf64a-a74b-42f4-9af9-8e5ac7b07cf4&payment_type=card&start_date=2019-12-01&end_date=2022-12-31&page=1&count=20&order_by=asc&transaction_state=completed");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "application/json");
request.AddHeader("Identity", "YOUR-IDENTITY");
request.AddHeader("Authorization", "YOUR-AUTHORIZATION");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=0bebf64a-a74b-42f4-9af9-8e5ac7b07cf4&payment_type=card&start_date=2019-12-01&end_date=2022-12-31&page=1&count=20&order_by=asc&transaction_state=completed")
  .get()
  .addHeader("Accept", "application/json")
  .addHeader("Identity", "YOUR-IDENTITY")
  .addHeader("Authorization", "YOUR-AUTHORIZATION")
  .build();

Response response = client.newCall(request).execute();

An example of a response to a successful request to retrieve all transactions is shown below.

{
    "page": 1,
    "pages": 1,
    "count": 2,
    "next_page": null,
    "transactions": [
        {
            "transaction_id": "b9b8da9a-5ff2-4e5c-84ee-587b7d092f6b",
            "bond_brand_id": "8ed5c9fe-581b-490a-9dcb-3302db235a4b",
            "customer_id": "6493109c-7cb5-4f21-9d19-d9c3901d452d",
            "account_id": "9dc86a8a-4c12-4107-84a8-e7cf6a76586f",
            "payment_type": "card",
            "transaction_type": "credit",
            "transaction_state": "completed",
            "previous_transaction_id": null,
            "state": "pending",
            "amount": "5.30",
            "currency": "USD",
            "created_time": "2021-02-02T22:27:13+00:00",
            "updated_time": "2021-03-02T20:39:56+00:00",
            "balances": {
                "prior_balance": "68.83",
                "new_balance": "63.53"
            },
            "details": {
                "card_id": "71efc729-830f-455f-9525-281c19bb4bb4",
                "mcc": "3542",
                "mcc_description": "matrix dynamic eyeballs",
                "currency": "USD",
                "exchange_rate": "0.00",
                "merchant_id": "9le8DI5z8am54O3b",
                "merchant_name": "Baldwin, Wright and Martinez",
                "merchant_city": "New Nathanshire",
                "merchant_state": "Missouri",
                "merchant_country": "Colombia",
                "merchant_postal_code": "34100",
                "merchant_currency": "",
                "merchant_amount": "",
                "exchange_rate": "",
                "cardholder_presence": true,
                "statement_descriptor": "Target #4744",
                "arn": "000091556011",
                "fraud_rule_triggered": "spend_velocity"
            }
        },
        {
            "transaction_id": "6460856a-e431-4d5f-a6d2-deb87c01042f",
            "bond_brand_id": "4b3fab91-7b67-4300-95f7-437dacac5e78",
            "customer_id": "00b9a8ed-03b5-4ce4-a0dd-9bb47aefd2b0",
            "account_id": "9e5f7953-743d-46d0-88ae-dacc395e8030",
            "payment_type": "ach",
            "transaction_type": "credit",
            "transaction_state": "completed",
            "previous_transaction_id": null,
            "state": "pending",
            "amount": "3.22",
            "currency": "USD",
            "created_time": "2021-01-17T06:37:44+00:00",
            "updated_time": "2021-03-04T01:09:46+00:00",
            "balances": {
                "prior_balance": "57.10",
                "new_balance": "53.88"
            },
            "details": {
                "card_id": "21775c4e-c74e-40e8-83ec-1e2c9781d587",
                "external_account_id": "d6517906-a318-43b5-849f-0b42032c0a1f",
                "class_code": "ppd",
                "direction": "credit",
                "network": "ach",
                "description": "Testing",
                "failure_reason": "Invalid ACH routing number",
                "return_code": "R13"
            }
        }
    ]
}

To retrieve details for a single transaction, use the GET /transactions/{transaction_id} operation with no further parameters.

For a complete specification and interactive examples, see Retrieving transactions in the Bond API Reference.

Retrieving details of a specific transaction

To retrieve the history for a specific transaction, use the GET /transactions/{transaction_id}/history operation and provide the query parameters as shown in the table below.

AttributeTypeDescription
pageint32The required page number to return.
countint32Number of transactions to return per page. One of: 1, 2, 5, 10, 20, 50

An example of a request to retrieve a transaction's history is shown below.

curl --request GET \
     --url 'https://sandbox.bond.tech/api/v0/transactions/3fa85f64-5717-4562-b3fc-2c963f66afa6/history?page=1&count=5' \
     --header 'Accept: application/json' \
     --header 'Authorization: YOUR-AUTHORIZATION' \
     --header 'Identity: YOUR-IDENTITY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://sandbox.bond.tech/api/v0/transactions/3fa85f64-5717-4562-b3fc-2c963f66afa6/history?page=1&count=5")

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

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Identity"] = 'YOUR-IDENTITY'
request["Authorization"] = 'YOUR-AUTHORIZATION'

response = http.request(request)
puts response.read_body
const options = {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Identity: 'YOUR-IDENTITY',
    Authorization: 'YOUR-AUTHORIZATION'
  }
};

fetch('https://sandbox.bond.tech/api/v0/transactions/3fa85f64-5717-4562-b3fc-2c963f66afa6/history?page=1&count=5', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
import requests

url = "https://sandbox.bond.tech/api/v0/transactions/3fa85f64-5717-4562-b3fc-2c963f66afa6/history"

querystring = {"page":"1","count":"5"}

headers = {
    "Accept": "application/json",
    "Identity": "YOUR-IDENTITY",
    "Authorization": "YOUR-AUTHORIZATION"
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
var client = new RestClient("https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=9dc86a8a-4c12-4107-84a8-e7cf6a76586f&payment_type=ach&start_date=2020-03-01&end_date=2021-07-15&page=1&count=5");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "application/json");
request.AddHeader("Identity", "YOUR-IDENTITY");
request.AddHeader("Authorization", "YOUR-AUTHORIZATION");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://sandbox.bond.tech/api/v0/transactions?customer_id=931e2341-c3eb-4681-97d4-f6e09d90da14&account_id=9dc86a8a-4c12-4107-84a8-e7cf6a76586f&payment_type=ach&start_date=2020-03-01&end_date=2021-07-15&page=1&count=5")
  .get()
  .addHeader("Accept", "application/json")
  .addHeader("Identity", "YOUR-IDENTITY")
  .addHeader("Authorization", "YOUR-AUTHORIZATION")
  .build();

Response response = client.newCall(request).execute();

An example of a response to a successful request to retrieve a transaction's history is shown below.

{
"page":3,
"pages":1,
"count":20,
              "next_page":2,
              "transactions":[
                     {
                     "transaction_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
                     "bond_brand_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
                     "customer_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
                     "account_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
                     "payment_type":"string",
                     "transaction_type":"string",
                     "previous_transaction_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
                     "state":"string",
                     "amount":10,
                     "currency":"string",
                     "created_time":"2021-07-19T11:07:09.677Z",
                     "updated_time":"2021-07-19T11:07:09.677Z",
                     "balances":{
                     "prior_balance":100,
                     "new_balance":90
                     }
                            "details":{
                            "card_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
                            "external_account_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
                            "class_code":"string",
                            "direction":"string",
                            "network":"string",
                            "description":"string",
                            "failure_reason":"string",
                            "return_code":"string"
                     }
              }
       ]
}

For a complete specification and interactive examples, see Retrieving transaction history in the Bond API Reference.