В главное меню

Регистрация платежа


Введение

Предварительно должна быть создана платежная сессия:

Для запуска процесса оплаты используем данный метод. Этот процесс оплаты в последующем необходимо подтвердить (по технологии с 3DSecure, по коду из SMS (otp) или иной способ). Какой вариант подтверждения необходимо провести – будет понятно из ответа вызова данного метода, параметр "confirmType" со значением "secure3d" или "otp".

Доступен новый функционал - списание баллов кешбэка при оформлении подписки.

Если требуется использовать опцию списания кешбэка при регулярных платежах, то необходимо передавать признак списания на регулярные оплаты "isNextWithdrawalEnable": true.

Входные параметры

Метод работает без параметра CancellationToken. т.к. при вызове метода - обязательно процесс должен пройти до своего логического конца.

Заголовок запроса

POST
Endpoint: /payment/process HTTP/1.1
Content-Type: application/json
Session-Id: {значение}
<Основные параметры>

Основные параметры

Поле

Тип

Обяз.

Описание

Request-IdguidдаИдентификатор конкретного запроса

Requestor-Name

string

нет

Наименование сервиса.

  • Для веба - домен, на котором запущен виджет.
  • Для SDK - идентификатор приложения.
  • Для API - имя вызывающей системы.
Requestor-Typestringнет

Тип витрины.

  • API
  • Web Widget
  • Web Page
  • SDK Apple
  • SDK Android
Requestor-VersionstringнетВерсия виджета/sdk

Поле

Тип

Обяз.

Описание

Session-Id

string [32]

да

Идентификатор платежной сессии

Тело запроса

Поле

Тип

Обяз.

Описание

ssoTokenId

base64

условно

Идентификатор токена МТС Логин (id_token)

ssoCookie

base64

условно

Идентификатор сессии пользователя МТС Логин (значение куки MTSWebSSO)

paymentTool

paymentTool

да

Структура с данными по источнику оплаты

loyalty

object

нет

Данные о программе лояльности, которая была использована в платеже

Обязательность ssoTokenId и ssoCookie полей:

Если не был вызван метод получение ПИ и информации о платеже, то должен быть передан один из двух параметров ssoTokenId или ssoCookie. Если переданы оба, то идентификация будет выполнена по параметру ssoTokenId.

Описание структуры paymentTool

Поле

Тип

Обяз.

Описание

id

string

нет

Идентификатор платежного инструмента

ewalletBinding
card
extMobileСommerce
sberPay
vtbPay
sbp
cbdc

object

нет

Структура с данными, соответствующими типу ПИ (способу оплаты)

Описание paymentTool

Значение

Описание способа оплаты

ewalletBinding

Оплата со счета электронного кошелька МТС Деньги

card

Банковская карта Visa, Mastercard и другие

extMobileСommerce

Лицевой счет сторонних операторов

При передачи способа оплаты extMobileСommerce, никаких доп. параметров не требуется (см. пример).

sberPay

Оплата через приложение sberPay

vtbPay

оплат через приложение ВТБ-Пей

cbdcСтруктура с параметрами метода цифровой рубль
sbpОплата через СБП

Описание структуры ewalletBinding

Поле

Тип

Обяз.

Описание

bindingId

string

да

Идентификатор счета/токена

Описание структуры card

Поле

Тип

Обяз.

Описание

number

string

да

Данные платежного инструмента

expityMonth  

int32[2]

да

Месяц действия карты (MM)

expiryYear

int32[4]

да

Год действия карты (YYYY)

cvc

string[3]

да

СVC-код

ownerName

string[200]

нет

Имя держателя карты

Описание структуры sberPay

Поле

Тип

Обяз.

Описание

flowType 

string(enum)

да
  • web 
  • ios
  • android
isCreateBindingbooleanнетзапрос на создание cчета СберПей
Описание структуры vtpPay

Поле

Тип

Обяз.

Описание

returnUrl

String

нет

