SDK встраивания виджета оплаты подписок
GET /Cards/Sbp/embed.js
Тот же файл, что на платёжном домене: режим определяется тем, с какого адреса
он загружен. В этом контуре mount() принимает только token — счёта здесь нет,
адресуется сессия подписки. methods сужает серверный набор способов (порядок
остаётся серверным; пустое пересечение оставляет весь набор и вызывает onError
с code: 'method_unavailable'), webview отмечает WebView приложения магазина.
lang SDK подписок не передаёт.
<div id="bind"></div>
<script src="https://subs-sandbox.digitalspb.com/Cards/Sbp/embed.js"></script>
<script>
SbpWidget.mount('#bind', {
token: '8c0c8870d6fb4ee8a995ae183a44b928', // хвост AuthorizeUrl из CreateSubscription
brand: { name: 'Тёплый угол', primary: '#c2410c' },
onSuccess: function () { location.href = '/subscribed'; },
onExpired: function () {},
onError: function (e) {}
});
</script>⚠️ onSuccess означает успешный начальный шаг: оплату первого периода с привязкой
для регулярных списаний либо, при отложенной первой оплате, привязку через СБП без
списания. Событие браузера не заменяет серверные
уведомления; onExpired, onError и закрытие виджета не подтверждают отсутствие
списания.