Skip to main content
Vindicia Knowledge Center

CashBox Release Notes 16.0.6

CashBox Release Notes 16.0.6

Features and Enhancements

This release includes the following new features and enhancements.

Hosted Order Automation (HOA) enhanced for PCI Compliance

HOA has been enhanced to use Hosted Fields (iframes) to provide full compliance with the latest PCI standards.

CashBox Hosted Order Automation (HOA) with Hosted Fields allows you to accept and process sensitive customer paymentinformation without involving your own servers, instead submitting the payment information directly from your customer’s browser to Vindicia over HTTPS (a secure HTTP connection using Transport Layer Security (TLS)).

Ticket: (CB-21193)

Transaction.finalizePayPalAuth() error message improved

The error message, triggered by a failed capture attempt resulting from the Transaction.finalizePayPalAuth() call (Transaction is found to be in different states between Merchant and PayPal), now also includes an error code indicating the error response code reported by PayPal.

Ticket: CB-14016

Sparse Response Description (SRD) support added for several CashBox objects

The Sparse Response Description feature has been implemented in the following CashBox SOAP objects:

  • AutoBill
  • Account
  • BillingPlan
  • Campaign
  • Entitlement 
  • PaymentMethod
  • RatePlan

SRD is supported for any SOAP API version since 13.0. Any method that uses any object with SRD support can be constrained using SRD for that object. Previous releases implanted SRD support for Transactions, Refunds, and Products.

Tickets: CB-21262, CB-21322, CB-22209, CB-22210, CB-22552, CB-22555, CB-22556

CashBox Support for email notification of credit card expiration

Merchants can now have email notifications sent to customers whose credit cards are about to expire. Notifications are sent out on the first of each calendar month for a configurable number of months in advance of card expiration.

Ticket: CB-21932

Bug Fixes

Ticket No. Summary  Description


Portal reports with multiple line headers not formatting properly.

Some CashBox Portal report results with multi-line headers, when sent as CSV, contained merged cell headers, causing columns to not align properly. This has been fixed in the current release.


AutoBill.delayBillingBy() and AutoBill.delayBillingToDate() do not honor the movePermanently flag.

Previously, when making AutoBill.delayBillingBy()and AutoBill.delayBillingToDate() calls with the movePermanently flag set to true, CashBox only executed the requested delay once, and failed to reset the billingDay. This has been fixed in the current release.


 AutoBills getting stuck when modified through the Portal.

AutoBills edited through the Portal using the new modification process were getting stuck with Processing/Unbilled status if the modification failed for certain conditions. This has been fixed in the current release.


AutoBill.modify() proration when last modify transaction has been authenticated but not yet captured.

Previously, when an autobill.modify() call made an immediate change with proration requested during the short interval in which an earlier modify() with immediate effect was in process (authorized but not yet captured), the proration calculation of the second modify() call was based on the state prior to the first modify() request. This has been corrected in the current release so that the second proration  calculation is based on the authorized but not yet captured state of the in-process change, and therefore can proceed with an accurate proration, and possible service change.

CB-21424, CB-22907

Ability to mask shipping address for digital goods in PayPal Express Checkout Page.

With a recent release (16.0.2), CashBox added the ability to use a name-value pair indicator to force PayPal to mask the shipping address. An error with the resulting API between CashBox and PayPal prevented the correct use of this new option. This has been corrected.


AutoBill.modify() generating a 500 return code error instead of a 400 when an AutoBill can not be found.

AutoBill.modify() was generating a 500 return code when passed in an AutoBill object with an incorrect or empty merchantAutoBillId. This has been enhanced to result in a 400 return code with the message: Could not load AutoBill.

An AutoBill must be specified when using AutoBill.modify().


Campaign.retrieveCouponCodes() calls incorrectly return coupons with database ID instead of merchant campaign ID.

Calls to Campaign.retrieveCouponCodes() now correctly return the merchantCampaignId.


AutoBill.update() incorrectly generating 500 return code when trying to reactivate an AutoBill by passing in an object with just the VID and status.

This has been fixed in the current release. AutoBill.update() now correctly generates a 200 return code if the update can be performed using only the VID and status.


Final billing for fixed cycle AutoBill with mix of license and usage based rate plans includes charges for license-based rated items.

An AutoBill using a fixed-term billing plan with both license-based and usage-based rated products led to the license charges being billed twice (at the start of the subscription and when the term ended, if no usage was recorded. This has been corrected in the current release: license-based charges are now assessed only at the start of the period, as expected.


MOLPay transactions not confirmed by MOLPay and not finalized by the merchant were not retrying for capture.

This has been corrected in the current release to support handling non finalized transactions that may be approved at MOLPay.


Address.update() should return a 400 error when no address is specified.

Address.update() was returning 500 error when no address object was passed. This has been enhanced so that Address.update() correctly triggers a 400 return code with the message Error validating address.


Scheduled reports failed to upload to an SFTP server using a port number other than the default.

Scheduled reports failed to upload to an SFTP server using a port number other than the default. This has been fixed in the current release.


AutoBill.cancel() 500 caused by a transaction with no sales tax address.

Transactions with no sales tax address erroneously caused an AutoBill.cancel() with a 500 error code. This has been fixed.


Account.updatePaymentMethod() triggers a 500 error code if CatchUp billing is used on a Stopped AutobBll

Previously, when an AutoBill is changed to Stopped status in the middle of an attempt at CatchUp billing, CashBox generated a 500 error. In the current release, the AutoBill.cancel() still proceeds to completion but the CatchUP billing fails with a 402 error, allowing the final actions to complete.


Billing Plan changes through AutoBill Modify in the Portal not actually taking effect.

Attempts to modify an AutoBill in the Portal by changing the Billing Plan failed, incorrectly leaving the AutoBill in the Processing/Unbilled state, with legacy status still in Good Standing. This has been fixed in the current release.


Avalara Document Date using the original transaction date instead of the actual date of the refund when reporting refunds to AvaTax—no impact on taxes.

For merchants using the Avalara Tax Service, when CashBox communicates a refund to the tax service, there are two relevant dates: the Doc Date, and the Tax Date. The Doc Date is the documented date the event is recorded into AvaTax. (This date is used to find or sort tax records within Avalara directly.) The correct Doc Date for a refund is the date the refund is processed, not the date of the original Transaction being refunded—the Tax Date is the date of the original Transaction.

A bug was detected in which the Doc Date was using the date of the original transaction, causing the event to be located in a past period within Avalara. This has been corrected in the current release; the CashBox Doc Date now uses the Refund date.

Note that the Tax Date determines which tax rates are used when processing a Refund within AvaTax. The correct date is the date of the original transaction, not the refund processing date. This ensures that the refund tax calculation uses the rates in effect at the time of the charge. This has always been the case in CashBox and is not affected by this bug. All taxes on refunds were properly calculated. No remedial action is required.


Calling Transaction.fetchDeltaSince() was generating the error HostedPagesBilling is not a valid value for PaymentMethodType for PaymentMethodType for some client libraries if Hosted Pages payment methods were presented.

This has been fixed in the current release. CashBox now returns HostedPage as the value for the payment method type in all cases where the payment method type is HostedPage. This removes the error for affected libraries.


GlobalCollect HostedPages DirectDebit transactions are not refundable through the Portal.

Refunds for GlobalCollect HostedPages DirectDebit transactions can now be created through the portal.

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