Skip to main content

Overview

As of November 2025, Synctera switched to an own widget for tokenizing external cards. This widget is described here. For instructions on how to migrate to the Synctera widget, see here.

Tokenize card

To enable customers to add card-on-file, you first need to tokenize the card through integration with the TabaPay Cards Tokenization widget. The widget allows for direct communication between the client, TabaPay, and Synctera, eliminating the need for the integrator to have PCI certification. This integration is described step-by-step below.

Getting started

Before integrating with TabaPay Card PCI-Compliant iFrame, ensure that you have all the necessary components in place:
  1. Ensure Synctera API keys are provisioned and working for your business;
  2. Ensure external cards have been enabled for your program with your Synctera implementation and onboarding contact;
  3. If integrating in a mobile application, you may need to use a web view such as a WKWebView in a iOS application, WebView in an android application, or a WebView in React Native;
  4. Content security policies should be set in the application using the following directives:

Display iFrame and tokenize an External Card

The steps below describe how to display TabaPay PCI-Compliant iFrame:
  1. Add an iFrame tag to the desired webpage:
  1. Set the iFrame source for the appropriate environment:
  1. Add an event listener and handler for TabaPay events:
Upon completing the preceding steps, the widget should be ready to display and capable of tokenizing External Cards.
💡 For more information on card tokenization using TabaPay PCI-Compliant iFrame, refer to the TabaPay documentation.

Customization Options

The TabaPay Browser SDK provides a number of customization options for controlling the layout and appearance of the TabaPay Card PCI-Compliant iFrame. See TabaPay Browser SDK for additional details and specific customization options.

Migration Guide: TabaPay to Synctera widget

This guide helps you migrate from the TabaPay Browser SDK widget to the Synctera External Card Creation Widget.

Quick Comparison


Step-by-Step Migration

Step 1: Update Script Tag

Before (TabaPay):
After (Synctera):

Step 2: Replace Widget Initialization

Before (TabaPay):
After (Synctera):

Step 3: Update Token Handling

Before (TabaPay):
After (Synctera):

Step 4: Update Event Listeners

Before (TabaPay):
After (Synctera):

Feature Mapping

Basic Configuration

Styling

Buttons


Complete Migration Example

Before: TabaPay Implementation

After: Synctera Widget Implementation


Key Differences to Remember

1. Token Format

  • TabaPay: Returns pipe-separated string "last4|expiry|token" - you must extract the token
  • Synctera: Returns structured object { token, card_data } - token is ready to use

2. Widget Token vs Client ID

  • TabaPay: Uses clientId directly in config
  • Synctera: Requires fetching a widget_token from your backend API first, then passing it to the widget

3. DOM Integration

  • TabaPay: Returns an element you must append to DOM
  • Synctera: Web component is declaratively added to HTML

4. Event Handling

  • TabaPay: Config object with function callbacks
  • Synctera: Standard DOM event listeners (addEventListener)

5. Styling

  • TabaPay: Inline configuration objects
  • Synctera: Can swap themes to get closest to the look you want (custom css style coming soon)

6. Buttons

  • TabaPay: Includes submit, reset, and cancel buttons
  • Synctera: Includes submit and clear buttons (clear button clears all fields; cancel can be added via custom code)

Migration Checklist

  • Update script tag to load Synctera widget
  • Replace tabaPaySdk.createIframe() with <external-card-creation> component
  • Update backend to provide widget tokens (instead of using clientId directly)
  • Replace event listener config with DOM event listeners
  • Update token extraction logic (remove pipe-splitting, use event.detail.token)
  • Map styling preferences to theme (custom CSS still to come)
  • Test in sandbox environment
  • Update API calls to use new token format
  • Update reset button logic (use built-in Clear button; cancel can be added via custom code if needed)
  • Test all payment flows

Getting Your Widget Token

Unlike TabaPay’s clientId, the Synctera widget requires a widget token from your backend:
Then pass this token to the widget: