Setting up payments via Sberbank's mobile app

This instruction is for stores implementing payments via Sberbank's mobile app (the scenario only works for mobile apps). In the course of payment, you need to create the deep link to forward the user to Sberbank's app. See description of the scenario

Step 1. Requesting order identifier

To get order identifier (RQUID), you need to evoke the createInvoice method.

Request example
POST /webservice/mws/api/createInvoice HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: length
Response example
<createInvoiceResponse status="1" error="0" processedDT="2017-07-14T11:46:41.103+03:00" orderId="2000734125092" externalPaymentUrl="" externalTransactionNumber="625d499cfe51f4e286f4896a989e41e7"/>

Step 2. Creating deep linking

For iOS

Deep link format
Deep link parameters


Name of the merchant's app


Order identifier (RQUID) received when sending the createInvoice request.


Callback link

Payment statuses on return in the app

Successful payment


Payment error


For Android

To create deep linking, you need to use 'Intent'.

orderUUID — order identifier (RQUID) received when sending the createInvoice request.

public class MainActivity extends AppCompatActivity {
                private static final String SBERBANK_ONLINE_PACKAGE_NAME = "ru.sberbankmobile";
                private static final String SBERBANK_ONLINE_INVOICING_ACTIVITY_NAME = "";
                private static final String ORDER_UUID_KEY = ";
                private static final String RESULT_KEY = "";
                private static final String CALLBACK_INTENT_KEY = "";
    protected void onCreate(Bundle savedInstanceState) {
        mBuyButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String orderUUID = mEribUid.getText().toString();
                                                               Intent invoicingIntent = new Intent();
                                                               invoicingIntent.setComponent(new ComponentName(SBERBANK_ONLINE_PACKAGE_NAME, SBERBANK_ONLINE_INVOICING_ACTIVITY_NAME));
                                                               invoicingIntent.putExtra(ORDER_UUID_KEY, orderUUID);
                startActivityForResult(invoicingIntent, REQUEST_CODE);
                * Result and an additional information withh be in data under RESULT_KEY
                protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//                           "SUCCESS" or "FAILURE"
                               String result = intent.getStringExtra(RESULT_KEY);