Платёжный токен¶
Платёжный токен используется для оплаты заказа без ввода платёжных реквизитов. Для подключения этого способа оплаты обратитесь в службу поддержки.
Поддерживается выпуск платёжного токена для банковской карты, QR-кода СБП и QIWI Кошелька. Оплата токеном может быть использована:
- на форме QIWI;
- на форме партнёра.
Клиент может оплатить заказ платёжным токеном только на том сайте, для которого токен был выпущен. Чтобы токен действовал на других сайтах, обратитесь в службу поддержки.
Токен для банковской карты¶
При выпуске токена карты реквизиты карты хранятся в зашифрованном виде в QIWI.
Платёжный токен может быть выпущен на одном из следующих этапов взаимодействия с QIWI:
- проверка банковской карты;
- оплата заказа.
Выпуск токена при проверке карты
В запросе на проверку карты необходимо передать уникальный идентификатор клиента в системе партнёра в параметре tokenizationData.account
.
PUT /partner/payin/v1/sites/site-01/validation/card/requests/acd7bf20-22e2-4cbf-a218-38d90e9f29b9 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
{
"cardData": {
"pan": "1111222233334444",
"expiryDate": "12/34",
"cvv2": "123",
"holderName": "Holder Name"
},
"tokenizationData": {
"account": "account"
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"requestUid": "acd7bf20-22e2-4cbf-a218-38d90e9f29b9",
"status": "SUCCESS",
"isValidCard": true,
"threeDsStatus": "WITHOUT",
"checkOperationDate": "2021-07-29T16:30:00+03:00",
"cardInfo": {
"issuingCountry": "RUS",
"issuingBank": "Bank",
"paymentSystem": "VISA",
"fundingSource": "DEBIT",
"paymentSystemProduct": "Platinum..."
},
"createdToken": {
"token": "1a77343a-dd8a-11eb-ba80-0352ac130004",
"name": "111122******4444",
"expiredDate": "2034-12-01T00:00:00+03:00",
"account": "account"
}
}
Запрос приведён в качестве примера: актуальные формат и список параметров см. в разделе «Справочник методов API» документации API приёма платежей.
Информацию о токене можно получить после успешного завершения проверки карты одним из следующих способов:
- в ответе на запрос проверки карты — см. поле
createdToken
; - в запросе статуса проверки карты — см. поле
createdToken
; - в уведомлении типа
CHECK_CARD
— см. полеtokenData
.
Выпуск токена при оплате заказа
В запросе на создание счёта или запросе на создание платежа необходимо передать следующие параметры:
"flags": ["BIND_PAYMENT_TOKEN"]
— признак привязки платёжного токена;customer.account
— идентификатор клиента в системе партнёра.
PUT /partner/payin/v1/sites/test-01/bills/893794793973 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
{
"amount": {
"currency": "RUB",
"value": 10.00
},
"expirationDateTime": "2024-01-13T14:30:00+03:00",
"customer": {
"account":"token12345"
},
"customFields": {},
"flags":["BIND_PAYMENT_TOKEN"]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"billId": "893794793973",
"invoiceUid": "39b5c83f-abcc-3060-952f-31agh5b2012f",
"amount": {
"currency": "RUB",
"value": "10.00"
},
"expirationDateTime": "2024-01-13T14:30:00+03:00",
"status": {
"value": "CREATED",
"changedDateTime": "2024-01-10T17:44:23+03:00"
},
"customer": {
"account": "token12345"
},
"flags": [
"BIND_PAYMENT_TOKEN"
],
"payUrl": "https://oplata.qiwi.com/form?invoiceUid=39b5c83f-abcc-3060-952f-31agh5b2012f"
}
PUT /partner/payin/v1/sites/test-01/payments/test1234567890 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
{
"billId": "1234567890",
"amount": {
"currency": "RUB",
"value": "1.00"
},
"paymentMethod" : {
"type" : "CARD",
"pan" : "4256000000000078",
"expiryDate" : "03/24",
"cvv2" : "123",
"holderName" : "TESTQIWI"
},
"customer": {
"account": "token123"
},
"flags":["BIND_PAYMENT_TOKEN"]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"paymentId": "test1234567890",
"billId": "1234543211237",
"createdDateTime": "2024-01-10T17:51:51+03:00",
"amount": {
"currency": "RUB",
"value": "1.00"
},
"capturedAmount": {
"currency": "RUB",
"value": "0.00"
},
"refundedAmount": {
"currency": "RUB",
"value": "0.00"
},
"paymentMethod": {
"type": "CARD",
"maskedPan": "425600******0078",
"rrn": "123",
"authCode": "181218",
"cardHolder": "TESTQIWI"
},
"createdToken": {
"token": "aa8077be-5398-4389-925e-5aa13192e565",
"name": "425600******0078",
"expiredDate": "2024-03-31T00:00:00+03:00"
},
"customer": {
"account": "token123"
},
"status": {
"value": "COMPLETED",
"changedDateTime": "2024-01-10T17:51:54+03:00"
},
"callbackUrl": "https://test.com",
"customFields": {
"customer_account": "token123"
},
"flags": [
"TEST"
],
"paymentCardInfo": {
"issuingCountry": "643",
"issuingBank": "Test Bank Name",
"paymentSystem": "VISA",
"fundingSource": "UNKNOWN",
"paymentSystemProduct": "Unknown"
}
}
Запросы приведены в качестве примера: актуальные формат и список параметров см. в разделе «Справочник методов API» документации API приёма платежей.
Информацию о токене можно получить после успешной авторизации платежа банком-эмитентом одним из следующих способов:
- в ответе на запрос создания платежа — см. поле
createdToken
; - в ответе на запрос завершения аутентификации — см. поле
createdToken
; - в уведомлении типа
PAYMENT
— см. полеtokenData
.
Обратите внимание
- Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
- Запрос на создание счёта с выпуском токена можно использовать без последующей оплаты счёта — не отправлять запрос на создание платежа.
Токен для QR-кода СБП¶
Для выпуска платёжного токена в запросе на создание QR-кода необходимо передать:
- уникальный идентификатор клиента в системе партнёра в параметре
tokenizationAccount
; - признак создания токена
"flags":["CREATE_TOKEN"]
.
Токен может быть выпущен для любого типа QR-кода (qrCode.type
).
POST /partner/payin/v1/sites/test-01/sbp/qrCodes HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
{
"qrCodeUid": "Test123",
"qrCode": {
"type": "TOKEN",
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300
}
},
"tokenizationPurpose": "Описание с деталями привязки счета",
"tokenizationAccount": "3e2322",
"flags": ["CREATE_TOKEN"]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"qrCodeUid": "Test123",
"qrCode": {
"type": "TOKEN",
"ttl": 10,
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300,
"content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
},
"payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDб",
"status": "CREATED"
},
"tokenizationPurpose": "Описание с деталями привязки счета",
"flags": ["CREATE_TOKEN"],
"token": {
"status": "CREATED",
"value": "a4a312345-6789-1234-a567-89a1234567a0",
"expiredDate": "2023-08-11T10:10:32+03:00"
},
"createdOn": "2022-08-11T20:10:32+03:00"
}
POST /partner/payin/v1/sites/test-01/sbp/qrCodes HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: api.qiwi.com
{
"qrCodeUid": "Test123",
"amount": {
"value": 100.00,
"currency": "RUB"
},
"qrCode": {
"type": "DYNAMIC",
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300
}
},
"tokenizationPurpose": "Описание с деталями привязки счета",
"tokenizationAccount": "3e2322",
"redirectUrl": "http://someurl.com"
"flags": ["CREATE_TOKEN"]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"qrCodeUid": "Test123",
"amount": {
"value": 100.00,
"currency": "RUB"
},
"qrCode": {
"type": "DYNAMIC",
"ttl": 10,
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300,
"content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
},
"payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQDб",
"status": "CREATED"
},
"redirectUrl": "http://someurl.com",
"tokenizationPurpose": "Описание с деталями привязки счета",
"flags": ["CREATE_TOKEN"],
"token": {
"status": "CREATED",
"value": "a4a312345-6789-1234-a567-89a1234567a0",
"expiredDate": "2023-08-11T10:10:32+03:00"
},
"createdOn": "2022-08-11T20:10:32+03:00"
}
Запросы приведены в качестве примера: актуальные формат и список параметров см. в разделе «Справочник методов API» документации API приёма платежей.
Обратите внимание
Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
Токен для QIWI Кошелька¶
Для выпуска токена QIWI Кошелька необходимо выполнить нижеописанные действия.
-
Отправить POST-запрос для выпуска токена на URL-адрес
https://api.qiwi.com/partner/payin-tokenization-api/v1/sites/{siteId}/token-requests
. В адресе указываетсяsiteId
, полученный при подключении, а в JSON-теле запроса передаются следующие параметры:Параметр Описание requestId Уникальный идентификатор запроса длиной от 1 до 36 символов. Идентификатор должен отличаться от идентификаторов всех ранее созданных запросов на выпуск токена QIWI Кошелька в рамках одного siteId
phone Номер QIWI Кошелька клиента accountId Уникальный идентификатор клиента в системе партнёра Обратите внимание
Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
Запросы и ответы приведены в качестве примера.
-
Отправить POST-запрос для завершения выпуска токена на URL-адрес
https://api.qiwi.com/partner/payin-tokenization-api/v1/sites/{siteId}/token-requests/complete
после того, как клиент получит SMS с одноразовым кодом. В адресе указываетсяsiteId
, полученный при подключении, а в JSON-теле запроса передаются следующие параметры:Параметр Описание requestId Значение requestId
, указанное в запросе из п.1smsCode Код из SMS, полученного клиентом Запросы и ответы приведены в качестве примера.
Удаление токена¶
Для прекращения действия платёжного токена необходимо отправить DELETE-запрос на URL-адрес https://api.qiwi.com/partner/payin/v1/sites/{siteId}>/tokens
, указав в адресе siteId
, полученный при подключении, а в JSON-теле запроса следующие параметры:
Параметр | Описание |
---|---|
customerAccountId | Уникальный идентификатор клиента в системе партнёра, привязанный к платёжному токену |
token | Платёжный токен |
Запрос приведён в качестве примера.
Обратите внимание
- Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
- Метод реализован только для платёжного токена карты и QIWI Кошелька.