Skip to main content
On this page

DEUNA SDKs render payment experiences inside web and mobile applications. Choose the platform guide that matches the application you ship, then use the product method supported by that SDK.

Choose a platform and flow#

CapabilityWebAndroidiOSReact Native
Payment WidgetinitPaymentWidgetinitPaymentWidgetinitPaymentWidgetinitPaymentWidget
Complete CheckoutNot exposedinitCheckoutinitCheckoutNot exposed
Payment Vault and Click to PayinitElementsinitElementsinitElementsinitElements
Continue 3DS or another pending actioninitNextActioninitNextActioninitNextActioninitNextAction
Voucher experienceinitVoucherWidgetinitVoucherWidgetinitVoucherinitVoucherWidget
Native wallet sheetApple Pay and Google PayGoogle PayApple PayApple Pay and Google Pay
Modal and embedded presentationYesYesYesYes

Integration flow#

Sequence diagram
1Web or mobile app2Merchant backend3DEUNARequest a checkout sessionCreate order with private API keyReturn order tokenReturn order token onlyInitialize SDK with public API keyOpen the selected experienceSuccess, error, close, and lifecyclecallbacksSigned webhook with final state
Merchant or customerDEUNA
  1. Create the order on your backend with a private API key.
  2. Return only the short-lived order token to the application.
  3. Initialize the SDK with the matching public API key and environment.
  4. Open the appropriate experience and handle success, error, close, and lifecycle callbacks.
  5. Use the callback to update the interface, but use a verified webhook as the source of truth for fulfillment.

Common lifecycle rules#

  • Keep one SDK instance alive for the duration of the active experience.
  • Treat onSuccess as a user-interface signal; confirm the final payment state on your backend.
  • Handle onError and onClosed separately. A customer closing a widget is not necessarily a payment failure.
  • Release the widget when the owning screen or flow ends. Use close() for an active flow and the platform-specific disposal mechanism for an embedded view.
  • Call initNextAction only with the order token for an order that DEUNA reports as requiring another action.
  • Check native-wallet availability before rendering a merchant-owned Apple Pay or Google Pay button.

Official code#

The maintained repositories are the source of truth for package versions, supported platform versions, release notes, and runnable examples.