Skip to main content
Vindicia Knowledge Center

CashBox Release Notes 19.0.0

CashBox Release Notes 19.0.0

New Features and Enhancements

This release includes the following new features, enhancements or improvements.

Support for quoting settlement amounts before cancelling an AutoBill (via SOAP 19.0.0 API)

A new AutoBill Method, settlementQuote, has been added with the SOAP 19.0 API. This method enables you to generate a quote for the expected settlement amount before you cancel a subscription (AutoBill).


Support for Merchant Accepted Payment (MAP, aka Pay By invoice) payment method type in SOAP API Migrate Methods (AutoBill and Transaction)

CashBox now allows specifying a Merchant Accepted Payment (Pay By Invoice) payment method on a Transaction or AutoBill being migrated into CashBox. This is useful for migrating active invoice-paid subscriptions or any active subscription with a payment method managed external to CashBox.

When migrating an active subscription (AutoBill), any transactions specified in the migration call will be created within CashBox as Invoices—as with any AutoBill migration, specifying the Billing Cycle directs CashBox to assign the transaction to the correct billing (in sequence); in the case of MAP, this will create a full invoice. If the migrated transaction indicates success, the invoice will be marked as PAID, otherwise it will by marked as DUE or OVERDUE according to your InvoiceLifecycle Decision Rules.

We strongly suggest that you provide at least the last invoice transaction. Regardless of how many transactions you include, CashBox will create invoices for all periods between the “last transaction” and “now”—if you provide none, we will create an invoice for every period since the indicated start date of the subscription. Unless a successful transaction is provided, we will assume an invoice period is unpaid (DUE or OVERDUE). CashBox will not create invoices for periods prior to the last provided transaction unless covered by another migrated transaction—unspecified periods will be assumed to have been PAID in full.

Specifying a nextPeriodStartDate will alter the invoice/billing schedule. If this parameter is not set, CashBox will create all invoices from the last successful transaction provided to “now” and schedule the next (an invoice in OPEN status) according to the billing plan provided.

