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 Subscribe by calling auth or authCapture, Subscribe 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 Subscribe-generated Transactions, this field is generated automatically. |
autoBillCycle | int | The AutoBill Billing Cycle during which this Transaction occurred. |
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. |
billingStatement Identifier | string | The string that is displayed on a customer’s billing statement. For one-time transactions, Subscribe 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 Appendix A: Custom Billing Statement Identifier Requirements in the Subscribe 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 Subscribe. Subscribe 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 used to authorize this transaction. See the Mandate Subobject for details. |
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 Subscribe. For recurring transactions, Subscribe fills in this attribute if it is specified in the corresponding AutoBill object. Note: use of the forward slash character (/) in merchant identifiers is not allowed. See Merchant Identifiers for more information. |
merchantAffiliate SubId | 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 Subscribe. For recurring Transactions, Subscribe fills in this attribute if it is specified in the corresponding AutoBill object. Note: use of the forward slash character (/) in merchant identifiers is not allowed. See Merchant Identifiers for more information. |
merchantTransactionId | string | Your unique identifier for this Transaction object. Subscribe 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 Subscribe, 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. Note: use of the forward slash character (/) in merchant identifiers is not allowed. See Merchant Identifiers for more information. |
nameValues | NameValuePair[] | Optional. An array of name–value pairs, which are useful in tracking the associated AutoBill object. Subscribe provides the following name-value pairs for use with EDD/SEPA European Direct Debit payment methods: - Use name vin:MandateFlag and value 1 to associate the EDD/SEPA European Direct Debit 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/SEPA European Direct Debit Extension record to Chase Paymentech. - Use name vin:MandateApprovalDate to pass the Signature Date field of the EDD/SEPA European Direct Debit 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 PayPalExpressCheckOut 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. Subscribe 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:NegativeAmountTaxClassification data option on any Transaction (name = vin:NegativeAmountTaxClassification, value = xyz, where xyz is a tax class). This instructs Subscribe 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 Subscribe 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:entifier—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. Subscribe will automatically populate this name-value pair with value = modify for Transactions resulting from AutoBill.modify call. See The NameValuePair Object. If Global Collect is your payment processor, you can set vin:recurring to 1 to have Subscribe flag one-time-Transactions as recurring Transactions. Subscribe 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. |
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 Subscribe returns to you in response to your call. Note: If Subscribe handles the billing, do not fill in this field. |
paymentProcessor TransactionId | string | The name Vindicia uses to identify a Subscribe Transaction to the associated payment processor. This is usually the Subscribe transactionId. In some cases however, due to the format requirements of some payment processors, Subscribe 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 Subscribe Transaction name with the altered Transaction name Subscribe sends to the payment processor, to identify the Transaction. |
preferredNotification Language | string | The language (specified as an ISO language string) Subscribe 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 Subscribe database as part of your configuration. This value overrides any language setting in the Account object for this transaction. |
previousMerchant TransactionId | string | Your unique identifier for a previous transaction referenced by this Transaction object. |
salesTaxAddress | Address | The corrected billing or shipping address Subscribe uses to calculate sales tax for this Transaction object. Subscribe fills it in automatically. This field is optional for migrated transactions. Note: If Subscribe calculates sales tax for you, leave this field empty. See Address Data Members. |
shippingAddress | Address | Optional. The customer’s shipping address for this If Subscribe calculates sales tax for you, leave this field empty. object. For one-time transactions, Subscribe 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, Subscribe can pinpoint the geographical location at which the transaction was made. For Subscribe-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. Subscribe 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, Subscribe 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, Subscribe uses the billing address specified on the payment method for calculating taxes, if any. For recurring transactions generated by Subscribe, 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 Subscribe enumerated status type (for example, Authorized or Captured) and the responses from the payment processor, depending on how Subscribe processed the Transaction. You need not specify this attribute when creating Transaction objects for risk screening. Because Subscribe sets this value for real-time (one-time) transactions, leave this field empty when creating a Transaction object to be processed through Subscribe. When your API call completes, Subscribe 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, Subscribe 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. The authCodeDescription (hard or soft failure) is based on either the payment provider definition or the merchant override for an auth code. It determines whether a transaction is treated as hard failure (D) or soft failure (R). See the TransactionStatus Subobject. |
taxExemptions | TaxExemption | An array of tax exemptions to be applied by Subscribe to this Transaction object. Specify this attribute for one-time transactions for which Subscribe 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. Subscribe 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 | A Transaction array that lists the line items that comprise this Transaction object. Each item is a separate data structure of type TransactionItem. For migrated transactions, Subscribe does not validate that the subitem amounts listed here add up to the total transaction amount (see the amount attribute). For one-time transactions, Subscribe adds the subitem amounts and sets this Transaction object’s amount attribute. Subscribe also adds applicable taxes, such as city tax and state tax, as subitems. For Subscribe-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. |
originalActivityDate | string: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. |
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. |
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. |
entifier | string | The merchant-specified identifier of the AutoBill that “owns” the transaction—null for one-time transactions. |
| Parent topic:The Transaction Object | | |