Ionic SDK Full
The Tonder Ionic SDK Full is a solution for integrating our system into your mobile application. This solution ensures PCI DSS (Payment Card Industry Data Security Standard) by securely collecting and tokenizing sensitive data in the browser, without exposing your front-end infrastructure to any sensitive data.
This guide will walk you through all the steps, from installation and configuring our SDK to fit your application.
Installation
Tonder’s Ionic SDK can be installed using our npm package. To do so, use the following command:
Requirements
To configure our SDK you need to add the following script tags to your HTML:
The code above is necessary to ensure a reliable connection to the payment processor.
Configuration
With Tonder’s SDK installed, and requirements met, you are ready to configure and use the SDK. The following step-by-step process takes you through everything, from starting a new instance, to performing a new transaction using the needed methods:
Mobile settings
Follow the instructions below to configure your mobile application for Android and iOS devices.
To deploy your app on Android, you must add the Internet permission to your AndroidManifest.xml
file. Add the following code to your XML:
Add the required ID to your HTML
Tonder’s Ionic SDK Full requires a tonder-checkout
ID to work, which needs to be added to an empty div as shown below:
Initialize Tonder's SDK Instance
Initialize Tonder’s Ionic SDK Full instance:
The InlineCheckout
object includes all the functionalities of LiteCheckout and adds the capability to handle the rendering of the card payment form. InlineCheckout not only manages transactions but also facilitates the visual integration of the payment form in your application, providing a complete payment experience.
Below is a table of all parameters available, including the required ones for initialization:
Property | Type | Required | Description |
---|---|---|---|
mode | string | ➖ | Environment mode. Options: stage , production , sandbox . Default: stage |
apiKey | string | ✔️ | The API key used for authentication and authorization. |
returnUrl | string | ✔️ | The URL to which the user is redirected after the checkout process, regardless of success or failure. |
renderPaymentButton | boolean | ➖ | Use this flag if you need render Tonder’s default payment button. Default: false |
style | object | ➖ | The custom styles object to customize the checkout |
containerId | string | ➖ | If a custom checkout container ID is required. Default value: tonder-checkout . |
collectorIds | object | ➖ | If you require custom |
callBack | function | ➖ | Callback function to be invoked after the payment process ends successfully. |
isOpenpaySandbox | boolean | ➖ | Defines if Openpay works on the sandbox. Default value: true . |
isEnrollmentCard | boolean | ➖ | Use the SDK as an enrollment card. |
customization | object | ➖ | Object to customize the checkout behavior and UI. Default value: |
Inject checkout method
Call the injectCheckout
method with your inlineCheckout instance, with the code below:
This method will use the element with id tonder-checkout
added in Step 2 to render the checkout elements, as exemplified by the image below:
With this, you can render the checkout to your customers.
Class Methods
After properly configuring your Full SDK instance, you have at your hand various methods to work with Tonder. Below you will find a detailed information about the checkout data needed with an example, and all the available methods in the SDK.
Configure Checkout
You can use the configureCheckout
method to set initial customer information, such as their email address, allowing to retrieve the respectives user’s saved cards.
Inject Checkout
The injectCheckout
method is a function that allows you to incorporate Tonder’s Checkout feature into your application. This function leverages the element with the ID tonder-checkout
that was added in Step 1 to display the checkout components on your page. To use this method, use the following code:
Payment
To create a new payment with the Lite SDK, use the payment
method. This method requires an object as parameter with the following data:
Key | Description |
---|---|
customer | An object containing customer information |
cart | An object containing cart and item details |
currency | The currency code for the transaction (e.g., “MXN”) |
metadata | An object for additional metadata (e.g., order ID) |
card | An object containing card details for a new card |
payment_method | The selected payment method (optional) |
With the required parameter in hand, call the method as presented below:
3DS Verification
You can use the verify3dsTransaction()
method to validate if a 3DS challenge was successful or not. Use the example below to call the method and handle the response as needed:
Save Card
You can use this method when using the SDK instance as an enrollment card feature with isEnrollmentCard
.
Remove Checkout
Removes the checkout from the DOM and cleans up associated resources.
Set Payment Data
The setPaymentData
method requires a checkoutData object as a parameter to pass checkout data to Tonder. This is useful when using the default Tonder payment button renderPaymentButton
. Use the code example below to call it:
Checkout Data
The payment function payload needs to be an object with detailed information about the customer, currency and cart. Below you find details abou each needed field:
Checkout Data Example
Below you find an example of a checkout data object:
Styles
You can customize your checkout in two ways using Ionic SDK Full. You can either include a style parameter when creating the InlineCheckout
instance or use HTML and CSS.
Below you will find more details about both options:
Include a Style Parameter
To include the checkout styles, add an object with the desired styles to the styles
parameter when creating the instance, like presented below:
All available customizations are presented in the example below:
HTML and CSS
To customize your checkout using HTML and CSS, you can use predefined classes in your HTML and customize them in the CSS.
The styles parameter is related to the style of the inputs inside the checkout form. To customize the checkout container and the cards list, you can use the global styles and classes presented below:
The classes presented above are included as example in the HTMLs presented below:
Full Integration Example
Below you find full example codes to integrate the Ionic SDK Full: