Describes a transaction. Transactions come in two basic flavors: Merchant-processed and Vindicia-processed. Merchant-processed transactions have their processing done at the merchant, then are reported to Vindicia for achival purposes, generally as part of the ChargeGuard product. Vindicia-processed transaction are created as part of a CashBox system. Depending on the basic design of the system, these transactions may be created by the merchant for direct authentication through Vindicia (similar to a traditional payment gateway) or created by Vindicia based upon link=AutoBill records.
- VID
- Vindicia's Globally Unique Identifier (GUID) for this object. This field is created by Vindicia and is provided for merchants who don't track their own internal IDs on transactions to have a unique handle to track by. Generally speaking it may be safely ignored in favor of the merchantTransactionId at the merchant's preference. This is a 40-character freeform string.
- amount
- Amount of the transaction, as a decimal. Must be positive, but zero is allowed (though specific behavior of zero-amount transactions may vary on a processor by processor basis - if you think you have a need for this functionality, please discuss with Vindicia Engineering, before using). When you are simply reporting a transaction to Vindicia for ChargeGuard, this should add up to the total value of the all the link=TransactionItems associated, though no validation is performend to enforce this. However, if this transaction is billed through Vindicia, the amount will be calculated by adding up the prices on transaction (line) TransactionItem items. If the total of the line items evaluates to a negative value, the absolute value of the total will be used here.
- currency
- ISO 4217 Currency Code of this transaction; defaults to USD if not specified.
- divisionNumber
- The merchant's division or group with their payment processor, which this transaction is associated with. PaymenTech refers to this as the division number, Litle as the report group, etc.
- merchantTransactionId
- The merchant's unique ID for this transaction. If not specified, this transaction may only be referred to in the future by its VID. For transactions created by Vindicia from link=AutoBill records, this field will be filled in by Vindicia. For other records, this is generally the merchant's invoice number or other unique identifier for a specific transaction. This is stored as a free-form string with no validation and a maximum length of 128 characters. Generally speaking attempting to submit further data on an already used merchantTransactionId will have the effect of updating the previous transaction, as this is a unique key in the Vindicia system.
- previousMerchantTransactionId
- Merchant transaction ID for a previous transaction this transaction references. Use only if not submitting any PaymentMethod information with this transaction. This is intended for a very specific application with merchants who store absolutely no credit card information but do have pointers back to previously submitted transactions. It is not used for CashBox and may safely be ignored in that environment.
- timestamp
- Time this transaction ocurred. For Vindicia-processed transactions that are submitted for auth, it may be left blank and will be filled out by Vindicia.
- account
- The Account (i.e., Customer) account associated with this transaction.
- sourcePaymentMethod
- The PaymentMethod (e.g., a credit card) that funds were deducted from for this transaction. In the case of a CashBox transaction, this payment method will be used to perfom the actual billing. For ECP/ACH inbound transactions (i.e. merchant is getting paid by a customer) populate this field.
- destPaymentMethod
- The PaymentMethod (e.g., a credit card) that funds were deposited to for this transaction. In the case of a CashBox transaction, this payment method will be used to perfom the actual deposit. Note - most merchants will not want to ever fill this field out; this is used for ECP/ACH outbound payments (merchant paying out) and transfers, for example.
- ecpTransactionType
- The type of transaction, e.g., inbound, outbound. For use with Transactions using an ECP account.Set value of this attribute to Outbound if you have set destination payment method in your CashBox transaction and wish to conduct an outbound (customer gets paid rather than merchant) ECP/ACH transaction
- statusLog
- A log of various TransactionStatus entries associated with this transaction. In the case of transactions being submitted to Vindicia for processing in a CashBox environment, this should generally have only one status entry that indicates 'New' status or is empty, and Vindicia will fill in the correct new status upon return from the call. In a ChargeGuard environment, this should have entries set to the appropriate current status of the transaction.
- paymentProcessor
- The payment processor used for processing this transaction. This value will be filled in by Vindicia when the transaction is processed via Vindicia.
- sourcePhoneNumber
- Source phone number this transaction came from. Generally empty in Internet applications.
- shippingAddress
- Address shipping address associated with this transaction, if any. No shipping address is required to be specified for CashBox transactions, but it may be helpful for fraud prevention. If sales tax is to be calculated on this transaction, this item is required.
- nameValues
- Optional array of name/value pairs the merchant wishes to associate with a Transaction
- transactionItems
- TransactionItem array to list the individual line-items that make up this larger transaction. No validation is performed at this time to ensure that the sub-item amounts here add up to the total of the transaction; these items should be considered purely documentary. If sales tax or use tax is calculated by the merchant, that should be included here, as well. If it is calculated by Vindicia, it will be added as a line item on the transaction by Vindicia.
- merchantAffiliateId
- Merchant's ID for the affiliate that submitted this transaction, if any. This is a free-form string of 128 characters or less.
- merchantAffiliateSubId
- Merchant's sub-ID for the affiliate that submitted this transaction. Allows for finer tracking of affiliate programs. This is a free-form string of 128 characters or less.
- userAgent
- Customer's user-agent string for the transaction, as presented by the browser. This is for informational purposes only.
- note
- Free-form text notes that describe this transaction, if any
- preferredNotificationLanguage
- Language to be used in the email notification, specified as an ISO language string. The email notification will be sent this is a one time transaction initiated by a merchant and processed by Vindicia, and if a template for this language and the email notification type is uploaded in Vindicia database as a part of merchant configuration. Value of this attribute will override any language setting on the customer account associated with the transaction.
- sourceMacAddress
- MAC address of the customer (primarily intended for ISP usage), may be left blank if unavailable or inappropriate
- sourceIp
- Source IP this transaction came from (the end customer's, not the merchant's). Of the standard dotted-quad form. Useful in fraud prevention. Generally speaking, for most applications, it is expected to have one of sourceMacAddress, sourcePhone or sourceIp.
- billingStatementIdentifier
- The string that should be displayed on a customer's billing statement when charged. Please note that this value is probably constrained by the Payment Provider and should not be used without first consulting with Vindicia engineering.
- taxExemptions
- Exemptions that apply to this transaction
- salesTaxAddress
- Address corrected billing or shipping address actually used in calculation of sales tax on this transaction by Vindicia. This field is populated by Vindicia and is not expected to be filled by merchants. You can expect this field to be populated only if sales tax calculation is enabled for your merchant account with Vindicia
- verificationCode
- Response from other verification system for this transaction (e.g., Verified by Visa (VbV) or MasterCard SecureCode). This is usually used by merchants who simply report transactions to Vindicia.