Skip to main content
Vindicia Knowledge Center

CashBox Release Notes 16.0.3

CashBox Release Notes 16.0.3

Features and Enhancements

This release includes the following new features and enhancements.

AutoBill.update() Enhanced to Provide initialTransaction for Merchant Accepted Payment

The return from AutoBill creation requests previously provided an initial Tranasaction when payment was immediate and used an electronic payment method (such as a Credit Card). Autobill.update() has been enhanced to support returning this initial Transaction with the Merchant Accepted Payment payment method (invoicing); this provides the relevant transaction and item details, including taxes and discounts, to support display in quotes (using Dry Run) or confirmation pages.


Automatic Tax Country Substitution Rule: Shipping or Billing Address Country of GB or UK Optionally Triggers Sales Tax Address Change for Channel Islands

PayPal and other providers may require addresses in the Channel Islands that use the GB or UK country codes, which can lead to improper taxation. CashBox now offers an optional setting to perform automatic Sales Tax address substitution to properly use the tax country code without altering the shipping/billing address provided. For example, Jersey (JE) or Guernsey (GY) are used for taxes when the appropriate postal code and country code combination is detected. This enhancement is optional and is configured per merchant. It can also be applied to addresses supplied by merchants directly.


Key Identifiers Added to ENTITLEMENT EVENT CLASS Push Messages for START and STOP Events

To enable merchants to better identify the instance of an entitlement that has been started or stopped, the following four new fields have been added to the ENTITLEMENT START and ENTITLEMENT STOP Push Message contents:

  • AutoBill Item Identifier (an optional merchant identifier for a specific item)—empty if there is no merchant identifier for an item, or if the source of the entitlement is not a Product
  • AutoBill Item VID (a full Vindicia Record ID (GUID/UUID) for a specific item)—empty if the source of the entitlement is not a Product
  • Merchant Product ID (AutoBill Item SKU)—empty if the source of the entitlement is not a Product
  • Merchant Plan Identifier (Billing Plan Identifier)—empty if the source of the entitlement is not a BillingPlan


Sparse Response Description (SRD) Support for the Product Object

CashBox now supports use of sparse response descriptions for the Product object. An SRD is a SOAP string (which must be a JSON object), in which you specify the elements you want returned. This parameter enables the calling system to constrain a method call to return only components you specify. This gives you greater control over returned content, and improves response time within the Vindicia platform by reducing the processing needed for the call.

All API methods involving the Product object, from version 13.0+, can now constrain processing and results as desired. See your Deployment Consultant for example strings.


Store and Present Processor ID with Transactions for ADDITIONAL Payment Processors

A new data member was added to the SOAP Transaction object for 16.0+. This field, paymentProcessorTransactionId, presents the transaction identifier used by the associated payment processor. This field can be used to reconcile CashBox transactions directly to payment processor transactions.

Initially this new field will be blank for most processors. Vindicia will add support individually for each integrated payment processor/provider over the next few releases. As a processor/provider is supported you will see new transactions having this value populated immediately.

The November release adds support for processors: MOLPay, GoCardless, Adyen, FDMS-Compass, FDMS-Nashville, and the internal Test processor. Previous processors were added with CB-20485.


Select: Add Support for Partial Refunds to CashBox Select API

The CashBox Select API has been enhanced to add support for Partial Refunds. The select.refundTransactions method, which previously only supported full amount refunds to provided transactions, has been enhanced to also allow partial refunds.


CyberSource Transaction Data enhanced: Original Transaction ID

The transaction identification information provided to Cybersource has been enhanced to improve traceability in both CashBox and Cybersource for Select and CashBox merchants. CashBox now provides the merchantTransactionId for the original failed Transaction to Cybersource, enabling merchants to better identify failed transactions processed using Vindicia’s Select service.


Select: CyberSource Users: Add Support for Email Address to API and Pass It to CyberSource

