EdfaPay Logo

What's New

Everything that changed in the latest release — new APIs, improvements, and fixes — with direct links to each updated section.

v1.0.7 (Current)Current

July 12, 2026 — released across all platforms: Android native (com.edfapay:sa-edfapay-revamp:1.0.7.7), Flutter (edfapay_softpos_sdk 1.0.7 on pub.dev), and React Native (edfapay-softpos-sdk-rn 1.0.7 on npm, first stable after 1.0.6-beta.1).

Breaking Changes

buyNowPayLater() → invoicePayment()

The BNPL-specific surface is now a generic invoice checkout API. checkoutLinkApi() was removed and invoiceRefund() added for invoice refunds. InvoiceRequest split into InvoicePaymentRequest and InvoiceRefundRequest; BnplResponse renamed to InvoicePaymentResponse.

BnplProvider → PaymentMethod

The provider enum is now PaymentMethod with lowercase values (tamara, tabby, checkout, contactless, unknown) and a factory that maps native names — TAMARA_POS, TABBY_POS, PAYMENT_GATEWAY → checkout, SOFT_POS → contactless.

theme().setPoweredByImage() Deprecated

No longer effective and will be removed in a future release. Remove it from your theme configuration.

Action Required Before Upgrading

The BNPL API was renamed to the invoice payment API. Flutter removes the old methods entirely; React Native keeps deprecated aliases. Review the migration steps in the Changelog before updating.

Improvements & Fixes

Callback Routing Hardened

Native callbacks are routed by a unique per-invocation id instead of by method name — concurrent or repeated calls to the same method (e.g. sequential refund()) no longer overwrite each other's handlers.

Permission Requests No Longer Crash

Utils.requestNotificationPermission and requestLocationPermission previously threw IllegalStateException (LifecycleOwner attempting to register while RESUMED). The launcher now registers via ActivityResultRegistry.

Host App Type Reporting

initiate() now reports the host app type (Flutter / ReactNative) to the native SDK for diagnostics.

React Native Parity

The React Native SDK moves from 1.0.6-beta.1 to a stable 1.0.7 with the full native/Flutter API surface, including all features listed above.

Full Details

See the Changelog page for the complete v1.0.7 release notes and migration guide.

v1.0.6

March 29, 2026

Bug Fixes

Flutter Bridge API Corrections

enableLogs() is a method; RemoteChannel timeout is Double (seconds); Pagination uses pageNumber/pageSize; reconciliationDetail/reconciliationReceipt use id:; Transaction.withRRN takes positional args with DateTime?; showMessageDialog uses onClose:; setShufflePinPad requires the shuffle: named parameter; onTerminalBindingTask receives a TerminalBindingTask object; changePin/activateCard timer and cancel callbacks are required.

Older Releases

For a full history of all releases, visit the Changelog page.