Skip to main content
Vindicia Knowledge Center

CashBox Release Notes 14.0.0

CashBox Release Notes 14.0.0

New Features and Enhancements

This release includes the following new features and enhancements.

AutoBill Cancel Reason Code

CashBox now provides a mechanism for storing and tracking the reason for an AutoBill being put into a final or terminal state (Canceled, Hard Error, etc.). Numeric Codes will be mapped to extended text descriptions. A single Reason Code can be applied to each AutoBill. The system will support three types of Reason Codes:

  • CashBox System-Generated Codes: These codes are predefined and are used by CashBox when it must directly cancel or terminate a subscription (for example, 4 – CashBox: Chargeback received. Policy specifies AutoBill be canceled.”.) 
  • Predefined Merchant Codes: Commonly used codes predefined so merchants can specify Reasons without having to define their own custom Codes (for example, 103 – Merchant: Customer Dissatisfied.) 
  • Custom Merchant-defined Codes: Codes submitted in advance by Merchants can be stored to offer fully customized reason codes (for example, 1001 – Switching to Competitor A.) 

The Reason Code can be applied to an AutoBill with the AutoBill.cancel() API method to set the reason when the cancel is submitted. System-generated Cancels will be automatically assigned the appropriate CashBox/System-generated reason.

Support for entering codes in the CashBox Portal will be added in a future release.

Ticket: CB-11432 

Account.makePayment() Call Now Supports Using PayPal (When a Billing Agreement Has Been Established)

Account.makePayment() now successfully processes payments when a PayPal payment method with a Billing Agreement ID (BAID) is passed in. This enhancement is available with all SOAP API versions.

Ticket: CB-17257

Handling Undefined Currency Codes Using Merchant- and Account-Level Defaults

CashBox now allows Merchants to define a global Default Currency and an Account-level (customer) Default Currency. This will enable Cashbox to determine the proper currency to use when it is not otherwise provided. Previously, when the currency code was not specified and could not be determined in context, CashBox used USD. With these new defaults, merchants can dictate which currency code will be assumed when it cannot otherwise be determined.

When you pass in an AutoBill or Transaction without Currency Code specified, CashBox sequentially looks higher in your hierarchy to determine the proper currency to use. If the AutoBill or one-time Transaction currency is undefined, CashBox looks for an Account-level default currency; if that is not defined, CashBox looks for a Merchant-level default currency; only when that is undefined will CashBox assume USD.

Ticket: CB-20324

Detailed Messages for Push Notification Error Emails

The Push Notification Error email SUBJECT format has been enhanced to provide more information. Previously, the email subject did not describe where or what the error message was. The Push Notification Error email SUBJECT has been enhanced as follows:

"Push Error Code " + [Return_Code] + "for " + [class_name] + " " + [event_name] + " Attempt:" + [Attempt #] + " at " + [TS] + "PT" + [Environment]

Example: "Push Error Code 500 for entitlement start Attempt:1 at 2015-03-30 14:21:37.070338PT Prodtest"

Ticket: CB-20193 

Support for Adyen Payment Processor

CashBox now supports the Adyen Payment Processor for Credit Cards. This includes support for:

  • Direct API method of integration with Adyen for one-time and recurring transactions
  • Partial and full refunds
  • Chargeback presentment

Ticket: CB-20251 

Bug Fixes

The following Bugs were fixed in 14.0.0:

Ticket No. Summary Description


Account.redeemGiftCard() API method returning a 500 when the Account is not identified.

The Account.redeemGiftCard() API method will now return a 400 error response (rather than a 500) when the Account is not identified properly in the request.


AutoBillItem.startDate could be before the AutoBill’s Start Date in some circumstances (still billed on AutoBill’s first day).

Previously, if the request to create a new AutoBill explicitly specified the AutoBill Start in the future but did not explicitly specify an AutoBill Item’s Start – the recorded start date for the item was “today” (the day of the request) while the AutoBill Start Date was properly in the future. Billing was performed properly as the item billed on the Autobill’s start date, but the recorded and presented item-level date was wrong.

This has been fixed so that the default start for an AutoBill Item without a specified Start date of its own will be the AutoBill Start. Furthermore any Item Start dates will be explicitly prevented from being before the AutoBill Start (that is, you cannot create an AutoBill that appears to bill before it starts).


Entitlement.fetchByAccount() could return an extra inactive entitlement entry after AutoBill was modified to remove an item.

Entitlement.fetchByAccount(), with showAll parameter set to true, was returning extra, inactive entitlements entries after an AutoBill was modified to remove an item. In the current release, this as been corrected so that a fetch now only returns the final or current entry.


Secure File Transfer Protocol (SFTP) scheduled reports failed upload.

For some merchants using SFTP Scheduled Report delivery, errors when receiving valid credentials prevented reports from being configured for delivery. Individual access has been configured for these merchants and instructions for persistent use of credentials have been communicated.

If you wish to use SFTP as a delivery option for CashBox Portal reports, please contact Vindicia to ensure a similar configuration is established.


WebSession.Finalize with Transaction_AuthCapture method Performance: Response Time slow.

A problem concerning slow response times to API calls has been resolved.

CB-20363, CB-20728

Complex rounding scenarios when certain discounts are applied could lead to Transaction Item total’s not exactly matching the combined Transaction total.

This has been fixed so that the presented totals (for items) are rounded so that the actual Transaction total amount matches exactly the individual item totals when summed, using the appropriate currency rounding.


CashBox sends an extra entitlement start push notification when an AutoBill is cancelled.

Previously, CashBox was sending an entitlement start push notification when an AutoBill was cancelled (in addition to the original Start event already sent and the appropriate Stop event if any, due to the cancel). This was confusing but handled by suggested listener design (to ignore subsequent notices for the same event when nothing has changed). To remove the confusion in these use cases, CashBox has been updated to prevent the Start notice from being resent—when a cancel is enacted, only the relevant Stop notices will be sent.


AutoBill.update dryrun not returning campaign details.

Previously,AutoBill.update with a campaign applied at the item level did not return any campaign information when dryrun was set. In the current release, this has been fixed in SOAP versions 10.0.0 and higher so that the same AutoBill.update call, with dryrun set, now returns the initialTransaction and includes the campaignId, campaignDescription, and any discounts on its transactionItems.

CB-20676, CB-20729

AutoBill Item SubTotal not reflecting the Quantity modified pricing—it incorrectly showed the unit price equal to the Amount field).

-Inaccurate SubTotal displayed in SOAP return.

-Inaccurate Discount calculation when applied to a recurring item sold with a quantity greater than 1.

The Quantity concept introduced to AutoBills in 10.0 should handle multiple units being sold for the same AutoBill Item. For license-based products, this is used as the License quantity; for regular recurring products, this simply multiplies the unit Amount to charge the resulting total—indicated as the pre-tax SubTotal as well as the final Total for the item.

This bug was allowing the Total to be calculated correctly, but the SubTotal was not being calculated properly—it was the equivalent of the individual unit price—which meant the display was wrong and any discounts applied when the Quantity was greater than 1 would be under-discounted.

This issue has been fixed—the correct subtotal is now displayed and used for all appropriate calculation.

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