Skip to Content
ResourcesChangelog

Changelog

This page records the update history of SUNBAY Developer Documentation, including new documentation, content updates, structural adjustments, and more.

2026-10-20

  • Updated the dependency coordinate to com.sunmi:sunbay-taplink-sdk-android:1.1.0.
  • Marked the v1.1.0 Version History entry as (Current) and removed the (Current) marker from v1.0.10.
  • Added the paired Tapro version (v1.0.5) to the v1.1.0 entry as reference-only version pairing — not a minimum-version requirement — consistent with the note that Tapro app versions are not SDK versions and that 352 is no longer synthesized from the Tapro app version.
  • Corrected the TaplinkConfig.setTimeout(int) wording to reflect that it updates and returns the same TaplinkConfig instance.

2026-10-10

Prepared Android SDK v1.1.0 documentation (release pending)

  • Added a pending v1.1.0 version-history entry and migration guidance for timeout units, Java configuration, LAN recovery, and terminal-information error handling.
  • Updated the SDK error-code reference and getTerminalInfo() example to explain that v1.1.0 no longer generates error 352 from the Tapro app version.
  • The installation coordinate and current-version marker remain on v1.0.10 until the maintainer confirms the published artifact version.
  • Added explicit Tapro v1.0.5+ requirements beside getTerminalInfo() and the CPad Pay Sub-Screen mode, so readers can check both SDK and terminal versions before integration.

2026-09-22

Android SDK connection and timeout behavior clarified

  • Documented that ConnectionConfig.autoReconnect controls internal LAN discovery fallback, background service monitoring, and reconnects after service changes, while explicit discoverLanServices and autoDiscoverAndConnect calls remain available when it is disabled.
  • Fixed automatic LAN recovery when the same terminal host restarts on a newly advertised port, and complete discovery immediately after the matching service resolves instead of waiting for the full 30-second window.
  • Restricted mDNS discovery to non-connected states; successful LAN connection now stops discovery immediately.
  • Clarified request timeout precedence and units: per-request requestTimeout uses milliseconds and takes priority; TaplinkConfig.timeout remains in seconds with a 180-second default and is converted internally when used as the fallback.
  • Added the local-channel timeout lifecycle: App-to-App ignores callback timeout and never returns 306; LAN/Cable return 306, cancel only while cancellable, and suppress late callback results.
  • Clarified that card-reading timeout is returned as a terminal FAILED transaction result with the message read card timeout.

2026-09-15

  • Updated the dependency coordinate and current-version reference to com.sunmi:sunbay-taplink-sdk-android:1.0.10.
  • Added the v1.0.9 migration for the removal of automatic LAN/Cable and cable-protocol selection.
  • Documented Android API 24/25 compatibility, removal of the Jackson runtime dependency, LAN/reconnect hardening, SDK re-initialization cleanup, and more precise getTerminalInfo() error handling.
  • Removed remaining Cable auto-connection wording from the integration guides and clarified that integrations must explicitly select USB_VSP, RS232, or USB_AOA.

New: SAF Offline Transactions (Store-and-Forward)

  • Added a dedicated SAF Offline Transactions page under the Android (Kotlin) client-side SDK, documenting the ISV-facing store-and-forward interfaces: the Offline mode switch, terminal online capability query, SAF limit configuration, upload mode, the safMode transaction flow (including Offline Approved and the acceptance confirmation callback), QUERY / VOID / BATCH_CLOSE handling, and the SAF management APIs (lists, single upload, upload-all task, and result callback).

2026-09-11

Sub-Screen availability clarified

  • Clarified across the integration guides and Android SDK reference that Sub-Screen mode is available only when Tapro runs on the CPad Pay Sub-Screen edition.

Cross-Device modes corrected

  • Removed obsolete Cross-Device Auto routing documentation. Cross-Device now documents only the LAN and Cable strategies, with explicit cable-protocol selection.

2026-09-03

  • Updated the dependency coordinate to com.sunmi:sunbay-taplink-sdk-android:1.0.9
  • Rewrote the Connection Modes chapter around integration modes: ON_DEVICE, CROSS_DEVICE (CrossDeviceStrategy.LAN / CABLE) and SUB_SCREEN, with a mapping table to the classic APP_TO_APP / LAN / CABLE API (which remains fully supported)
  • Added a Choosing a mode table and an explicit “no code changes required when upgrading from v1.0.8” note
  • Updated the Quick Start connect example to ConnectionConfig.createOnDeviceMode()
  • Published the getTerminalInfo() read-only terminal information query in the v1.0.9 (Current) version history entry
  • Removed the obsolete TerminalInfo.logo field from the Android SDK reference
  • Removed obsolete autoOpenUsbScreenPlayer configuration guidance; use SUB_SCREEN for mandatory customer-display activation
  • Corrected Android SDK transaction examples to pass amounts in the smallest currency unit
  • Updated the integration architecture guide to reflect that Cable mode is now available
  • Updated the local integration basic steps to use the v1.0.9 On-Device, Cross-Device, and Sub-Screen modes
  • Aligned the Sub-Screen SDK section with the On-Device and Cross-Device sections in the connection-mode hierarchy

