Transactions overview

How does Bond manage transactions and what are the attributes of a transaction.

The Bond /transactions API is based on the core transaction object. The attributes of the transaction object are valid for all types of payments; card, ACH, RDC, and account.

▶ Run in Postman

The transaction object contains the objects shown in the table below.

ObjectDescription
detailsContains the attributes specific to a transaction type. For example:
  • The details object for an ACH transfer includes the external_account_id.
  • The details object for a card purchase includes the retailer's MCC.
For information on the details object attributes for various transaction types, see Payment types.
balancesContains the balance data as of the moment Bond became aware of the transaction. See balances in the table below for more details.

An example of the details that are associated with a transaction 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",
            "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",
            "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"
            }
        }
    ]
}

The following table describes the transactions attributes.

AttributeType
transaction_idUnique ID for a Bond transaction.
transaction_typeVaries, based on the payment_type.
payment_typeType of payment made. Valid values; card, ach, rdc, account.
For details, see Payment Types.
stateVaries, based on payment_type.
For details, see Transaction states.
bond_brand_idThe UUID of your brand.
customer_idThe UUID for your customer.
account_idThe UUID of the account. Each customer_id can have more than one account_id associated with it.
amountThe value of the transaction in USD.
currencyThe currency used in the transaction.
Currently only USD is supported.
merchant_currencyISO currency for the transaction, for example USD.
merchant_amountThe original value of the transaction before an currency conversions.
exchange_rateThe conversion rate used for the transaction.
created_timeThe time the transaction is initiated. If the user swipes a card at a POS terminal, this timestamp displays the time at the POS.
updated_timeThe time the transaction was updated.
balancesNote that the current names are misleading, and will be changed in a future version.

prior_balance— Actually refers to the "current" balance. The current balance includes all completed transactions, but not pending transactions.
new_balance— Actually refers to the "available" balance. The available balance includes all transactions, pending and completed.

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