Skip to main content
Vindicia Knowledge Center

Transaction Data Members

Transaction Data Members

Transaction Data Members

The following table lists and describes the data members of the Transaction object.

Data Member

Data Type

Description

account

Account

The Account object that represents the customer to which this Transaction object applies.

See Account Data Members.

amount

decimal

Required. The monetary amount for this Transaction object, that is, the total cost of one or more line items purchased. When you process the transaction through CashBox by calling auth or authCapture, CashBox fills in this attribute based on the total of the line items (see the TransactionItem attributes) added to the transaction. When reporting the transaction to Vindicia, ensure that the transaction amount matches the total of the line items.

For CashBox-generated Transactions, this field is generated automatically.

autoBillCycle

int

The AutoBill Billing Cycle during which this Transaction occurred.

autobillVID

string

The Vindicia Record ID (or VID) of the AutoBill that "owns" the transaction—null for one-time transactions or any transaction not associated with an AutoBill.

billingPlanCycle

int

The zero-based number of times the AutoBill has been billed for the current Billing Plan. One-time transactions will have the same value as the most recent recurring billing event, as determined by the AutoBill and its BillingPlan.

Note This data member will increment for free cycles.

billingStatementIdentifier

string

The string that is displayed on a customer’s billing statement. For one-time transactions, CashBox supports this value for only certain payment processors. Because this value and its format are constrained by your payment processor, consult with Vindicia Client Services before setting its value.

If GlobalCollect, MeS, Chase Paymentech or Litle is your payment processor, see Custom Billing Statement Identifier Requirements in the CashBox Programming Guide. 

currency

string

The ISO 4217 currency code (see www.xe.com/iso4217.htm) for this Transaction object. The default is USD. To determine the actual monetary value, set the values for both amount and currency.

destPaymentMethod

PaymentMethod

The payment method for deposits to a customer account for this Transaction object. This field is used to make outbound ECP payments or transfers.

See PaymentMethod Data Members.

divisionNumber

string

The number of your division or group with your payment processor for this Transaction. Chase Paymentech refers to this number as the Division Number; Litle calls it the Report Group; MeS calls it the Profile ID. Do not specify this attribute for one-time transactions.

If you subscribe to ChargeGuard, complete this field when reporting transactions to CashBox. CashBox will use this value to match the Transaction to the appropriate chargeback from the payment processor.

ecpTransactionType

ECPTransactionType

The ECP transaction mode for the Transaction object, for example, Inbound or Outbound. If this value is Outbound or Transfer, you must set a value for destPaymentMethod. Specify this attribute for ECP-based transactions only.

mandate

Mandate

Mandate is the Mandate object used to authorize this transaction.

merchantAffiliateId

string

Optional. Your unique identifier for the partner or affiliate who directed this Transaction object to you. Track this information if, for example, you pay a service fee to affiliates who generate business and revenue for you. To implement affiliate tracking, fill in this attribute when reporting or processing one-time Transactions through CashBox. For recurring transactions, CashBox fills in this attribute if it is specified in the corresponding AutoBill object.

merchantAffiliateSubId

string

Optional. Your sub-ID for (and additional information on) the partner or affiliate who directed this Transaction to you. To implement affiliate tracking, fill in this attribute when reporting or processing one-time transactions through CashBox. For recurring Transactions, CashBox fills in this attribute if it is specified in the corresponding AutoBill object.

merchantAutobillId

string

The merchant-specified identifier of the AutoBill that "owns" the transaction—null for one-time transactions.

merchantTransactionId

string

Your unique identifier for this Transaction object. CashBox automatically generates this value for rebilling transactions with the prefix you specified during initial configuration. Vindicia recommends that this prefix differ from the one specified for recurring transactions.

For real-time transactions that you authorize or capture by making a call to CashBox, for example, with Transaction.capture(), you must fill in this attribute.

If you are reporting this transaction to Vindicia for ChargeGuard only, ensure that this ID matches the order number you sent to the payment processor. That way, ChargeGuard can match this transaction with a chargeback received for this transaction from the processor.

nameValues

NameValuePair[]

Optional. An array of name–value pairs, which are useful in tracking the associated AutoBill object.

CashBox provides the following name-value pairs for use with European Direct Debit (EDD) payment methods:

  • Use name vin:MandateFlag and value 1 to associate the EDD Payment Method with the AutoBill.
  • Use name vin:MandateVersion and value 1.0.1, to associate a mandate document of version 1.0.1 with the object.
  • Use name vin:MandateID to pass the Mandate ID field of the EDD Extension record to Chase Paymentech.
  • Use name vin:MandateApprovalDate to pass the Signature Date field of the EDD Extension Record to Chase Paymntech.
  • Use vin:ValidateFullAmt to pass whether full amount authorization needs to be done before charging. This must be enabled if the processor is Global Collect.