Note: Partial payments and Overpayments are not supported (you cannot specify a transaction amount that does not match the defined billing amount of the AutoBill.


Continuous Billing during Retry Option

CashBox now supports a merchant-level global configuration that allows subscriptions (AutoBIlls) paid with non-Merchant Accepted Payment (MAP) payment methods to continue generating invoices and accruing balance throughout the retry period. When enabled, this new behavior mimics what is already in place for Merchant Accepted Payments—where invoices are generated and posted according to the schedule regardless of the payment status of prior invoices—except where explicitly governed by InvoiceLifeCycle Decision Rules.

When disabled (default behavior) prior behavior will continue—for non-MAP paid AutoBills, future invoices will not be generated or leave the “Open” status until the unpaid prior invoice is settled.

When enabled, at the scheduled billing date the new invoice will be posted and the associated balance will accrue against the subscription’s Accounts Receivable balance according to the schedule, with no regard to the payment collection status of prior invoices. Each scheduled billing will pursue retry using the existing capabilities, but CashBox will ensure that the oldest unpaid invoice is always pursued first—preventing a situation where a later period is paid and entitled with an earlier period still in question.

The behavior of invoice-paid (MAP) AutoBills will not be affected by the value of this setting.


Control Line Item Description of consumed merchant-granted credits using "reason" field from Credit grant request

A new merchant option, use_credit_reason_on_tx_item, directs CashBox to use the string value in an original credit grant reason field in presenting the description on a transaction_item when any of that grant is consumed. When not enabled, CashBox continues previous behavior, using arbitrary fixed values, such as AutoBillCreditConversion, for the description. This only affects the description value of CashBox Transaction items representing credit consumption.

Merchants performing credit grants in 19.0 and beyond should take care that the reason field is populated with customer-facing verbiage or ensure that this merchant configuration is disabled. Default setting value is false/off.


Support Fetch of Invoice Detail via API

A new REST API call has been implemented to fetch detail for specified invoices. The fetch-only operations can be used to fetch a specified invoice (using Invoice ID), or list invoices by Subscription ID, or Account ID. Fetched invoices are now machine readable, containing full detail on the invoice(s). This feature is currently available only through the REST API. Endpoint/Resource and supported operation information is available in the Vindicia online REST API documentation.


Support for advance and arrears billing options for subscriptions

CashBox now provides the ability to specify a regular billing in advance of, or after, the regularly scheduled Service Period start date. This feature allows the service dates to be maintained according to the billing plan, but arbitrarily bill for those periods on specified days of the month, before or after the scheduled service date.

AutoBill.update() and AutoBill.migrate() SOAP API methods (19.0+) now support this feature with two new parameters that govern this behavior for individual AutoBills:

  • Specified Billing Day: an integer (1-31) specifying the fixed day of the month on which to bill (values 29-31 will automatically work as the last day of the month in calendar months that do not have 29, 30, or 31 days). Providing no value or null in this parameter instructs CashBox to bill on the service period start date as usual.
  • Billing Rule: an enumerated string value (Advance or Arrears), informing CashBox in which direction from the scheduled billing date to select the specified billing date. If no specified_billing_day is provided, this parameter is ignored.

For example, creating a new subscription (AutoBIll) with a startTimestamp of 2016-06-01 on a monthly billing plan would ordinarily create a subscription that bills for each month on the 1st of that month. If this subscription is created with a specified_billing_day = 25 and a billing_rule = Advance; then that same subscription will bill on the 25th of each month for the next month’s service period (which will still run from the 1st to the 31st or end of the month every month).

Note: Billing and Retry schedules will be governed by the specified_billing_day; Service Periods and Entitlement as well as “grace period” will continue to be calculated based on the Service Period dates.

Note: these parameters can be established at creation (using autobill.update) or specified/changed later (using autobill.update)—they cannot be changed using autobill.modify.


Invoice Aging report now schedulable and offers new Aging date options

The existing Invoice Aging report has been renamed to “Invoice Aging by Invoice Date.” This report continues to offer Accounts Receivable aging calculated between run time and the invoice dates of invoices with outstanding balances.

A new version of the report is available that offers aging calculation using the Invoice Due Date in place of the Invoice Date. Otherwise the report is identical.

Both reports are now schedulable in the CashBox portal.

(CB-24560, CB-24748, CB-24823, CB-24824, CB-24825, CB-24826, CB-24828, CB-24838)

Push Event Class and Event: Invoices (class), Invoice Payment Received (event)

A new Event Class—Invoices—has been added to CashBox Push Notifications. The Invoices Event Class contains the single Event: Invoice Payment Received, which provides notification of all invoice payments received. A “payment” includes any transaction against an invoice or billing regardless of the payment method type (this applies to non-MAP payment methods).

The push message will include full detail on the relevant transaction and include the associated Invoice ID in the header.


Integration with Sparrow One Payment Processor

CashBox now has a certified integration to SPARROW (aka Sparrow One)—a global payments processor offering service in the United States, Canada, Mexico, Europe, and Australia. The new integration option supports Credit Card processing through SPARROW. Alternate payment methods are planned for future releases.


Integration with Eurostar Media Group Payment Gateway

CashBox now has a certified integration to Eurostar Media Group’s payment gateway. Cashbox now supports credit card processing through Eurostar Payment Gateway.


Bug Fixes

The following Bugs were fixed in 19.0.0.

Ticket No. Summary Description

Calling AutoBill.modify() on an AutoBill in a retry cycle resets the next_activity date but not the AutoBill end_date

Previously, when calling autobill.modify() on an AutoBill that was in a retry cycle—with the following parameter settings

  • effectiveDate = today 
  • billProratedPeriod = tru
  • changeBillingPlanTo = undef or null

—the AutoBill end_date was not being updated. It was still set to the end of the grace period during the retry cycle.

This has been corrected. Now, an autobill.modify() call with these parameter settings, when successful, correctly updates the AutoBill end-date.

Receiving double transactions/attempt succeeded Push Notification

Duplicate Push Notifications were being sent for Transaction events, both success and failure. This has been fixed.


Vertex chargebacks and refunds are incomplete

Some chargebacks and refunds were incompletely refunding the tax when using the Vertex tax service. This has been fixed.

Note: this did not impact any production merchants.


Entitlement START push event is sent while AutoBill is still in PendingActivation status

An Entitlement START Push event notification was being sent when the AutoBill status was PendingActivation. This has been fixed.

Note: this condition was limited to the few payment methods that require an interim status prior to authorization or capture.

CB-25015 Entitlement stopped for fixed-term AutoBill configured for seasonal entitlement when billing completed, not the season In a fixed-term subscription (AutoBill with a non-indefinite billing plan), the Entitlement was stopped when all billing had completed, even if the plan was configured to grant entitlement based on a defined Season Set (aka Seasonal Billing). This has been fixed. The Entitlement now remains active until the end of the defined Season.
CB-25049 Coupon Code generation does not always complete

Previously, when a merchant activated a campaign before the code generation process had completed, the campaign code generation process could become stuck. Now, activating a campaign before the codes are generated—either through the Portal or the activateCampaign SOAP call—triggers the error message: Can't activate campaign: Campaign code generation is not complete: Campaign codes requested = X; campaign codes generated = Y.

(X and Y represent the number of codes requested and generated, respectively.)

Once the activation process is complete, the associated Campaign may be activated.

Transaction is Captured but Autobill is in Pending Activation status (MOLPay paid AutoBills)

For merchants using MOLPay as their payment processor, the AutoBill's status could remain in Pending Activation even when the initial Transaction had been Captured. This has been fixed. The AutoBill status is now updated to Active.
CB-25088 Some AutoBills canceled without immediate disentitlement did not go into Pending Cancel status When an AutoBill, with no explicitly defined entitlements on its products or billing plans, was canceled without immediate disentitlement but with some time left in its billing period, its status mistakenly showed as Canceled, rather than as Pending Cancel. This has been fixed.
CB-25137 Determine root cause for AutoBill.cancel 400 / Unable to load AutoBill In a rare case of AutoBill creation with the same product_serial (autobill_id) where one AutoBill is in the Deleted state and another AutoBill with the same product serial number is Active, loading that AutoBill using load_by_product_serial was resulting in a 400 Error. This has been fixed at the object level, where only the Active AutoBill is returned by the load call.
CB-25416 Chargeback.fetchByMerchantTransactionId 500 - Can't call method currency_code_id Chargeback.fetchByMerchantTransactionId() was returning a 500 error code in soap versions 14.0 and greater. This has been fixed.

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