Table of Contents | ||||
---|---|---|---|---|
|
Пример реализации у нас:
...
Для возможности оплаты по сохраненной карте необходимо в метод Авторизация платежа передать параметры SaveCard = true
и ExternalId = null
.
...
Если сохранять карту не нужно, то в метод Авторизация платежа передать параметры SaveCard = false
и ExternalId = null
.
Для оплате получения информации по ранее сохраненной карте необходимо в запрос GET payment/cards
передать значение ExternalId
. Если для ExternalId
у нас есть данные, то мы вернем следующие данные:
Code Block | ||
---|---|---|
| ||
{
"data": [
{
"cardId": "9BBEF19476623CA56C17DA75FD57734DBF82530686043A6E491C6D71BEFE8F6E",
"firstSix": "411111",
"lastFour": "1111",
"cardMask": "4111 11****** 1111",
"cardType": "Visa"
}
],
"succeed": true,
"statusCode": 0,
"errors": [
"string"
],
"validationErrors": {
"additionalProp1": [
"string"
]
}
|
Далее показываем платящему, что он может оплатить ранее сохраненной картой.
После выбора карты необходимо запросить у платящего ввод cvv кода
и сгенерировать криптограмму используя метод Создание криптограммы.???? Для создания криптограммы необходимо прописать на странице с платежной формой скрипт checkout:
Для создания криптограммы требуется передать publicId
из метода Получение publicIdpublicId, а также cvv
введенный платящим:
Code Block | ||
---|---|---|
| ||
var checkout = new cp.Checkout( //publicId "test_api_00000000000000000000001publicId", document.getElementById("paymentForm"), mode: "cvv" ); |
После того, как криптограмма успешно сформирована, мы передаем ее в метод POST /payment/partner/auth/saved-card
Запрос:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
cardholderName | String | Да | Уникальный идентификатор страницы оплаты получателя |
amount | Integer | Да | Сумма платежа |
feeFromPayer | Boolean | Да | Комиссия с платящего, значения true и false |
currency | String | Да | Валюта платежа, константа RUB |
name | String | Нет | Имя платящего |
comment | String | Нет | Комментарий платящего |
layoutId | String | Да | Уникальный идентификатор страницы оплаты получателя |
ipSource | String | Да | IP адрес плательщика |
invoiceId | String | Нет | Внешний идентификатор партнера, например внутренний номер заказа |
payerEmail | String | Нет | email платящего |
receiverSubscriptionSettingId | String | Нет | Не используется |
payerPhoneNumber | String | Нет | Телефон платящего |
payerCity | String | Нет | Город платящего |
rating |
| Нет | Компоненты рейтинга |
score | Integer | Нет | Оценка, значение от 0 до 5 |
selectedComponents | Array of string | Нет | Выбранные компоненты полученные при запросе данных Страницы оплаты, передается список id выбранных компонентов |
externalId | String | Да | Уникальный идентификатор платящего |
CvvCryptogramPacket | String | Да | Cvv криптограммы |
cardId | String | Да | Уникальный идентификатор карты |
Пример запроса:
Code Block | ||
---|---|---|
| ||
{
"cardholderName": "string",
"amount": 0,
"feeFromPayer": true,
"currency": "string",
"name": "string",
"comment": "string",
"layoutId": "string",
"invoiceId": "string",
"ipSource" : "string",
"payerEmail": "user@example.com",
"receiverSubscriptionSettingId": "string",
"payerPhoneNumber": "string",
"payerCity": "string",
"rating": {
"score": 0,
"selectedComponents": [
"string"
]
},
"externalId": "string",
"cardId": "string",
"cvvCryptogramPacket": "string"
} |
Ответ:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
transactionId | String | Да | Уникальный идентификатор оплаты |
md | String | Да |
|
paReq | String | Да |
|
acsUrl | String | Да | URL банка для прохождения 3DS |
message | String | Да | Текстовый статус платежа |
statusCode | String | Да | Статус код платежа |
cardToken | String | Да | Токен карты платящего |
partnerRedirectUrl | String | Да | URL редиректа на страницу партнера |
cardIssuerBankCountry | String | Да | Страна банка эмитента карты |
cardLastFour | String | Да | Последние 4 цифры карты |
cardExpDate | String | Да | Дата окончания действия карты |
issuerCode | String | Да | Код эмитента |
succeed | Boolean | Да | Стату запроса, значение true и false |
errors | Array of string | Да | Возвращатеся список ошибок, относящихся целиком к запросу |
validationErrors | Array of string | Да | Поле представлено в формате ключ-значение и содержит ошибки, которые отнести к конкретному полю запроса |
Пример ответа:
Code Block | ||
---|---|---|
| ||
{
"data": {
"transactionId": 0,
"md": "string",
"paReq": "string",
"acsUrl": "string",
"message": "string",
"statusCode": "string",
"cardToken": "string",
"partnerRedirectUrl": "string",
"cardIssuerBankCountry": "string",
"cardLastFour": "string",
"cardExpDate": "string",
"issuerCode": "string"
},
"succeed": true,
"statusCode": 0,
"errors": [
"string"
],
"validationErrors": {
"additionalProp1": [
"string"
],
"additionalProp2": [
"string"
],
"additionalProp3": [
"string"
]
}
}
|
Далее необходимо вызвать методы Обработка 3-D Secure и Завершение оплаты.
...