This page documents a legacy SDK. Starting a new integration? Use the Yuno SDK. Already on a legacy SDK? Follow the migration guide.The new Yuno SDK (Web v2.x, iOS v3.x, Android v3.x) replaces the Full, Lite, Seamless, Render, Headless, and Secure Fields SDKs with one API across every platform. Legacy SDKs remain supported side by side during the transition and are scheduled for deprecation in 2027. Contact your Account Manager for migration planning.
- Web SDK integration
- iOS
- Android
1. Install
<head>. See Preload the SDK script.Or include via CDN:2. Initialize and process payment
3. Add HTML container and pay button
Handling a failed payment
New SDK equivalent: the onStatus controller. The Web SDK can recover from a failed payment without reloading the page. Two mechanisms work together:-
Payment retry — inline card retry when the payment returns
DECLINEDorERROR. In Seamless the SDK handles retry automatically. In Full Checkout, Lite, and Secure Fields you callcontinuePaymentafter your backend confirms the decline. Works for non-enrolled credit and debit cards. See Payment retry for the full reference. -
Switching payment methods — call
updateCheckoutSession(newSession)to inject a fresh checkout session without unmounting the SDK. Picking from the already-rendered payment-method list after a session swap works; a different set of payment methods requires unmounting and re-mounting the SDK — not a page reload. See updateCheckoutSession.
On a retried attempt the SDK does not fire
paymentResult. It delivers the cloned checkout session to your onLoading callback as { type: 'PAYMENT_RETRY', data: { newCheckoutSession } }. Register onLoading in your startCheckout configuration to receive it:Backend integration
Your backend must implement two API endpoints to work with Yuno. The new SDK uses the same checkout session: see Create the checkout session.1. Create checkout session
Before displaying the payment UI, your backend creates a checkout session:- Endpoint:
POST https://api-sandbox.y.uno/v1/checkout/sessions - Required (OpenAPI):
account_id,merchant_order_id,payment_description,country - Also send:
customer_id(from Create Customer) andamount{ currency, value } - Optional for SDK:
workflow(SDK_CHECKOUT|SDK_SEAMLESS|CHECKOUT),callback_url,checkout_id - Returns:
checkout_sessionID (used in SDK) - Reference: Create checkout session API
2. Create payment
In the One-Time Token (OTT) callback, your backend creates the payment:- Endpoint:
POST https://api-sandbox.y.uno/v1/payments - Required header:
X-Idempotency-Key(unique UUID per attempt) — see Authentication - Required body (OpenAPI):
account_id,description,country,merchant_order_id,amount,payment_method,checkout payment_method.token= one-time token from the SDK callbackcheckout.session= checkout session id from step 1- Returns: Payment status and
sdk_action_requiredfield - Reference: Create payment API
sdk_action_required: true or checkout.sdk_action_required: true, you must call the SDK’s continuePayment() method to complete async payment methods (3DS authentication, PIX, bank redirects, etc.).
Parameters
Primary parameters used in this quickstart:
Full parameter reference: Payment flows (Web), Payment flows (iOS), Payment flows (Android).
Alternative integration methods
If you need more control over the user interface or specific payment flows, Yuno provides alternative integration methods:Lite SDK
A lightweight integration that gives you full control over the payment method display while Yuno handles the secure payment processing.- Web Implementation
- Android Implementation
- iOS Implementation
- New SDK equivalent: Web Lite mode migration
Secure Fields
Build your own payment forms from scratch using Yuno’s UI components for maximum customization (Web Only).- Secure Fields Guide
- New SDK equivalent: Secure Fields