URL на веб-сайте продавца, куда будет переведен покупатель в случае успешной оплаты или обратного перехода

hasReturnButton

String

нетПризнак отрисовки кнопки "вернуть куда-то". Если используется дефолтная страница мтсПей
Описание структуры sbp

Поле

Тип

Обяз.

Описание

redirectUrlstringнетСсылка для редиректа пользователя после оплаты
isSbpTokenCreatebooleanнет

Признак запроса на создание СБП Счета

Описание структуры cbdc

Поле

Тип

Обяз.

Описание

redirectUrlstringнетСсылка для редиректа пользователя после оплаты

Описание структуры loyalty

Поле

Тип

Обяз.

Описание

amount

int

нет

Сумма баллов программы лояльности пользователя, использованная для оплаты.

Платеж кэшбэком не может полностью закрывать оплату, минимум 1 рубль должен быть оплачен основным платежным инструментом.

isNextWithdrawalEnable

booleanнет

Признак списания баллов лояльности для следующих операций. Актуально для сценариев подписки. По умолчанию false

Выходные параметры

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

Поле

Тип

Обяз.

Описание

confirm

object

нет

Обязательно, если требуется подтверждение операции

result

object

нет

Обязательно, если подтверждение не требуется и процесс завершен

Описание структуры confirm

Поле

Тип

Обяз.

Описание

entity

entityEnum

да

Требуется подтвердить процесс:

  • payment - платеж
  • subscription - подписку
  • или иное

tool

object

да

Способ подтверждения.

Описание структуры tool

Поле

Тип

Обяз.

Описание

type

typeEnum

да

Требуется подтверждение:

  • secure3D,
  • card3ds2.
  • otp
  • extAuth
  • sberPay
  • vtbPay
  • sbp
  • cbdc

card3dsobjectнетПараметры для проведения процедуры 3DSecure.
card3ds2objectнетПараметр для проведения процедуры 3DSecure 2.0.
otpobjectнетПараметры для проведения процедуры OTP.

extAuth

objectнетСторонняя аутентификация

sberPay

objectнетаутентификация сберпей

vtbPay

objectнетаутентификация втбпей

sbp

objectнетаутентификация СБП

cbdc

objectнетаутентификация цифровой рубль
Описание структуры card3ds

Поле

Тип

Обяз.

Описание

acsUrl

string

да

URL-адрес банка эмитента (сервер ACS), на который клиент должен быть перенаправлен

PaReq

string

да

Параметр для проведения процедуры 3DSecure

termUrl

string

да

URL-адрес для передачи PaRes от банка эмитента

Описание структуры card3ds2

Поле

Тип

Обяз.

Описание

threeDsServerTransId

string

нет

Уникальный идентификатор транзакции 3DS 2.0

threeDsMethodUrl

string

нет

URL 3D Secure метода ACS-сервера эмитента

threeDsMethodData

string

нет

BASE-64 данные для 3D Secure метода

Описание структуры otp

Поле

Тип

Обяз.

Описание

leftUntilResendAttempt

int32

да

Период в секундах, через который можно запросить повторный OTP код 

phone

string

да

Номер мобильного телефона пользователя, в маскированном формате ****99-99

Описание структуры sberPay

Поле

Тип

Обяз.

Описание

sdk

objectусловноURL-адрес страницы запуска приложения подтверждения 

web

objectусловноУникальный идентификатор мерчанта в Sber

Описание структуры web

Поле

Тип

Обяз.

Описание

authUrl

stringдаURL-адрес страницы запуска приложения подтверждения 

bankInvoiceId

stringдаидентификатор платежа в системе Сбер(order_id)

sbolDeepLink

stringдаСсылка на переход в мобильное приложение "Сбербанк-Онлайн" для завершения оплаты. Оплата без использования sdk-sberpay.

Описание структуры sdk

Поле

Тип

Обяз.

Описание

merchantLogin

stringдаУникальный идентификатор мерчанта в Sber