vin:PayPalNoShippingAddress—if set to 1 passes the NOSHIPPING=1 flag in the PayPal ExpressCheckOut request, masking the shipping address for customers buying digital goods.

paypal:NoCommitUserAction—if set to 1, removes the useraction=commit setting from the PayPall ExpressCheckOut request, resulting in a the PayPal checkout page showing "Agree to Continue" instead of "Agree and Pay". Use this setting if you want to do additional checking after the customer exits this checkout page and final authorization doesn’t immediately follow. CashBox supports this feature only for one-time transactions.

paypal:SuppressItems—if set to 1, suppresses display of line item details of a purchase during a PayPal ExpressCheckOut request.

To prevent showing item detail and pricing, provide the name-value pairs: paypal:SuppressItems and paypal:NoCommitUserAction, both with a value of 1, in AutoBill or Transaction objects.

If you use Vindicia's legacy Tax engine or any variety of Avalara Tax service, you can use the vin:NegativeAmountTaxClassificationdata option on any Transaction (name = vin:NegativeAmountTaxClassification, value =xyz, where xyz is a tax class). This instructs CashBox to calculate a negative tax amount on the part of the total that was paid for using currency credits. This is useful if the customer paid taxes when purchasing the currency credits.

Note All name-value pairs included with the Transaction-generating AutoBill will be automatically copied to the resultant Transaction.

The following name-value pairs are automatically populated by CashBox for AutoBill-generated Transactions:

• vin:AutoBillVID—the VID of the AutoBill for which this Transaction was generated.

• vin:ignoreCredits—if set to true, specifies that Transaction.auth,Transaction.capture, and Transaction.authCapture calls ignore Credits available on an Account to pay for a one-time purchase. If set to false, these calls will use available credits for the Transaction. (This name-value pair enables customers to make purchases without using available Credits to pay for them.)

• vin:MerchantAutoBillIdentifier—your unique ID for the AutoBill for which this Transaction was generated.

• vin:RetryNumber—the attempt number (in retry cycles) of the Transaction.

• vin:Type—the type of Transaction. CashBox will automatically populate this name-value pair with value = modify for Transactions which are the result of a Transaction.modify call.

See The NameValuePair Object.

If Global Collect is your payment processor, you can set vin:recurring to 1 to have CashBox flag one-time-Transactions as recurring Transactions. CashBox then passes the values: orderID, EffortID, and AttemptID to Global Collect, as set by you in the vin:orderID, vin:EffortID, and vin:AttemptID fields.

You can send these name-value pairs on transaction.auth(),transaction.capture() and transaction.authcapture() calls for one-time transactions to indicate that those transactions should be flagged as recurring.

note

string

An optional description of the Transaction object.

originalActivityDate

dateTime

The date of the original transaction attempt for the governing AutoBill that spawned the transaction—null for one-time transactions or any transaction not part of an AutoBill.

originalAmount

decimal

In the event of a partial payment, this read-only field reflects the original amount of the Transaction, as a decimal value.

paymentProcessor

string

The payment processor for this Transaction object. This string will be available to you in the Transaction object CashBox returns to you in response to your call.

Note If CashBox handles the billing, do not fill in this field.

paymentProcessorTransactionId

string

The name Vindicia uses to identify a CashBox Transaction to the associated payment processor. This is usually the CashBox transactionId. In some cases however, due to the format requirements of some payment processors, CashBox alters the Transaction name before sending it to the processor. In those cases, the name of a transaction in a report by the payment processor will differ from the name of the same transaction in a report by Vindicia. The paymentProcessorTransactionId data member enables you to reconcile the original CashBox Transaction name with the altered Transaction name CashBox sends to the payment processor, to identify the Transaction.

preferredNotificationLanguage

string

The language (specified as an ISO language string) CashBox uses in email notifications when creating a real-time (one-time)Transaction (see the Transaction.authCapture method), assuming that a template for this language and the email notification type have been uploaded to the CashBox database as part of your configuration. This value overrides any language setting in the Account object for this transaction.

previousMerchantTransactionId

string

Your unique identifier for a previous transaction referenced by this Transaction object.

retryNumber

string

The number of retry attempts to bill for this transaction. This index begins with 0 for the initial attempt to charge for a particular billing. A value of 1 indicates the first retry, 3 indicates the third retry, and so on. For one-time transactions, this value is null.

salesTaxAddress

Address

The corrected billing or shipping address CashBox uses to calculate sales tax for this Transaction object. CashBox fills it in automatically. This field is optional for migrated transactions.

