Logo

What are you looking for?

Get help straight from our team...

Cashless Release History

Release Note

Cashless Release History

Last updated on 16 Apr, 2026

Copyright 2015-2026, Circumtec

Cashless is the service layer that handles card-based, app-based, and credit-card vending transactions for VMMS. It covers sell/xsell APIs, card validation, refunds, top-up and revalue flows, vend persistence, and downstream integrations with DynamoDB, Lambda, webhooks, and related vending services.

Cashless 4.x


Version: 4.0.06

Release Date: 10/06/2025

  • Removed usages of vmmscore.DynamoDBTool and switched DynamoDB operations to API-based calls.

  • VendService no longer calls vendFinish(); processing now waits for a successful DynamoDB insert to trigger Lambda.

  • XsellAction and SellAction no longer call forwardToWebhook(); downstream handling now starts from the DynamoDB-triggered Lambda flow.

Version: 4.0.05

Release Date: 20/03/2025

  • Refund records now set vendCount = -1 in Vend.toRefundRecord().

  • Fixed incorrect server_id values when syncing vend records to DynamoDB.

  • Improved membership-card lookup so the newest generated card is returned first.

Version: 4.0.04

Release Date: 27/02/2025

  • Changed vend.realVendTime from Date to Timestamp.

Version: 4.0.03

Release Date: 13/01/2025

  • Aligned webhook newvend output fields with the VMMS API cardvends output.

Version: 4.0.02

Release Date: 25/11/2024

  • Recovered vend-fail records now prefix the product name with the recovered vend timestamp.

  • Fixed SQL issues caused by MySQL 8 reserved keywords.

Version: 4.0.01

Release Date: 16/11/2024

  • Upgraded the JDBC driver to MariaDB 3.4.1.

  • Added support for Java 17 and MySQL 8.

  • Added Gradle support and related build/runtime upgrades.

Cashless 3.x


Version: 3.4.7

Release Date: 09/10/2024

  • Added DynamoDB l_new_vends error_code values for duplicate vend, MySQL errors, Java errors, invalid params, and sync failures.

  • Added required refundTxnId and txnId validation for xsell refunds.

  • Allowed getCardByNo to match cards stored with a company-id prefix.

  • Fixed Lambda action-path resolution in Cashless.java.

Version: 3.4.6

Release Date: 05/07/2024

  • Added order_id to t_card_vends.

  • Added order_id request parameters to xsell and sell APIs.

Version: 3.4.5

Release Date: 24/11/2023

  • Added country_code to Xsell/Sell requests with fallback from machine params to company params, defaulting to AU.

  • Fixed invalid-card handling for certain App Credit cards with company id 3.

Version: 3.4.4

Release Date: 07/09/2023

  • During credit-card top-up in xsell, vend_id is now written back to t_card_transactions.

Version: 3.4.3

Release Date: 13/01/2023

  • For recover=1 in xsell, the product name timestamp now uses the real transaction time submitted by the client.

Version: 3.4.2

Release Date: 03/11/2022

  • Set the default vend type for Sell action to 2 (RFID).

Version: 3.4.1

Release Date: 17/08/2022

  • Added vend_year, vend_month, vend_date, card_no_6, and card_no_4 when saving vend records to DynamoDB.

Version: 3.4.0

Release Date: 14/06/2022

  • Added CircumPay-specific vend type handling based on token and carduser role.

  • Added Lambda notifications for CircumPay balance, membership-card, and payment-method transactions.

Version: 3.3.9

Release Date: 09/12/2021

  • Updated timezone handling.

  • Refined cardAction company/IMEI validation rules for shared and company-bound cards.

Version: 3.3.8

Release Date: 09/12/2021

  • Added imgUrl to VendInfo and saved it into DynamoDB t_card_vends.

Version: 3.3.7

Release Date: 10/11/2021

  • Added product_name query parameter to XSellAction and SellAction so product lookup can be skipped when supplied.

Version: 3.3.6

Release Date: 25/08/2021

  • CardService now returns invalid card when the card state is not enabled.

  • Removed the @Test suppression from testCardServlet.

Version: 3.3.5

Release Date: 25/06/2021

  • Stopped sending SQS after creating card vend records; records are now saved directly to DynamoDB t_card_vends.

  • Updated l_new_vends status and error fields after DynamoDB save, including new_vend_id handling.