2026-09-02

Integration architecture upgraded

  • Upgraded integration classification from connection-based (App-to-App / LAN / Cable) to form-based (On-Device / Cross-Device / Sub-Screen)
  • Cloud mode now presented under Cross-Device
  • Updated Semi-Integrated setup instructions to replace legacy Taplink Configuration switch

2026-08-25

Merchant APIs now return processor identifier lists

  • Retrieve Merchant response adds midList, returning the channelCode, channelName, and mid assigned by each payment channel (processor).
  • List Merchant Terminals response adds tidList on every terminal, returning the channelCode, channelName, and tid assigned by each payment channel (processor).
  • Clarified that mid differs from the platform merchantId and tid differs from the terminal serial number (sn); an empty array is returned when no payment channel has been enabled.

2026-08-07

Android SDK v1.0.8 API Audit

  • Audited the v1.0.7 and v1.0.8 AARs class-by-class and documented every previously missing change.
  • Documented the expanded PaymentEvent progress states and the generic fallback event used for unrecognized event codes.
  • Recorded the breaking changes: PaymentEvent.WaitingOnlineResponse was removed in favour of OnlineProcessing; JSON serialisation moved from Gson to Jackson 2.17.2; BasicRequest/BasicResponse.bizData changed from JsonObject to String; ConnectionConfig.createAppMode() now takes an optional AppToAppMode.
  • Documented AppToAppMode, TipSuggestions.names, and the PaymentResult.relatedTransactionStatus / transactionBatchStatus fields.

Tip Configuration Source Precedence

  • Clarified that tipConfig.useHostConfig = true ignores every other request field, onScreenTip included — combining it with onScreenTip = false does not skip tipping.
  • Scoped the onScreenTip / suggestions behavior table to useHostConfig = false, which is the only case it describes.
  • Documented that with useHostConfig = false, tipMode and tipWithTax no longer fall back to the terminal values when omitted — the same rule that already applied to suggestions.
  • Extended the behavior table with a receipt tip area column: the tip is captured in exactly one place — the on-screen tip leaves no tip area on the receipt, while disabling it moves capture to the receipt as either suggested amounts or a blank tip line.

2026-08-06

Android SDK Signature & Tip Configuration Source

  • Rewrote the Android SDK signature documentation around signatureConfig and its SignatureConfig factory methods, replacing the previous signatureEntryLocation description.
  • Documented useHostConfig for both signatureConfig and tipConfig: it selects one whole configuration source (terminal or request) and the two are never merged field by field.
  • Clarified that a null tipConfig.suggestions means no suggested tips are shown and does not fall back to the platform values.
  • Added amount-threshold signature options (onScreenAbove, onReceiptAbove) and the none() option.
  • Documented signatureConfig in the Cloud/semi-integration Sale and Auth API references, and confirmed the legacy signatureEntryLocation field stays supported (an explicit entryLocation alone selects the request configuration).
  • Extended signatureConfig support to non-referenced refunds (RefundRequest.nonReferencedBuilder().setSignatureConfig(...)); referenced refunds still reject it.
  • Batch Close now accepts the transaction-receipt values MERCHANT and CUSTOMER for printReceipt and treats them as AUTO instead of returning a parameter error.
  • Documented receipt-printed tip suggestions: tipConfig.onScreenTip = false combined with suggestions no longer skips tipping — the terminal prints the suggested amounts on the receipt instead of showing a tip screen.
  • Clarified tipConfig.tipMode: AFTER_SALE authorizes the sale first, then prompts for the tip and sends a follow-up tip adjustment — identical to how the terminal behaves outside semi-integration. Your callback still fires only once, after the tip is settled.
  • Corrected the amount.tipAmount / tipConfig rule: the two are mutually exclusive and passing both returns TipConfigConflict (E302). The previous text incorrectly stated that tipAmount takes precedence.

2026-07-29

Batch Close Report Printing

  • Added the optional printReceipt field to Batch Close requests.
  • Documented AUTO, BOTH, TOTAL, DETAIL, and NONE batch report print modes. The default is AUTO.

2026-07-15

Transaction Query & Online Refund Updates

2026-01-21

Initial Release

  • Released SUNBAY Developer Documentation site
  • Includes core content such as product introduction, quick start, integration guide, API reference, SDK documentation, and resource center
  • Supports Chinese version
  • Provides API Tester online debugging tool
Last updated on