See https://docs.transactionlink.io/ for full info.
This repository contains minimal examples of how to integrate Transactionlink widget in different environments. It consists of two parts: a server-side part and a frontend (client) part. The role of the server-side is to hide Transactionlink API credentials and call Transactionlink's public API. The frontend part is responsible for rendering the widget in the browser, either in hosted or embedded mode.
Before running, make sure to put your credentials in variables, according to the backend technology used, i.e. for Node.js:
const WIDGET_API_KEY = '[your widget API key]'; // put your credentials
const WIDGET_SECRET_KEY = '[your widget secret key]'; // put your credentials
const WORKFLOW_DEFINITION_ID = '[your workflow definition id]'; // put your workflow definition ID
Note: Never expose Transactionlink WIDGET_SECRET_KEY in frontend code.
Example implementations:
- server/node - Node.js backend
- server/python - Python (flask) backend
Web client example implementations:
- client/vanilla - plain JavaScript frontend
- client/react - React + TypeScript frontend
Mobile app example implementations that demonstrate secure integration by communicating with a backend server:
- client/android - Android native app (Kotlin + Jetpack Compose)
- client/react-native-expo - React Native Expo app (iOS & Android)
IMPORTANT: Mobile apps require a running backend server (see server/ directory above). The backend handles API credentials securely - they are never exposed in mobile app code.