Skip to main content
Vindicia Knowledge Center

CashBox Release Notes 16.0.0

ParseError: ")" expected (click for details)
    at (Release_Notes/CashBox/82_CashBox_Release_Notes_16.0.0), /content/body/div/div/pre, line 4, column 1

CashBox Release Notes 16.0.0

Features and Enhancements

This release includes the following new features and enhancements:

Update to Push Configuration Options

  • Plain text JSON format (application/json) as well as form URL-encoded format.HTTP Basic Authentication. 
  • Header information moved to x-header in HTTP request for better alignment with standards.

 (CB-19623, CB-20094, CB-20429, CB-20430)

Support for Apple Pay

For merchants wanting to offer this payment method from within their qualifying iOS applications, this provides a server-to-server integration for processing the payments for one-time and recurring charges using your chosen payment processor. (Support is currently limited to merchants using Vantiv for card processing. Chase Paymentech will be supported soon.) This means you code your application to process Apple Pay using Apple's published standards, then have the application call your servers with the secure results, and use those in the appropriate Payment Method object (API 16.0+) with standard CashBox API calls (for example, autobill.update()). CashBox negotiates the actual processing downstream and returns the proper response immediately. The nature of this payment method requires user authentication/approval at the point of sale via their device. Thereafter the agreed upon charges can recur as desired. Subscription/AutoBill and One-time transactions can be treated normally (modified, delayed, cancelled, etc.). Merchants are responsible for meeting Apple's terms of service.


Add a Source Data Element to Credit Objects

The CashBox API now includes a read-only field within the Credit object that enables merchants to identify the source of a customer’s credit. 


Support Direct Tax Classification on Billing Plans in CashBox

Previously, Tax Classification for Billing Plans that had separate plan-level pricing required either the use of the default Tax Classification (aka TaxCode in Avalara) or the extra step of defining a custom Tax Item (in the Avalara portal) that specified the appropriate tax classification.  Otherwise tax classification for plan-based charges was inherited from the AutoBill’s primary product’s classification.

As of this release the CashBox portal allows local definition of a Tax Classification on the Billing Plan, and the 16.0+ API will support designation of a TaxClassification value for a Billing Plan object.  When the Billing Plan is individually priced, these will now dictate the proper taxation without requiring the extra step of defining items in the Tax portal.  If a Billing Plan’s TaxClassification is blank or null, the old behavior will be used (use of a Tax Item or default TaxCode).  Specifying a single dash “-“ in a Billing Plan’s tax classification will force CashBox to leave the field blank when transmitting to the Avalara Tax Service (allowing your Avalara defaults to take over).


Payer ID on AutoBill Summary of the Account Detail Page (CashBox Portal) Made Dynamic

The Payer ID field on the AutoBill summary table of the Account Detail page in the CashBox Portal has been made dynamic: It will only display when at least one of the present AutoBills has a Payer other than the Account being viewed. This should make the page and section more readable for all Portal users. 


Update to CashBox Policy on Handling Long Merchant Data Entries

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.



Add Pagination Support for AutoBill.fetchByAccount()

Pagination support has been added for AutoBill.fetchByAccount(). When page size and page is given, paginated results are returned. When page size is not provided, all results are returned. The results are always ordered in reverse chronological order of AutoBill End Date.

CB-21259, CB-21260)

Support for Union Pay for Global Collect Hosted Merchant Link

CashBox now supports Union Pay Cards for merchants using GlobalCollect’s Hosted Merchant Link service (offered via HostedPages payment methods).


Support for Multiple Event Class Subscriptions for Push

The CashBox Push framework now supports unlimited merchant push rules for a given Event Class. This allows a merchant to have the same event (or group of events or full class of events) trigger push messages to multiple targets simultaneously, each with its own rules (endpoint, security, retry configuration).  
To add additional Subscriptions to a particular event, Vindicia Support can simply repeat the configuration and set-up process to add a new settings record.  Each will be treated as an independent Push.


Bug Fixes

The following bugs were fixed in this release. 

Ticket No. Summary Description


Trying to add a second MAP Payment method to an Account returns a 200_OK response.

CashBox supports only a single active Payment Method associated with type Merchant Accepted Payments – this is intended for use with all MAP/External payment methods. Previously, attempts to add a second simultaneous MAP method returned a 200 OK with out creating the unsupported record. Soap versions from 4.0 to current have been modified to return a 400 error code and the string This Account already has a MAP Payment Method defined when attempting to install more than one Merchant Accepted Payment (MAP) .


Canceling an AutoBill causes item end timestamp to be specified incorrectly.

Previously, cancelling an AutoBill could lead to a misleading timestamp value for the effective end date of Entitlements granted by that AutoBill. The time component could have been the time of the cancel or midnight starting the last day (00:00:00)—relying on merchants to interpret the end as being the end of the day. To clarify this situation, CashBox will now store and present this end time as 23:59:59, reflecting that entitlement ends at the end of the day.


Account.stopAutoBilling() method 500 response to an empty string in an array of AutoBills.

The Account.stopAutoBilling() method was returning a 500 error response when an empty array of AutoBills was passed. This has been clarified to result in a 400 response. At least one AutoBill is required for this method.


Internal server error when running the Projections Summary by Product with a blank currency.

Previously, submitting a Projections Summary by Product report with no currency generated a nonspecific internal server error, which was displayed on screen.

In the current release, the on-screen errors presented by the Projections Summary report have been clarified to present the specific errors so that the user can address them.


Return error/disallow creation of “empty”  Billing Plan object in AutoBill.update()

