SberPay
You can receive payments via SberPay. These payments, one-time and recurring, do not require card details from customers. To select a recurring payment method, inform your manager in Smart Glocal during boarding.
Payment scenarios
The payment scenario depends on the customer's channel of payment: mobile application (app), mobile browser (mobile_web), or desktop browser (web).
- Mobile application (app)
- Mobile browser (mobile_web)
- Desktop browser (web)
-
Create a session using the
session/createmethod. -
Start the payment using the
session/start/paymentmethod.
Specify the following data:sber_payin thetypeparameterappin thechannelparameter- a URL in the
return_urlparameter to forward the customer to.
Request example
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "sber_pay",
"sber_pay": {
"channel": "app"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"metadata": "app",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
},
"payment_options": {
"return_url": "https://t.me/smartglocal"
}
}'Response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2023-09-29T05:42:10.549869Z",
"updated_at": "2023-09-29T05:42:10.948457Z",
"acquiring_payments": [{
"id": "pm_1313",
"status": "in_progress",
"created_at": "2023-09-29T05:42:10.973559Z",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
},
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "sber_pay",
"sber_pay": {
"channel": "app"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"amounts": {
"gross": {
"amount": 1000,
"currency": "RUB"
}
},
"metadata": "order123",
"payment_options": {
"return_url": "https://t.me/smartglocal",
"recurrent": false
}
}]
}
} -
When you receive a
ready_to_confirmwebhook from Smart Glocal, confirm your payment by sending asession/confirmrequest, or cancel it by sending asession/cancelrequest.
You should confirm a payment within 20 minutes by sending a
session/confirmrequest. Otherwise, the session terminates within 20 minutes with thecanceledstatus.
We do not recommend to use the
sberpay/pushmethod to additionally send PUSH or SMS notifications to customers as in this case Smart Glocal cannot guarantee a successful payment.
-
When you receive an
action_requiredwebhook containing a URL withinredirect.url, forward the customer to the Sber mobile application.4.1 For iOS devices, to select the proper mobile application to forward the customer to, use the deeplink from the
redirect.urlparameter and follow the algorithm below:- Open the
onlineappmobile://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
onlineios-app://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
btripsexpenses://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
budgetonline-ios://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
ios-app-smartonline://sbolpay/...deeplink. - Wait 50ms.
- Reload the page.
- Follow the deeplink to the Sber landing page.
Code example
const openAppOnline = () => {
window.location.href = "onlineappmobile://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openOnlineiosApp = () => {
window.location.href = "onlineios-app://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openBtripEx = () => {
window.location.href = "btripsexpenses://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openBuget = () => {
window.location.href = "budgetonline-ios://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openAppSmart = () => {
window.location.href = "ios-app-smartonline://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openLandingpage = () => {
window.location.href = "https://www.sberbank.ru/ru/person/payments/online_sberpay";
};
const clearMessage = () => {
window.location.href = "./same_page.html";
};
if (platform == "android") {
setTimeout(openSberpay, 100);
clearMessage();
setTimeout(openLandingpage, 800);
} else if (platform == "iPhone") {
setTimeout(openAppOnline, 50);
clearMessage();
setTimeout(openOnlineiosApp, 50);
clearMessage();
setTimeout(openBtripEx, 50);
clearMessage();
setTimeout(openBuget, 50);
clearMessage();
setTimeout(openAppSmart, 50);
clearMessage();
setTimeout(openLandingpage, 800);
} - Open the
-
Wait until the customer approves or cancels the payment. After that, Sber takes the customer back to the URL or deeplink passed within the
return_urlparameter.
The transaction will automatically move to the Canceled status after 20 minutes.
-
Wait for a
payment_finishedwebhook from Smart Glocal with the transaction results. Or, you can use thesession/statusmethod to check the transaction status (no more than once in 5 seconds). -
Pass the transaction status to the customer.