bankInvoiceId

stringдаидентификатор платежа в системе Сбер(order_id)

orderNumber

stringдаидентификатор платежа в системе МтсПей(payment_id)

apiKey

stringдаключ Партнера(merchantLogin) для работы с сервисами платежного шлюза через SDK

sbolDeepLink

stringдаСсылка на переход в мобильное приложение "Сбербанк-Онлайн" для завершения оплаты. Оплата без использования sdk-sberpay.
Описание структуры vtbPay

Поле

Тип

Обяз.

Описание

browser

stringдаURL-адрес страницы запуска приложения подтверждения

android

stringдаURL-адрес страницы запуска приложения подтверждения

ios

stringдаURL-адрес страницы запуска приложения подтверждения

Описание структуры sbp

Поле

Тип

Обяз.

Описание

paymentPageUrl

stringда

Ссылка на форму оплаты счета (платежную страницу)

qrcIdstringдаИдентификатор зарегистрированного QR кода в СБП

Описание структуры cbdc

Поле

Тип

Обяз.

Описание

paymentPageUrl

stringда

Ссылка на форму оплаты счета (платежную страницу)

qrcIdstringдаИдентификатор зарегистрированного QR кода в цифровой рубль

Описание структуры result

Поле

Тип

Обяз.

Описание

operationDate

dateTime

да

Дата и время выполнения операции

Пример

Заголовок запроса

POST /payment/process HTTP/1.1
Host:
Content-Type: application/json
Request-Id: 5cdd933a-48d0-4f59-a1a0-3b76f3fae658
Session-Id: d6946779-dd1a-4e91-8e21-e0ddc8a00288

Тело запроса

{
  "paymentTool": {
    "extMobileСommerce": {}
  }
}
{
  "paymentTool" : {
    "id" : "8df44628-5fe8-40b8-8a2d-e214209a5cae"
  },
  "loyalty": {
    "amount": 100,
    "isNextWithdrawalEnable": true
  }
}
{
  "paymentTool": {
    "type": "card",  //не обязательное
    "card": {
      "number": "5366720491618146",
      "expiryMonth": 7,
      "expiryYear": 2023,
      "cvc": "251",
      "ownerName": "Ivan Ivanov",
      "needSaveCard": true
    }
  }
}
{
  "paymentTool" :
  {
    "type" : "ewalletBinding", //не обязательное
    "ewalletBinding" :
    {
      "id" : "1147849C95D145B196878C93922C3FFF"
    }
  }
}

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

{
  "confirm": {
    "entity": "payment",
    "tool": {
      "type": "card3ds",
      "сard3ds": {
        "acsUrl": "string",
        "paReq": "string",
        "termUrl": "string"
      }
    }
  }
}
   "confirm" :
  {
    "entity" : "payment",
    "tool" :
    {
      "type" : "card3ds2",
      "card3ds2":
      {
        "threeDsServerTransId" : "string",
        "threeDsMethodUrl" : "string",
        "threeDsMethodData" : "string"
      }
    }
  }
}
   "confirm": {
    "entity": "payment",
    "tool": {
      "type": "card3ds2"
    }
  }
}
{
  "confirm": {
    "entity": "payment",
    "tool": {
      "type": "otp"
    }
  }
}
{
  "result": {
    "operationDate": "2020-12-28T07:40:29.870Z"
  }
}

Возможные коды ошибок

code

message

userMessage

00100001Session {0} not foundСессия не найдена
00100002WEBSSO: Authentication is not taken placeWEBSSO: Аутентификация не пройдена
00100003The payment is already completed within this session {0}Платеж уже завершен в рамках этой сессии
00100004The sequence of operations is broken. {0}В процессе проведения операции произошла ошибка. Попробуйте позже.
00100011Payment tool not availableОперация не выполнена. Измените способ оплаты и попробуйте снова.
00100013Missing required parameter of payment {service.params.name}Отсутствует обязательный параметр оплаты {service.params.title}. Обратитесь в службу поддержки.
00100019