Previously, when users inadvertently made API method calls specifying an  invalidly constructed Billing Plan object, CashBox created a new matching  Billing Plan but would later be unable to bill according to the invalid plan.

In the current release, CashBox rejects malformed or invalidly constructed  Billing Plans in API method calls that allowed an overloaded or in-line creation  of a new Billing Plan. When rejected, the returned error response now  indicates that the Billing Plan was not properly structured; this allows the  calling system to correct the problem and resubmit with a valid Billing Plan  identifier or properly constructed full Billing Plan object.


Report Chargebacks to Avalara

When a chargeback is lost or passed, the proper adjustment will be reported  to the Avalara Tax service (AvaTax) to adjust the merchant's tax obligation  accordingly (the equivalent to a corresponding refund, adjusting the revenue  received accordingly). Previously Chargebacks and some refunds had to be  manually adjusted in the AvaTax system--this is now automated.


Filtering by product ID in Transaction Detail  report results in no output.

Previously, when a user generated a Transaction Detail report filtered by a single Product ID (SKU), no results were returned even though qualifying records were present.

In the current release, the report returns valid response when filtering for specific Product ID.


Sales Tax Detail Report results differ by Transaction ID/Timestamp when Scheduled vs. Ad-Hoc.

Previously, the Sales Tax Detail report used different date ranges (From/To) for parameters when run as an ad-hoc report than it used for those same parameters when it was run automatically as a scheduled report.

This bug has been fixed to ensure that the intended reporting dates are respected regardless of the way the report is run.


Account.fetchByEmail() returning 403/Unable to load account by emailAddress.

Account.fetchByEmail was returning an array of 0 or 1 account objects (based on the last account using the specified email).

This has been fixed. Account.fetchByEmail now returns an array of ALL the accounts associated with the supplied email address.


Transactions paid exclusively with Currency Credits (no Payment Method provided) will stay in New status when declined.

Previously, transactions relying on currency credit for payment, with no payment method specified, could get stuck in New status when they failed due to insufficient currency credit. This has been corrected—such transactions are now put into Cancelled status, like any other transaction that fails. Note that for real-time transactions (one time or online), the call will continue to return a 402_error response; the change is that the Transaction's disposition (status) is updated.


AutoBill.changeBillingDayOfMonth should return a 404 when no AutoBill is found.

Previously, calling AutoBill.changeBillingDayOfMonth without specifying a proper AutoBill returned a 500 response. For clarification, CashBox now returns an appropriate 400_error response when the required AutoBill is not properly specified.


AutoBill.fetchBillingItemHistory() returns 500 response when no AutoBill specified.

The AutoBill.fetchBillingItemHistory()method was returning 500 error response when a valid AutoBill was not specified in the call. This has been clarified to return a 400 error with an appropriate error message. A valid AutoBill is required for this call.


Transaction Status not set to Refunded when refund succeeds if:

• Refund API called before the original Transaction is Captured AND

• The original Transaction was fully paid with currency credits.

Previously, a Transaction’s disposition was NOT changed to Refunded when performing a refund If Refund.perform() was called immediately after the Transaction had been authorized but before the Transaction had be captured, if fully paid using currency credits.

In the current release, as long as the refund is valid and successful, the original Transaction’s status (disposition) will be updated accordingly.


Investigate Avalara exemptions and tax calculations.

Previously, tax exemption outside of the US and Canada under certain conditions was being ignored by the tax service. This has been corrected to ensure proper exemption, particularly for European VAT and Australian GST users.


Sorting by a numbered list not working correctly on the Product Details page.

Previously, sorting on the Product Details page was by first digit only. This has been fixed; sorting is now done correctly by quantity on subsections within the Product Detail page.


Some Payment methods do not display all information correctly.

A UI error caused various data fields on some payment method types to overlap in the Accounts detail page of the CashBox portal. This has been corrected.


When creating a new dashboard, the subscriber form is not complete.

A UI error, which led to a corrupted chart on Subscriber-based Dashboards when certain filters were used, has been corrected. The Dashboards now display as expected.


AutoBill status stays active even though AutoBill failed retry.

AutoBill Status and Billing State values were not being updated for some terminal events, including Expiration at the end of a fixed-term subscription or the termination of an AutoBill due to nonpayment after the grace period had expired. These later status events have been corrected to properly log the event and present the proper Status and State.


Some Push Notifications for ENTITLEMENTSTOP not sent.

A bug introduced in 15.0 prevented some Entitlement Event Class notifications from being sent. These error conditions have been fixed, ensuring that the blocked messages are sent as expected.


Add paymentProcessorTransactionId field to SOAP Transaction in 16.0 SOAP (and going forward.)

A new data member has been 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.

NOTE: This field is being added for future use – it will not be immediately populated with the release of 16.0.


taxOnly refunds failing if customer is configured as tax exempt at Avalara.

Previously, tax-only refunds were failing for merchants whose Tax Exemption configuration changed between the original transaction and the refund.

In the current release, if the taxOnly option is used when specifying RefundItems for a Refund, CashBox overrides the tax value calculated by the tax vendor with the tax amount associated with the original TransactionItem. This ensures that the proper tax value is included in the refund in cases where the merchant has changed their tax status/configuration to Tax Exempt.


Unable to create an AutoBill with CarrierBilling as the Payment method.

The AutoBill edit page included PaymentMethod types (CarrierBilling and GiftCard) that currently do not support recurring billing. To avoid confusion, these non-applicable PaymentMethod types have been removed from the AutoBill edit page PaymentMethod dropdown list.     

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