-
Create a session using the
session/createmethod. -
Start the payment using the
session/start/paymentmethod.
Specify the following data:sber_payin thetypeparametermobile_webin thechannelparameter- a URL in the
return_urlparameter to forward the customer to.
Request example
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "sber_pay",
"sber_pay": {
"channel": "mobile_web"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"metadata": "mobile_web",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
},
"payment_options": {
"return_url": "https://t.me/smartglocal"
}
}'Response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2023-09-29T05:42:10.549869Z",
"updated_at": "2023-09-29T05:42:10.948457Z",
"acquiring_payments": [{
"id": "pm_1313",
"status": "in_progress",
"created_at": "2023-09-29T05:42:10.973559Z",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
},
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "sber_pay",
"sber_pay": {
"channel": "mobile_web"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"amounts": {
"gross": {
"amount": 1000,
"currency": "RUB"
}
},
"metadata": "order123",
"payment_options": {
"return_url": "https://t.me/smartglocal",
"recurrent": false
}
}]
}
} -
When you receive a
ready_to_confirmwebhook from Smart Glocal, confirm your payment by sending asession/confirmrequest, or cancel it by sending asession/cancelrequest.
You should confirm a payment within 20 minutes by sending a
session/confirmrequest. Otherwise, the session terminates within 20 minutes with thecanceledstatus.
You can also use the
sberpay/pushmethod to additionally send PUSH or SMS notifications to customers (PUSH/SMS notification channel is set by Sber).
-
When you receive an
action_requiredwebhook containing a URL withinredirect.url, forward the customer to the Sber mobile application.4.1 For iOS devices, to select the proper mobile application to forward the customer to, use the deeplink from the
redirect.urlparameter and follow the algorithm below:- Open the
onlineappmobile://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
onlineios-app://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
btripsexpenses://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
budgetonline-ios://sbolpay/...deeplink. - Wait 50ms.
- Reload the page to hide a possible alert if the deeplink could not open properly.
- Redirect back to your page with the new request settings.
- Open the
ios-app-smartonline://sbolpay/...deeplink. - Wait 50ms.
- Reload the page.
- Follow the deeplink to the Sber landing page.
Code example
const openAppOnline = () => {
window.location.href = "onlineappmobile://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openOnlineiosApp = () => {
window.location.href = "onlineios-app://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openBtripEx = () => {
window.location.href = "btripsexpenses://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openBuget = () => {
window.location.href = "budgetonline-ios://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openAppSmart = () => {
window.location.href = "ios-app-smartonline://sbolpay/invoicing/v2?bankInvoiceId=1961101c8c524c7fa15a9f101e965c58&orderNumber=d76d899c-6ffb-7116-ae89-afc802a92bb0";
};
const openLandingpage = () => {
window.location.href = "https://www.sberbank.ru/ru/person/payments/online_sberpay";
};
const clearMessage = () => {
window.location.href = "./same_page.html";
};
if (platform == "android") {
setTimeout(openSberpay, 100);
clearMessage();
setTimeout(openLandingpage, 800);
} else if (platform == "iPhone") {
setTimeout(openAppOnline, 50);
clearMessage();
setTimeout(openOnlineiosApp, 50);
clearMessage();
setTimeout(openBtripEx, 50);
clearMessage();
setTimeout(openBuget, 50);
clearMessage();
setTimeout(openAppSmart, 50);
clearMessage();
setTimeout(openLandingpage, 800);
} - Open the
-
Wait until the customer approves or cancels the payment. After that, Sber takes the customer back to the URL or deeplink passed within the
return_urlparameter.
The transaction will automatically move to the Canceled status after 20 minutes.
-
Wait for a
payment_finishedwebhook from Smart Glocal with the transaction results. Or, you can use thesession/statusmethod to check the transaction status (no more than once in 5 seconds). -
Pass the transaction status to the customer.

- Create a session using the
session/createmethod. - Start the payment using the
session/start/paymentmethod.
Specify the following data:
-
sber_payin thetypeparameter -
webin thechannelparameter -
the customer's phone number in the
phoneparameter -
a URL in the
return_urlparameter (the parameter is mandatory but the customer is not redirected anywhere).Request example
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "sber_pay",
"sber_pay": {
"phone": "71234567890",
"channel": "web"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"metadata": "web",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
},
"payment_options": {
"return_url": "https://smart-glocal.com"
}
}'Response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2023-09-29T05:42:10.549869Z",
"updated_at": "2023-09-29T05:42:10.948457Z",
"acquiring_payments": [{
"id": "pm_1313",
"status": "in_progress",
"created_at": "2023-09-29T05:42:10.973559Z",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
},
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "sber_pay",
"sber_pay": {
"phone": "71234567890",
"channel": "web"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"amounts": {
"gross": {
"amount": 1000,
"currency": "RUB"
}
},
"metadata": "order123",
"payment_options": {
"return_url": "https://t.me/smartglocal",
"recurrent": false
}
}]
}
}
- When you receive a
ready_to_confirmwebhook from Smart Glocal, confirm your payment by sending asession/confirmrequest, or cancel it by sending asession/cancelrequest.
You should confirm a payment within 20 minutes by sending a
session/confirmrequest. Otherwise, the session terminates within 20 minutes with thecanceledstatus.
You can also use the
sberpay/pushmethod to additionally send PUSH or SMS notifications to customers (PUSH/SMS notification channel is set by Sber).
If for any reason the customer does not receive the payment link, the customer can find the invoice in the Sber application and pay it there.
-
Wait for a
payment_finishedwebhook from Smart Glocal with the transaction results. Or, you can use thesession/statusmethod to check the transaction status (no more than once in 5 seconds). -
Pass the transaction status to the customer.

Recurring payments
CIT recurring payments via SberPay are not supported.
To make MIT recurring payments via SberPay:
-
Get a token by sending
recurrent=true(in thepayment_optionsobject) in the request.Example
curl -X \
https://demo.smart-glocal.com/api/v1/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "sber_pay",
"sber_pay": {
"phone": "71234567890",
"channel": "app"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"metadata": "app",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
},
"payment_options": {
"return_url": "https://t.me/smartglocal",
"recurrent": "true"
}
}' -
Use the token to make recurring payments.
Example
curl -X \
https://demo.smart-glocal.com/api/v1/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "recurrent",
"recurrent": {
"token": "e9876f32bcd947f79c324cf2da5726304a894f6ae2037de7705fdb3e0a134d39"
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"metadata": "app",
"customer": {
"reference": "user-ebf7-4815-af0a-b1f77e6de7e7"
}
}'