Платёжный токен¶
Платёжный токен используется для оплаты заказа без ввода платёжных реквизитов. Для подключения этого способа оплаты обратитесь в службу поддержки.
Поддерживается выпуск платёжного токена для банковской карты и QR-кода СБП. Оплата токеном может быть использована:
- на форме QIWI;
- на форме партнёра.
Клиент может оплатить заказ платёжным токеном только на том сайте, для которого токен был выпущен. Чтобы токен действовал на других сайтах, обратитесь в службу поддержки.
Токен для банковской карты¶
Токен для банковской карты может быть выпущен на этапе оплаты заказа. При выпуске токена реквизиты карты хранятся в зашифрованном виде в QIWI.
Для выпуска токена в запросе на создание счёта или запросе на создание платежа необходимо передать следующие параметры:
"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: b2b-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://payment.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: b2b-api.qiwi.com
{
"billId": "1234567890",
"amount": {
"currency": "RUB",
"value": "1.00"
},
"paymentMethod" : {
"type" : "CARD",
"pan" : "4256000000000078",
"expiryDate" : "03/24",
"cvv2" : "123",
"holderName" : "TEST TEST"
},
"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": "TEST TEST"
},
"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 приёма платежей.
Информацию о токене можно получить после успешной авторизации платежа банком-эмитентом одним из следующих способов:
- через запрос создания платежа — см. поле
createdToken
в ответе на запрос; - через запрос завершения аутентификации — см. поле
createdToken
в ответе на запрос; - в уведомлении — см. поле
payment.tokenData
уведомления сtype: PAYMENT
.
Обратите внимание
- Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
- Запрос на создание счёта с выпуском токена можно использовать без последующей оплаты счёта — не отправлять запрос на создание платежа.
Токен для QR-кода СБП¶
Для выпуска платёжного токена в запросе на создание QR-кода (можно использовать как POST-, так и PUT-метод) необходимо передать:
- уникальный идентификатор клиента в системе партнёра в параметре
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: b2b-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: b2b-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 приёма платежей.
Обратите внимание
Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
Удаление токена¶
Для прекращения действия платёжного токена в запросе на удаление токена необходимо передать:
- уникальный идентификатор клиента в системе партнёра, привязанный к платёжному токену, в параметре
customerAccountId
; - платёжный токен в параметре
token
.
Запрос и ответ приведены в качестве примера: актуальные формат, список и описание параметров см. в документации API приёма платежей.
Обратите внимание
-
Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
-
Метод реализован только для платёжного токена карты.