Оплата вне SDK
Обновлено 21 сентября 2023
Схема взаимодействия
Сценарий ручной оплаты
Получение токена оплаты
Для получения PaymentToken необходимо вызвать метод getPaymentToken
. Ниже представлен список параметров метода:
Параметры запроса getPaymentToken
Объект | Тип | Формат | Обязательный | Описание |
---|---|---|---|---|
apiKey | String | ANS..512 | Нет | Ключ клиента для работы с сервисами платежного шлюза через SDK |
clientId | String | ANS..36 | Нет | Идентификатора плательщика в вашей системе Пример: ac2db5dd-9bd0-441e-a5d9-6d23ce7a1123 |
clientName | String | ANS..512 | Да | Название магазина клиента Пример: Любимый магазин |
amount | Int | N..12 | Да | Сумма операции в минорных единицах Пример: 145566 |
currency | Int | N3 | Да | Цифровой код валюты операции согласно ISO 4217 Пример: 643 |
bankInvoiceId | String | ANS..36 | Нет | Уникальный номер (идентификатор) заказа в Платежном шлюзе Банка. Необходимо передавать значение sbolBankInvoiceId |
mobilePhone | String | N12 | Нет | Номер мобильного телефона Плательщика, если имеется в вашей системе Пример: 79261112233 |
orderNumber | String | ANS..36 | Нет | Уникальный номер (идентификатор) заказа в системе Клиента. Пример: 5f3f7d10-7005-7afe-b756-f73001c896b1 |
recurrentExpiry | String | N8 | Нет | Дата прекращения действия рекуррентных платежей (формат YYYYMMDD) Пример: 20230821 |
recurrentFrequency | Int | N..2 | Да | Период рекуррентных платежей в днях (натуральное число в пределах от 1 до 28) Для нереккурентых платежей значение 0 Пример: 20 |
redirectUri | String | ANS..512 | Да | Адрес вашего приложения, по которому необходимо вернуть пользователя после аутентификации в СберБанк Онлайн Пример: apptest:/ |
merchantLogin | String | ANS..512 | Да | Название магазина клиента Пример: Любимый магазин |
Пример использования:
var requestParams = {
'merchantLogin': 'Test shop',
'amount': '1233',
'redirectUri': 'sberPayExampleapp://sberidauth',
'currency': '1233',
'mobilePhone': undefined,
'orderNumber': '1233',
'recurrentExipiry': '1233',
'recurrentFrequency': 2
}
SPayBridgeModule.getPaymentToken(
requestParams,
(error: any, paymentToken: string, paymentTokenId: string, tokenExpiration: string) => {
if(error) {
// ...
} else {
// ... можно переходить к оплате
}
}
)
Завершение оплаты
Если оплата производится на стороннем сервисе, для закрытия окна сдк необходимо вызвать метод completePayment
. После его вызова SDK отобразит статус оплаты и окно закроется, после чего отработает completion блок.
Параметры запроса completePayment
Объект | Тип | Формат | Обязательный | Описание | |
---|---|---|---|---|---|
paymentSuccess | String | Да | Результат оплаты, полученным Клиентом от платежного шлюза. Возможные значения: success , waiting , fail |
Пример использования:
SPayBridgeModule.close(
"success",
() => {
// ...
}
)