Перейти к содержанию

Template instruction api


Сценарий использования

1. Создаем СКО (CreateInvoice)

2. Инициализируем оплату СберПей (SberPayPayment)

3. Если необходимо отправить push-уведомление на телефон, то дополнительно вызываем метод (SberPayPushNotification)

4. Запрашиваем статус (GetBankCardPaymentState)

Перезапрашиваем пока не получим статус PaymentStep, отличный от Created или InProcess.

JSON
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "EshopId": 459276,
    "Result": {
        "PaymentStep": "SendTo3DS",
        "Form3DS": "{
            "SberPayQrCodeUrl": "sberpay://invoicing/v2?bankInvoiceId=560d14acbdc555211b675784fa49abae&operationType=Web2App",
            "SberPayQrCodeImage": "iVBORw0KGgoAAAANSU...",
            "PayByPhoneEnabled": true
        }",
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан"
        }
    }
}

Ответ содержит ссылку на оплату и Qr-код. Отображаем их плательщику.

5. Отслеживаем статус платежа (доступны 2 способа)

5.1. Перезапрашиваем GetBankCardPaymentState ожидая получения статуса отличного от: Created, InProcess, SendTo3DS:

Примеры ответов:

JSON
{
  "OperationState": {
    "Code": 0,
    "Desc": "Успешно обработана"
  },
  "EshopId": 459299,
  "Result": {
    "PaymentStep": "OK",
    "State": {
      "Code": 0,
      "Desc": "Успешно обработан"
    }
  }
}
JSON
{
 "OperationState": {
   "Code": 0,
   "Desc": "Успешно обработана"
 },
 "EshopId": 459299,
 "Result": {
   "PaymentStep": "Error",
   "State": {
     "Code": 0,
     "Desc": "Успешно обработан"
   }
 }
}

5.2. Ожидаем вебхук на адрес, указанный при создании счёта (CreateInvoice) в параметре ResultUrl или в расширенных настройках магазина на вкладке "Подключение магазина".