Version: 3.3.4

Release Date: 28/05/2021

  • Added token input support for sell.

Version: 3.3.3

Release Date: 11/05/2021

  • Added order_no support in sell/xsell card_vends writes.

  • Added no_surcharge support for xsell.

Version: 3.3.2

Release Date: 17/02/2021

  • Changed agent-fee parameter lookup so AGENT_CHARGE_INCLUDED is read from the current company and other agent fee settings from the parent company.

Version: 3.3.1

Release Date: 22/12/2020

  • Fixed Circumpay My Credit vends not being counted as credit-card vends.

Version: 3.3

Release Date: 05/08/2020

  • Added dual servlet/Lambda dispatch for the full action set defined in web.xml.

Version: 3.2

Release Date: 29/07/2020

  • Added dual servlet/Lambda support for sell.

Version: 3.1

Release Date: 29/07/2020

  • Added dual servlet/Lambda support for xsell.

Version: 3.0

Release Date: 21/07/2020

  • Rebuilt the project with Maven.

Cashless 2.x


Version: 2.50

Release Date: 15/07/2020

  • Added cached in-memory loading for system, company, and machine params.

  • Added configurable parameter refresh interval with read-through refresh logic.

Version: 2.49

Release Date: 14/07/2020

  • Simplified charge handling by reusing existing fail/refund fee parameters.

  • Updated gateway_charge calculation to ser_charge - agent_charge - preauth_charge - system_charge.

Version: 2.48

Release Date: 06/05/2020

  • Added AWS SQS messaging in VendService.insert() and VendService.update() to help keep MySQL and DynamoDB in sync.

Version: 2.48

Release Date: 04/02/2020

  • Introduced agent fee support, related database fields, and surcharge calculation rules.

  • Documented system_charge, agent_charge, preauth_charge, ser_charge, and gateway_charge behavior.

Version: 2.47

Release Date: 28/01/2020

  • Improved recover-mode product naming for normal, refund, and refund-fee vend records.

Version: 2.46

Release Date: 15/01/2020

  • Added xsell handling for cardNo=paypal.

Version: 2.45

Release Date: 13/01/2020

  • Added return_vend_id handling so successful new vends can return JSON with vend_id.

Version: 2.44

Release Date: 23/12/2019

  • Improved xsell credit-card detection when generating or matching cards.

  • Added is_recover support to prefix recovered vend product names with the real vend time.

Version: 2.43

Release Date: 06/12/2019

  • Added vend lookup helpers by txnId / imei / cardNo and refund helpers in VendDAO / VendService.

  • Extended xsell support for action=1 with vendId.

  • Changed vend matching to use txnId + imei + cardNo63.

Version: 2.42

Release Date: 04/11/2019

  • Fixed new credit-card transactions being counted as normal-card transactions.

Version: 2.41

Release Date: 28/10/2019

  • Fixed new credit cards failing to upload vend records.

Version: 2.40

Release Date: 08/10/2019

  • Added topup_amount support in ExtensiveVendServlet and VendServlet for CircumPay top-up flows.

Version: 2.39

Release Date: 02/10/2019

  • Added is_credit to t_card_vends and distinguished credit flows from normal vend flows.

Version: 2.38

Release Date: 12/08/2019

  • Added token and carduser_id parameters to ExtensiveVendServlet.

  • Updated SQL and AddCard handling for company-aware card creation.

Version: 2.37

Release Date: 13/07/2019

  • Added aid, auth_code, and contact/contactless fields for selected terminal uploads.

Version: 2.36

Release Date: 13/06/2019

  • Added PayPal transaction support in ExtensiveVendSell.

Version: 2.35

Release Date: 15/05/2019

  • Added revalueCard support in ExtensiveVendServlet for CircumPay top-up.

Version: 2.34

Release Date: 30/04/2019

  • Added automatic refund support based on card auto_refund_flag.

  • Disabled promo application when auto refund is enabled.

  • Fixed missing company id, card type, and holder id in auto-refund records.

Version: 2.33

Release Date: 24/04/2019

  • Added multi-vend support.

Version: 2.32

