Step 1: Include the library in your project
Before proceeding with the Lite SDK implementation, see the Quickstart Guide for detailed instructions on how to properly integrate the SDK into your project. The integration guide provides three flexible methods:- Direct HTML script inclusion
- Dynamic JavaScript injection
- NPM module installation
TypeScript LibraryIf you are using TypeScript, Yuno offers a library that provides access to all available methods in the Yuno Web SDK.
Step 2: Initialize SDK with the public key
Initialize the Yuno SDK in your JavaScript application by providing a validPUBLIC_API_KEY:
CredentialsSee the credentials page for more information: /reference/getting-started/authentication
Step 3: Create a customer session
To start the enrollment process, you need to provide thecustomer_session. First, you need to create a customer. Use the Create Customer endpoint to create new customers. In the response, you will receive the customer id, which you use to create the customer session.
After creating the customer, you can create the customer session. Use the customer id and the Create Customer Session endpoint. The customer_session will be provided in the response. You need a new customer_session every time you enroll in a new payment method.
Step 4: Start the enrollment process
Use the configuration below to provide a lite and user-friendly enrollment experience for your customers:mountEnrollment, specify the callbacks to handle enrollment. You can also customize the interface using the texts objects.
Parameters
Configure the lite enrollment with the following options:Status ValuesCommon status values include
ENROLLED, DECLINED, CANCELED, and ERROR.PayPal enrollment with element render mode
Available from Web SDK 1.10.13.
mountEnrollmentLite opens the Yuno modal for PayPal enrollment. The shopper clicks your PayPal button, sees the modal, and has to click PayPal a second time. With element render mode the PayPal button renders directly on your page, and the shopper completes the enrollment in one click.
How it works
Add an empty container to your page, then passrenderMode: { type: 'element', elementSelector } to mountEnrollmentLite. The SDK renders the real PayPal button inside that container and shows a loading skeleton until PayPal finishes loading.
The PayPal button replaces your own button — do not place your button in front of it. If you do not pass renderMode, the modal behavior stays exactly as before.
Integration steps
- Remove your existing PayPal button.
- Add an empty
<div>where the PayPal button should appear. - Pass
renderModewithtype: 'element'and anelementSelectorpointing at that<div>.
width.
Customizing the PayPal button
Optional. PassexternalButtons.paypal to mountEnrollmentLite to style the button, using the same properties as the PayPal express button in checkout. The defaults differ from checkout, so they are listed in full below.
Result
- The shopper clicks the PayPal button, approves in the PayPal popup, and the SDK completes the enrollment.
yunoEnrollmentStatusreceives thevaultedTokenwith statusENROLLED.- If the shopper closes the popup,
yunoErrorreceivesCANCELED_BY_USER.
Step 5: Initiate the enrollment (Required)
After mounting the SDK usingawait yuno.mountEnrollment(), the form will be displayed in the specified element. The user can then proceed with entering their payment method details to complete the enrollment.
Demo AppIn addition to the code examples provided, you can access the Demo App for a complete implementation of Yuno SDKs (clone from the repository).