Merchants can now specify a customer-level email address using the Select API, via the name-value-pair vin:customerEmailId, which will appear in the Cybersource system and Portal in the related customer Email field.


Bug Fixes

The following Bugs were fixed in 16.0.3:

Ticket No. Summary Description


Account.grantCredit returns 500 series error/return code when a token passed in does not exist.

When a non-existent token is passed to Account.grantCredit(), CashBox now returns a series 400 error/return code with the message Failed to translate credit: Merchant token identifier not found.


A race condition between retry processing and AutoBill modification, with effective date today and prorated billing, resulted in incorrect next billing and end date.

In order to prevent inconsistent AutoBill states, when an AutoBill has a previous transaction that is still actively being processed (a rebill or modify attempt waiting for authorization), AutoBill.modify will now fail with a 400 series error/return code string: Still processing a previous transaction for this AutoBill. Please try modification again later.


Refund.perform() incorrectly returned a 404 error if any Transactions in the array had an existing Refund or a Chargeback.

Refund.Perform now correctly returns a 206 return code when some or all of an array of refunds could not be processed, instead of 404.

Additionally, when one refund failed due to a chargeback or existing refund on it, none of the rest were being processed. This has also been fixed.


Calling Product.fetchByAccount() with no Account was not generating an error message.

Previously, calls to fetchByAccount() with no Account specified were returning a 200 series error/return code, but no data. The call now returns a 400 series error/return code and message.


Enhanced AutoBill status/billing state was not properly updated after cancellation due to Account Updater.

Generating AutoBill cancellation notification emails in certain scenarios (such as cancelling AutoBills without disentitlement, and with certain merchant options set) can result in the Enhanced AutoBill status and Billing State being set to values that indicate the AutoBill is still active (to Portal users or in email templates using the new status options). This has been resolved by ensuring the cancellation notification process operates with an AutoBill in the latest (Canceled) state.


Account.update() returning a 500 series error/return code when a value for a name-value pair passed in exceeds the 255 character limit.

CashBox supports a range of Merchant Data entries, which are Name-Value Pairs for extending custom data on key objects (for example, AutoBills and Accounts). Both the name and the value components are limited to 255 characters each.

Previously, CashBox truncated characters beyond this limit when it was exceeded in a merchant call. As of this release, CashBox returns a 400 error, warning the caller that one or more of the merchant data fields passed in exceeded the acceptable limit. This change has been made to ensure that data is not lost without warning.

This enhancement extends this behavior to API versions 4.3 and earlier.


Unexpected behavior on an AutoBill that failed retry.

In some cases, when an AutoBill was in retry and had an AutoBill.modify() with dryrun called, the status and dates could be presented incorrectly. This has been fixed to ensure that dryrun calls do not affect the display/presentation of AutoBill Status or Billing State or AutoBill dates.


Sales tax address information missing from Transaction Detail report.

Some transactions were not recording the address used to calculate sales taxes. This has been fixed in the current release.


Particular AutoBill still showing as Active in the Portal after retry cycle done and end_ts passed.

An AutoBill was created on an account but failed to bill and, after exhausting the retry process, went into a Legacy AutoBill status of Hard Error and a billing state of Unusable Payment Method. But the Enhanced AutoBill status remained Active, confusing users of the Portal.

This has been fixed. “Exhausted” AutoBills will now display the proper new status in the API and portal.


CashBox could add unexpected $0.000000000000001 to line item total for some PayPal transactions.

PayPal transactions for very low currency amounts could be declined because an unexpected $0.000000000000001 value was being added to the item total.

This has been fixed. CashBox ensures that item amounts and totals match PayPal calculations, ensuring that valid transactions are accepted as expected.

CashBox for
Salesforce (Basic)

Learn More
CashBox for Salesforce (Basic)


Learn More

CashBox for
Salesforce (Premium)

Learn More
CashBox for Salesforce (Premium)
Back to Top