Назначение: оплата по криптограмме платёжных данных карты — результату шифрования данных карты скриптом
checkout.js (см. Публичный ключ и checkout.js) на стороне мерчанта. Криптограмму нельзя
использовать повторно. Сумма списывается сразу, без промежуточного холдирования — для холдирования
используйте payments/cards/auth.
Криптограмма платёжных данных, полученная скриптом checkout.js.
Currency
str
Валюта: RUB/USD/EUR/GBP. По умолчанию RUB.
Name
str
Имя держателя карты латиницей.
PaymentUrl
str
Адрес страницы, с которой вызывается скрипт checkout.js.
InvoiceId
str
Номер счёта или заказа на стороне мерчанта.
Description
str
Описание оплаты в свободной форме.
CultureName
str
Язык уведомлений: ru-RU, en-US.
AccountId
str
Идентификатор плательщика на стороне мерчанта.
Email
str
E-mail плательщика, на который будет отправлена квитанция об оплате.
Payer
object
Данные плательщика: FirstName, LastName, MiddleName, Birth, Street, Address, City, Country, Phone, Postcode.
JsonData
json
Любые другие данные, которые будут связаны с транзакцией.
SaveCard
bool
Признак сохранения токена карты для последующей оплаты (см. payments/tokens/charge). По умолчанию false.
SplitData
array
Список товаров для товарного дробления платежа. Наше расширение — в спецификации CloudPayments отсутствует.
Структура ответа
Ответ содержит Success, Message и Model. Форма Model зависит от результата:
Требуется 3-D Secure или успешная оплата — Model содержит только служебные поля 3DS-челленджа
(см. таблицу ниже); Success при этом равен false в обоих случаях.
Транзакция отклонена — Model содержит полную Модель транзакции
с заполненным ReasonCode; Success — false.
Поле
Тип
Описание
Model.TransactionId
int
Номер транзакции в системе.
Model.PaReq
string
Параметр для формы редиректа на 3DS-аутентификацию. Заполнен, только если требуется 3DS.
Model.AcsUrl
string
Адрес банка для прохождения 3DS. Заполнен, только если требуется 3DS.
Model.GoReq
string
Аналог PaReq для 3DS2 (если применимо).
Model.ThreeDsSessionData
string
Данные сессии для 3DS2.
Model.IFrameIsAllowed
bool
Можно ли встраивать форму 3DS в iframe.
Model.ThreeDsCallbackId
string
Идентификатор callback для 3DS2.
Пример запроса
1 2 3 4 5 6 7 8 910
{"Amount":10,"Currency":"RUB","InvoiceId":"1234567","IpAddress":"123.123.123.123","Description":"Оплата товаров в example.com","AccountId":"user_x","Name":"CARDHOLDER NAME","CardCryptogramPacket":"01492500008719030128SMfLeYdKp5dSQVIiO..."}
{"Model":{"TransactionId":891583633,"Amount":10,"InvoiceId":"1234567","Status":"Declined","StatusCode":5,"ReasonCode":5051,"CardHolderMessage":"Недостаточно средств на карте","CardFirstSix":"400005","CardLastFour":"5556","CardType":"Visa"},"Success":false,"Message":null}
1234
{"Message":"Amount - Input should be greater than or equal to 0.01","Success":false}