The operation is prohibited for unauthorized users

Операция запрещена для неавторизованных пользователей

00100020Invoice payment declinedПлатеж по счету отклонен
00100021Invoice payment in progressПлатеж по счету в процессе проведения
00100023Loyalty program not availableСписания с программы лояльности не доступны для данного платежа
00100024Loyalty program not provided for this payment scenarioПрограммы лояльности не поддерживается для данного сценария платежа
00100025Loyalty program amount is greater than the allowable repayment ratioСумма списания по программе лояльности больше максимального коэффициента данного платежа
00100026Loyalty program amount is greater than the user's balanceСумма списания по программе лояльности больше доступного пользователю баланса
00100027Incorrect loyalty program amountНекорректная сумма списания по программе лояльности
00100036Failed to create payment token. Payment cancelled. Please try again.Не удалось создать платежный токен. Платеж отменен. Повторите попытку.
00100043Scenario cannot be continued because payment status in_progressПроизошла системная ошибка. Деньги списаны, но мы скоро их вернём
00199998Validation errorНе пройдена валидация данных
00199999An unexpected error has occurredНепредвиденная ошибка
02000009Error of check of parameters of payment.Ошибка проверки параметров платежа. {текст сообщения от Мерчанта}
02000017Payment completed unsuccessfullyПопробуйте повторить операцию или обратитесь в службу поддержки
02000021Unknown operation status. Contact Support.Неизвестный статус операции. Обратитесь в службу поддержки.
02005000PCEK: unexpected error. extSystemErrorCode: [errorCode]Непредвиденная ошибка
02005001PCEK: payment confirmation problems. extSystemErrorCode: [errorCode]Проблемы с подтверждением платежа. Попробуйте снова.
02005002Processing: Card has expiredУ карты истек срок действия
02005003MPI: 3d secure problems. extSystemErrorCode: [errorCode]Проблемы с подтверждением платежа. Попробуйте снова.
02005006PCEK: payment limits restriction. extSystemErrorCode: [errorCode]Превышен лимит на платежи через выбранный способ оплаты
02005007PCEK: service unavailableСервис временно недоступен. Попробуйте повторить позже.
02005009Processing: Insufficient fundsНедостаточно средств
02005011Processing: Invalid CVC valueНеверное значение CVC2
02005013Processing: Invalid card expiration dateНеверная дата истечения срока действия карты
02005014Processing: Invalid card numberНеверный номер карты
02005016Bank acquirer: invalid merchant or terminal. extSystemErrorCode: [errorCode]Оплата через выбранный способ оплаты временно недоступна
02005017Bank issuer: general error. extSystemErrorCode: [errorCode]Ваш банк отклонил платёж
02005018Bank issuer: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Оплата по выбранной карте недоступна
02005019PCEK: payment declined. extSystemErrorCode: [errorCode]Платёж отклонен. Смените способ оплаты и попробуйте снова.
02005023PCEK: The amount is greater than the maximum allowed. extSystemErrorCode: [errorCode]Сумма платежа больше максимально разрешенной
02005024PCEK: The amount is less than the minimum allowed. extSystemErrorCode: [errorCode]Сумма платежа меньше минимально разрешенной
02005025PCEK: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Платёж отклонён системой безопасности
02005030Acquiring bank refusal: fraud controlОперация не выполнена. Нарушение лимитов. Измените данные карты и попробуйте снова.
02005031Processing: Incorrect payment parameters specifiedНекорректные параметры оплаты. Обратитесь в службу поддержки.
02005032Processing: Receiving payment to this number is prohibitedПриём платежа на этот номер запрещён. Попробуйте изменить услугу оплаты или обратитесь в поддержку 8-800-250-08-90.
02005033PCEK Provider: The system cannot process the paymentОперация не выполнена. Выберите другой способ оплаты или обратитесь в службу поддержки.
02005034PCEK FM: bank card is used in another account. extSystemErrorCode: [errorCode]Банковская карта уже привязана к другому аккаунту
02005036Bank issuer: payment restriction. extSystemErrorCode: [errorCode]Ваш банк ограничил оплату с выбранной карты
02005037PCEK: user is not found. extSystemErrorCode: [errorCode]Пользователь не найден
02005040PCEK FM: safety restriction. extSystemErrorCode: [errorCode]Превышен лимит на платежи
02005042PCEK: service unavailable. extSystemErrorCode: [errorCode]Сервис временно недоступен
02005043PCEK: bank issuer have some problems. extSystemErrorCode: [errorCode]Ваш банк отклонил платёж
02005044PCEK FM: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Платёж отклонён системой безопасности
02005046PCEK: operation is unavailable. extSystemErrorCode: [errorCode]Операция недоступна
02005047PCEK Provider: service unavailable. extSystemErrorCode: [errorCode]Сервис временно недоступен
02005048PCEK Provider: wrong payment parameters specified. extSystemErrorCode: [errorCode]Неверные реквизиты оплаты
02005049PCEK: payment from billing account is not available. extSystemErrorCode: [errorCode]Оплата со счёта телефона временно недоступна
02005051ESPP: service unavailable. extSystemErrorCode: [errorCode]Оплата временно недоступна
02005052ESPP: client is legal entity. extSystemErrorCode: [errorCode]Выбранный способ оплаты доступен только физическим лицам
02005053ESPP: payment restriction installed by the client. extSystemErrorCode: [errorCode]Оплата со счёта запрещена
02005054ESPP: incorrect account parameters. extSystemErrorCode: [errorCode]Оплата через выбранный способ оплаты временно недоступна
02005055ESPP: insufficient funds. extSystemErrorCode: [errorCode]Недостаточно средств
02005056Bank issuer: insufficient funds extSystemErrorCode: [errorCode]Недостаточно средств
02005057Bank issuer: invalid CVC or another safety restriction. extSystemErrorCode: [errorCode]Неверный код безопасности (CVC/CVV)
02005058Bank issuer: card expired. extSystemErrorCode: [errorCode]Истек срок действия карты
02005060Bank issuer: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Ваш банк отклонил платеж. Ограничения на карте.
02005061Bank acquirer: general error. extSystemErrorCode: [errorCode]Банк отклонил платёж
02005064Bank issuer: payment restriction. extSystemErrorCode: [errorCode]Ваш банк ограничил оплату с выбранной карты
02005065Bank acquirer: fatal general error. extSystemErrorCode: [errorCode]Банк отклонил платёж
02006001MasterHub: Request errorОперация не выполнена. Попробуйте позже.
02006002MasterHub: Payment errorОперация не выполнена. Попробуйте позже.
02006003MasterHub: MSISDN not correctОперация не выполнена. Проверьте номер телефона и попробуйте снова.
02006004MasterHub: contentId not foundОперация не выполнена. Попробуйте позже.
02006300chargingEP: Insufficient fundsНедостаточно средств. Измените способ оплаты и попробуйте снова.
02006301chargingEP: Payment cannot be processed according to these parametersДанный способ оплаты не может быть использован для этого пользователя. Выберете другой способ оплаты или обратитесь в службу поддержки.
02006302chargingEP: The system cannot process the paymentОперация не выполнена. Попробуйте повторить операцию или обратитесь в службу поддержки.
02006303chargingEP: The system cannot process the paymentОперация не выполнена. Выберете другой способ оплаты или обратитесь в службу поддержки.
02006304chargingEP: Account is partially blocked, there are not enough funds.

Недостаточно средств. Погасите задолженность или измените способ оплаты

03000007Subscription {0} not found from merchant {1}Подписка не найдена
03000008Invalid operation for current subscription status: Current status: {0}Подписка в статусе {}, над которым данная операция запрещена
03005002The limit of subscriptions to the user is exceededПревышен лимит подписок на пользователя