Note If CashBox calculates sales tax for you, leave this field empty.

See Address Data Members.

shippingAddress

Address

Optional. The customer’s shipping address for this Transaction object. For one-time transactions, CashBox uses this address first to calculate taxes, if any, that are to be added to this transaction’s total.

See Address Data Members.

sourceIp

string

Optional. The IP address from which this Transaction object originated. This attribute is required for reporting transactions for ChargeGuard, and for scoring transactions for risk screening. With this information, CashBox can pinpoint the geographical location at which the transaction was made. For CashBox-generated recurring transactions, this is the IP address specified on the corresponding AutoBill object.

sourceMacAddress

string

Optional. The Media Access Control (MAC) address of the customer computer or router, from which this Transaction object originated. This information can be useful in chargeback disputes.

sourcePaymentMethod

PaymentMethod

The payment method through which this Transaction object will deduct funds. CashBox uses this payment method for actual billing. For one-time transactions, except for outbound ECP-based, specify this attribute. If the payment method is not already attached to the account for this Transaction object, CashBox attaches it when saving this object in the database. To turn off this behavior, set the PaymentMethod object’s active attribute to false.

For one-time transactions, if shippingAddress is not specified on the Transaction object, CashBox uses the billing address specified on the payment method for calculating taxes, if any.

For recurring transactions generated by CashBox, this attribute is the PaymentMethod object associated with the corresponding AutoBill object.

When reporting a transaction for ChargeGuard, partially mask the payment method’s data members, for added security.

See PaymentMethod Data Members.

sourcePhoneNumber

string

Optional. The phone number from which this Transaction object originated. This information may be useful in chargeback disputes.

statusLog

TransactionStatus()

An array of the statuses this Transaction object has gone through, with the first entry being the most recent status. Each TransactionStatus object contains a CashBox enumerated status type (for example, Authorized or Captured) and the responses from the payment processor, depending on how CashBox processed the Transaction. You need not specify this attribute when creating Transaction objects for risk screening.

Because CashBox sets this value for real-time (one-time) transactions, leave this field empty when creating a Transaction object to be processed through CashBox. When your API call completes, CashBox returns to you the Transaction object with this attribute filled in. Be sure to examine this attribute in the returned object to verify that the transaction has been approved by the payment processor.

For recurring transactions, CashBox sets this attribute when capturing the transaction with the payment processor.

When reporting transactions for ChargeGuard, specify a value for this field. After status updates, report the transaction again and include the reason codes (auth codes or other return codes) received from the payment processor.

See the TransactionStatus Subobject.

taxExemptions

TaxExemption

An array of tax exemptions to be applied by CashBox to this Transaction object. Specify this attribute for one-time transactions for which CashBox calculates and adds applicable taxes, if any, and adjusts the total transaction amounts accordingly.

See the TaxExemption Subobject.

timestamp

dateTime

A time stamp that specifies the date and time of when this transaction occurred. CashBox sets this value for one-time and recurring transactions. Be sure to include this attribute in migrated transactions; otherwise, it defaults to the current time.

transactionItems

TransactionItem

TransactionItem array that lists the line items that comprise this Transaction object. Each item is a separate data structure of type TransactionItem.

For migrated transactions, CashBox does not validate that the subitem amounts listed here add up to the total transaction amount (see the amount attribute).

For one-time transactions, CashBox adds the subitem amounts and sets this Transaction object’s amount attribute. CashBox also adds applicable taxes, such as city tax and state tax, as subitems.

For CashBox-generated recurring transactions, this attribute consists of a TransactionItem that refers to the Product object on the corresponding AutoBill object and the applicable tax items.

To add sales tax when migrating transactions, include the tax as a line item here.

See the TransactionItem Subobject.

userAgent

string

Optional. Your customer’s user agent from whom this Transaction originated.

verificationCode

string

The response from a payment verification system, for example, Visa (VbV) or MasterCard SecureCode, for this Transaction object. If you report transactions to Vindicia for ChargeGuard, populate this field with the information on the payment verification performed while conducting this transaction.

VID

string

Vindicia’s unique identifier for this Transaction object. When creating a Transaction object, leave this field empty. Vindicia assigns it a VID when saving the object in the database and make the VID available in the Transaction object returned to you in response to your call. Afterwards, you can refer to the object by specifying either the VID or merchantTransactionId.

Note In the absence of an existing VID or merchantTransactionId, Vindicia treats a Transaction object as a new object for any API call, and assigns the object a new VID.

For Users

Learn More
For Users

Cashbox Features

Learn More
Cashbox Features
Back to Top