Интеграция SberPay SDK Web
Установка
Npm
Поскольку SberPay SDK Web (SberPay Widget) в настоящее время распространяется в виде файла .tgz и не доступен в реестре NPM, вы можете установить ее, указав путь к файлу .tgz в вашем проекте:
- Скачайте файл sberpay-widget-x.y.z.tgz в директорию вашего проекта.
- Откройте терминал и перейдите в корневую директорию вашего проекта.
- Выполните следующую команду, заменив /path/to/ на фактический путь к файлу .tgz:
npm install /path/to/sberpay-widget-x.y.z.tgz
Библиотека поддерживает Node.js >= 14.
UMD
Вы можете использовать универсальную UMD сборĸу, если в вашем проекте не используется пакетный менеджер npm. Чтобы получить файл, ĸоторый можно подĸлючить в виде сĸрипта нужно:
- Распаĸовать архив:
tar -xzf sber-ecom-core-sberpay-widget-x.x.x.tgz
- Переместить файл ./package/dist/index.umd.cjs в ваш проеĸт и подĸлючить его:
<script src="index.umd.cjs"></script>
- В глобальной области видимости будет доступен объеĸт виджета payment-widget.
Начало работы
Перед использованием SberPay SDK Web (SberPay Widget) необходимо импортировать библиотеку в ваш проект.
import { createWidget } from '@sber-ecom-core/sberpay-widget';
В случае использования UMD в глобальной области видимости будет доступен объеĸт виджета:
const { createWidget } = window['payment-widget'];
Использование
Создание экземпляра виджета
Для создания нового экземпляра виджета используйте метод createWidget:
const widget = createWidget(environment);
Где environment - среда запуска виджета: PRODUCTION.
Открытие виджета
Для стандартного режима работы вызовите метод open у вашего экземпляра виджета:
widget.open(params);
Для режима оплаты карточной связкой вызовите метод bindingPayment у вашего экземпляра виджета:
widget.bindingPayment(params);
params - объект, содержащий параметры запуска виджета.
В десктопной версии откроется side drawer с приложением Сберпей, в мобильной - новый таб.
Пример для стандартного режима работы:
type WidgetParams = {
bankInvoiceId: string;
backUrl: string;
lifeTime?: number;
expirationDate?: number;
isFinishPage?: true;
finishPageTimeOut?: 10;
};
Пример для режима оплаты карточной связкой:
type WidgetParams = {
bankInvoiceId: string;
backUrl: string;
bindingId?: b6c15da1-dd13-a64c-42d9-4c5ca70ab183;
userName?: ЮМани;
lifeTime?: number;
expirationDate?: number;
isFinishPage?: true;
finishPageTimeOut?: 10;
};