digetpay_plugin 0.4.1 copy "digetpay_plugin: ^0.4.1" to clipboard
digetpay_plugin: ^0.4.1 copied to clipboard

Pure-Dart DigetPay payment plugin: hosted (PCI-safe) checkout via WebView plus transaction management over the DigetPay REST API.

0.4.1 - 2026-07-09 #

  • Fix: SaleRequest.toMap() and Customer.toMap() now match the S2S collection's request sample exactly: billingAddress/invoice are always present (null when unset, not omitted), and Customer's phone/idNumber/idType/taxNumber are always present ('' when unset, not omitted) — the backend expects these keys regardless of value. This is a deliberate, endpoint-specific exception to this package's usual "omit null optionals" convention.
  • Docs: moved the "Transaction history & lookup by id" section to directly follow "Direct (S2S) card sale" (ahead of "Listing checkout sessions") — it's a more commonly-needed lookup than the sessions listing.

0.4.0 - 2026-07-08 #

  • New: sale(SaleRequest) now performs a real headless S2S card sale/authorization against POST /payment/s2s/sale — no more UnsupportedError. This widens PCI scope for callers who opt into it; cardPay() remains the recommended, PCI-safe default. The backend's integrity hash field has a ported implementation (computeSaleHash, MD5) but automatic injection is temporarily disabled pending confirmation of the algorithm/secret — sale() currently sends the request as-is; set SaleRequest.hash yourself if you need one meanwhile (see the TODO(hash-decision) markers in lib/src/digetpay_sdk.dart).
  • New: recurring(RecurringRequest) now performs a real merchant-initiated recurring charge against POST /payment/checkout/recurring, charging a recurringToken from a prior cardPay() transaction — no more UnsupportedError.
  • New: getTransactionById(id) now performs a real lookup against GET /payment/transactions/digetpay/{id}/details — no more UnsupportedError. This reverses the 0.3.0 breaking change now that a real replacement endpoint exists. The returned Transaction gained ~23 fields from this richer endpoint (businessUnitId, reconciliationStatus, cardScheme, cardChannel, originalAmount/originalCurrency, gateway, settlementStatus, businessUnitHierarchy, and more), plus a new BusinessUnit model for the hierarchy.
  • New: getRecurringSubscriptions([RecurringSubscriptionFilter]) lists saved-card billing plans (GET /payment/checkout/recurring/subscriptions) as a PageDto<RecurringSubscription>.
  • New: chargeSubscription({subscriptionId, amount, email}) charges an existing subscription (POST /payment/checkout/recurring/{id}/charge) — no card data needed — returning a SubscriptionChargeResult.
  • New: getTransactionHistory([TransactionFilter]) lists raw transaction records (GET /payment/transactions/digetpay/) as a PageDto<Transaction>. Distinct from the deprecated getTransactions() (→ getCheckoutSessions(), session-shaped) — this lists transaction-shaped records instead.
  • Breaking: TransactionFilter's fields replaced (pageNumber, pageSize, status — dropping the old speculative id/page/size/ orderId/amountFrom/amountTo/dateFrom/dateTo) to back getTransactionHistory(). This class had no caller in the SDK until now.
  • Packaging: added the crypto dependency (for the S2S sale hash).
  • Example app: replaced the compile-time --dart-define=DIGETPAY_API_KEY flow with a first-run onboarding screen — enter your API key, pick Sandbox/Production, and the app calls DigetPaySdk.initialize() and persists the choice (shared_preferences, example-app-only). A new settings action on the home screen reopens it to change or reset the saved configuration. Added demo screens for S2S Card Sale, Recurring Charge (on the Money Movement screen), Recurring Subscriptions, and Transaction History; Transaction Lookup now also demos getTransactionById; Not Yet Available is trimmed to the four remaining guarded stubs (applePay, externalPayment, getTransactionByOrderId, getTransactionByRrn).
  • Docs: README capability tables updated; new "Direct (S2S) card sale" and "Recurring charges & subscriptions" / "Transaction history & lookup by id" sections; the security section now distinguishes cardPay() (PCI-safe) from the opt-in, PCI-scope-widening sale().

0.3.0 - 2026-07-07 #

  • Breaking: getTransactionById(id) is now a guarded stub — the backend lookup-by-id endpoint (GET /payment/checkout/status?id=) is no longer available, so this always throws UnsupportedError. Use getCheckoutStatus(sessionId), or list getCheckoutSessions() and inspect the returned CheckoutSessions, instead.
  • Docs: updated the README capability table, "which id do I use?" callout, and "not yet available" section; the example's Not Yet Available screen now demos getTransactionById alongside the other guarded stubs, and Transaction Lookup is limited to getCheckoutStatus.

0.2.0 - 2026-07-06 #

  • New: getCheckoutSessions([CheckoutSessionFilter]) lists your checkout sessions (GET /payment/checkout/sessions) as a PageDto<CheckoutSession>. Each CheckoutSession exposes gatewayTransactionId — the id to use with capture / voidd / refund / getTransactionById (not the session id).
  • New: CheckoutSession, CheckoutSessionFilter, and PageDto.fromPaginated (parses the NestJS {data, pagination} shape).
  • Deprecated: getTransactions() — renamed to getCheckoutSessions(); it now forwards to it and returns PageDto<CheckoutSession>.
  • Behaviour change: the not-yet-implemented methods now throw UnsupportedError instead of silently returning a failure/null: sale (disabled for PCI), applePay, externalPayment, recurring, getTransactionByOrderId, getTransactionByRrn.
  • Fix: getCheckoutStatus now calls GET /sdk/status?sessionId= (was pointing at the wrong path).
  • Packaging: added repository, issue_tracker, and topics metadata; converted to a true pure-Dart package (removed the unused native plugin scaffolding); aligned the flutter SDK constraint.
  • Docs: rewritten README (hero, quick start, capability table, sessions guide) and a runnable example is now published.

0.1.0 #

  • Initial DigetPay release (pure Dart).
  • DigetPaySdk facade with initialize() + init-guard.
  • Hosted, PCI-safe card checkout via cardPay() (WebView) — POST /payment/checkout/intiate + GET /payment/checkout/status.
  • Money movement: capture, voidd, refund.
  • Transaction queries: getTransactions, getTransactionById (typed Transaction / PageDto).
  • Typed DigetPayResponse normalizing the backend {code, message, errorCode, data} envelope.
  • Guarded stubs (no backend endpoint yet): sale (S2S card — disabled for PCI), applePay, externalPayment, recurring, getTransactionByOrderId, getTransactionByRrn.
1
likes
0
points
257
downloads

Publisher

unverified uploader

Weekly Downloads

Pure-Dart DigetPay payment plugin: hosted (PCI-safe) checkout via WebView plus transaction management over the DigetPay REST API.

Homepage
Repository (GitHub)
View/report issues

Topics

#payments #payment-gateway #checkout #webview

License

unknown (license)

Dependencies

crypto, flutter, http, uuid, webview_flutter

More

Packages that depend on digetpay_plugin