Skip to main content
Seamless mode was the SDK-managed variant: the SDK created the payment internally, the merchant only chose when/where to render the form and triggered the start via yuno.startPayment(). Unlike non-Seamless mode, Seamless did not expose yunoCreatePayment: payment creation was always managed by the SDK. In the unified API the same flow is a normal Transaction without createPayment wired (presence of createPayment flips to manual mode; its absence stays managed). Your Pay button calls transaction.start({ paymentMethod }) with the method the user picked in the list.

Before you start

  • Load the unified SDK bundle instead of the legacy one and initialize it as the side-by-side shows: window.Yuno.initialize(...) becomes SdkPayments.initialize(...). Your public API key and the checkout sessions your backend creates do not change (Before you begin).
  • Decide who creates the payment. The checkout session’s workflow must match that decision:
A default-workflow session with no createPayment override ends in INTERNAL_ERROR: the backend rejects the SDK’s payment creation. See createPayment.

Side-by-side

Seamless Full

Seamless External Buttons

What changes

Grouped in the order you edit the code. Renamed: same role, new name. Moved: same value, new owner. Removed: nothing to call. New: no legacy counterpart. The last column is the only thing you have to do beyond the rename.

Initialization and config

Callbacks

Views

Entry points