Release Date: 18/02/2019

  • Added support for additional cards that consume balance from a primary card.

  • Added optional webhook forwarding for new vend events when company API and webhook settings are enabled.

  • Added BaseDAO and hourly company-param caching.

Version: 2.31

Release Date: 16/07/2018

  • Stopped saving empty error_msg values for failed vend records.

  • Fixed incorrect vend_id values in auto-refund records.

Version: 2.30

Release Date: 03/07/2018

  • Added storage for declined and auto-refund credit-card transaction records.

  • Added report_all_vends support in GetParamServlet for newer DTU firmware.

  • Returned existing vend_id on duplicate vend detection.

Version: 2.29

Release Date: 11/12/2017

  • Fixed maxPrice precision handling in DTU parameter responses.

  • Saved jobNo for credit-card vend records and recover tracking.

Version: 2.28

Release Date: 02/11/2017

  • Added WEBHOOK_TRIGGER_URL and forwarded vend records after a vend happens.

Version: 2.27

Release Date: 08/09/2017

  • Added expiry_date, reference, and real_vend_time fields for credit-card vend records.

  • Fixed gettime returning London time.

  • Used jobno for recover flag tracking in credit-card transactions.

Version: 2.26

Release Date: 23/05/2017

  • Fixed DTU parameter database read errors.

  • Started recording update notes in whatsnew.txt.

Version: 2.25

Release Date: 17/02/2017

  • ParamServlet now returns machine and machine-type related parameters, with machine-level values overriding machine-type values.

Version: 2.24

Release Date: 06/10/2016

  • ParamServlet now returns records from t_dtu_params.

Version: 2.23

Release Date: 06/06/2016

  • Added duplicate txn_id protection when generating vend records.

  • Added pre-authorization fee handling and xsell preauth parameter logic.

Version: 2.22

Release Date: 04/03/2016

  • Improved VMMS card credit calculation when a daily limit is configured.

Version: 2.21

Release Date: 03/03/2016

  • Added RFID auto-refund rules based on company parameters and transaction order within the day.

Version: 2.20

Release Date: 18/02/2016

  • Revised agent surcharge and gateway charge calculations for parent-company agent scenarios.

Version: 2.19

Release Date: 18/02/2016

  • Extended charge parameter lookup to fall back through parent-company settings.

Version: 2.18

Release Date: 28/10/2015

  • Fixed a null last-credit issue that could cause server-side exceptions for newly issued VMMS cards.

Version: 2.17

Release Date: 07/10/2015

  • Formalized parameter lookup precedence across machine, company, and system levels.

Version: 2.16

Release Date: 30/09/2015

  • Tightened RFID card validity rules based on machine ownership and company matching.

Version: 2.15

Release Date: 25/09/2015

  • Added more fault-tolerant servlet validation and logging to avoid oversized DTU error responses.

Version: 2.14

Release Date: 26/08/2015

  • Added PRINT_INVOICE controls from machine/company params and returned invoice data to DTU when enabled.

Version: 2.13

Release Date: 20/08/2015

  • Added itemno_rule=4 with static key-value based item number mapping.

Version: 2.13

Release Date: 17/08/2015

  • Limited card lookup by card_no to one record when duplicates exist.

Version: 2.12

Release Date: 07/08/2015

  • Saved coil_no into t_card_vends using t_coils, t_coil_mapping, or item_no fallback rules.

Version: 2.11

Release Date: 06/08/2015

  • Machine-level itemno_rule now overrides machine-type itemno_rule when present.

Version: 2.11

Release Date: 30/07/2015

  • Updated itemNo calculation rules from DTU realNo values and stopped relying on server-provided VMC code.

Version: 2.10

Release Date: 29/07/2015

  • Moved MINIMUM_CREDITCARD_TRANSACTION and max_credit lookup to machine params first, then machine type.

  • Stored DTU realno in t_card_vends.

Version: 2.09

Release Date: 10/07/2015

  • Added minimum credit-card transaction handling.

Cashless 1.x


Cashless 1.x covers the earliest foundation stage of the Cashless service before the detailed version-by-version release history recorded in the current repository.

  • It established the original cashless vending transaction flow used by VMMS.

  • It laid the groundwork for card validation, vend recording, refund handling, and machine-facing transaction APIs.

Did you find this article helpful?
Previous

Glossary

Next