Transaction Object Fields

The Transaction object refers to the JSON structure that contains most of the information that you need to send to the API.

The object also contains a number of arrays or sub-objects that you can use to represent the following business entities:

  • Transaction details per line item
  • Tax information
  • Addresses
  • Refunds

The following table outlines the fields that are part of a typical transaction as represented by the transaction object:

FieldDetailsDescription
purchase_order_number

Type: String

Max: 64

An identifier for the purchase, to be displayed on the invoice if it is required.
billing_addressSee Address Object Fields.
payment_addressSee Address Object Fields.
custom_data

Type: String

Max: 256

Specifies any custom data that you want to add to the transaction.
buyer_name

Type: String

Max: 512

The buyer's name. It can be the first name, last name or company name. For B2B transactions, this field can be overwritten with the value provided by the Tax ID validation service.
currency_code

Min: 2

Max: 2

The ISO currency code for the transaction. For example EUR.
discountsSee Discount Object Fields.
SellersSee Seller Settings Reference Guide.
control_flags

maxItems: 32

Control flags.
transaction_linesSee Transaction Lines Object Fields.
buyer_tax_number

Type: String

Max: 256

Use this field to provide the Tax ID number. This number is generally provided by the buyer during checkout. For example, the EU VAT number.

You can use this field to provide the country code, if that is part of the number. For example, IE1234567X.

You can also use the billing_country_code field for specifying the country.

If a value is entered in the both fields, the country code value in the buyer_tax_number is used once it is verified.
custom_fields

Max: 256

Custom fields, stored as key-value pairs. This property is not processed.
supply_timestamp

Type: String

Date and time of the supply.
payment_due_timestamp

Type: String

Date and time of the due payment
external_unique_id

Min: 20

Max: 64

Pattern: [a-zA-Z0-9_-]{20,64}

A unique, external ID. We advise you to use secure and random identifiers in this field.
vouchersSee Voucher Object Fields.
custom_id

Type: String

Max: 256

A free-form field where you can add an identifier that corresponds to the identifier used in your system. The custom_id field is required for schema validation but you do not have to enter a value.
buyer_tax_numbers
buyer_email

Type: String

Max: 256

Pattern: [^@]+@[^@]+

The Buyer's email address. You can use this field when the address needs to be captured for further processing, such as invoice delivery.
tax_timestamp

Type: String

The time when the tax liability is created.

Tax point date is used to find out the correct tax and currency exchange rates. It appears on the invoice too.

If not provided, tax_timestamp defaults to the value of invoice_timestamp.

You specify it in the following format:
yyyy-MM-dd'T'HH:mm:ssZZZ.
payment_timestamp

Type: String

customer_id

Type: String

Max: 256

ID for customers.
ship_to_addressFor more information, see Address Object Fields.
description

Type: String

Transaction description.
invoice_timestamp

Type: String

The moment the invoice has been issued.

This field is used on the invoice document. It also serves as a default value for the tax-timestamp field when no value is specified there.

Defaults to the value of tax_timestamp or the present moment in merchant's timezone.

Format is: yyyy-MM-dd'T'HH:mm:ssZZZ.
location_evidenceSee Location Evidence Object.