В Протоколе приема платежей поддерживается выпуск платежных токенов карт и токенов для QR-кодов СБП. Они могут быть использованы для последующих списаний без дополнительного ввода реквизитов карт. При выпуске платежного токена карты ее реквизиты сохраняются в зашифрованном виде в QIWI.
По умолчанию выпуск платежных токенов отключен. Чтобы подключить его, обратитесь к курирующему менеджеру.
Если вы используете Платежную форму QIWI, то обратитесь к курирующему менеджеру чтобы включить отображение покупателю списка его карт, привязанных через платежные токены. Только в этом случае покупатель сможет воспользоваться привязанными картами на форме. Список карт будет отображаться только для оплаты с сайта мерчанта, где были созданы токены.Пример запроса выставления счета с выпуском платежного токена
PUT /partner/payin/v1/sites/23044/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": "2021-04-13T14:30:00+03:00",
"customer": {
"account":"token32"
},
"customFields": {},
"flags":["BIND_PAYMENT_TOKEN"]
}
Пример запроса платежа с выпуском платежного токена
PUT /partner/payin/v1/sites/test-01/payments/test-022 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: b2b-api.qiwi.com
{
"amount": {
"currency": "RUB",
"value": 2211.24
},
"customer": {
"account": "token324",
"phone": "79022222222"
},
"flags":["BIND_PAYMENT_TOKEN"]
}
Пример тела ответа с платежным токеном
{
"paymentId": "test-022",
"billId": "autogenerated-c4479bb1-c916-4fba-8445-802592fa8d51",
"createdDateTime": "2020-03-26T12:22:12+03:00",
"amount": {
"currency": "RUB",
"value": 2211.24
},
"capturedAmount": "..",
"refundedAmount": "..",
"paymentMethod": "..",
"createdToken": {
"token": "66aebf5f-098e-4e36-922a-a4107b349a96",
"name": "411111******1111"
},
"customer": {
"account": "token324",
"phone": "79022222222"
},
"status": ".."
}
Воспользуйтесь запросом Платеж или Создание счета. В запросе укажите дополнительные параметры:
"flags": ["BIND_PAYMENT_TOKEN"]
— команда для выпуска платежного токена.customer.account
— уникальный идентификатор Покупателя в системе ТСП.
Чтобы гарантировать безопасность карточных данных, используйте разные параметры account
для разных покупателей.
Вы получите информацию о платежном токене карты:
- В синхронном ответе на запрос API Платеж или Завершение аутентификации покупателя в поле
createdToken
. - После успешного завершения платежа в уведомлении в поле
tokenData
.
Подробнее о том, как использовать платежный токен, см. ссылки:
Платежный токен будет связан с идентификатором сайта и идентификатором Покупателя, которые были указаны в запросе API. Покупатель сможет совершать оплату платежным токеном только на этом сайте.Чтобы платежный токен действовал на всех сайтах мерчанта, отправьте запрос в Службу поддержки.
Тело запроса выпуска токена СБП
{
"qrCodeUid": "Test123",
"qrCode": {
"type": "TOKEN",
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300
}
},
"tokenizationPurpose": "Описание с деталями привязки счета",
"tokenizationAccount": "3e2322",
"flags": ["CREATE_TOKEN"]
}
Тело ответа выпуска токена СБП
{
"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"
}
Тело запроса выпуска QR-кода СБП на оплату с привязкой счета и выпуском токена
{
"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"]
}
Тело ответа с QR-кодом СБП на оплату с привязкой счета и выпуском токена
{
"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"
}
Для выпуска платежного токена СБП вы можете использовать два способа:
-
Без платежа.
Отправьте запрос Получение QR-кода СБП с данными:
- Объект
qrCode
с характеристиками запрашиваемого QR-кода:qrCode.type
—TOKEN
.qrCode.image
— тип и размер изображения QR-кода.
tokenizationAccount
— уникальный идентификатор Покупателя в системе ТСП."flags":["CREATE_TOKEN"]
.tokenizationPurpose
— описание токена.
- Объект
-
Платеж с привязкой счета.
В этом способе платежный токен СБП выпускается только после успешной авторизации платежа банком-эмитентом.Отправьте запрос API Получение QR-кода СБП с данными:
- Объект
qrCode
с характеристиками запрашиваемого QR-кода:qrCode.type
—DYNAMIC
.qrCode.image
— тип и размер изображения QR-кода.
amount
— сумма платежа.tokenizationAccount
— уникальный идентификатор Покупателя в системе ТСП."flags":["CREATE_TOKEN"]
.tokenizationPurpose
— описание токена.
- Объект
Чтобы гарантировать безопасность привязанных карточных данных, используйте разные параметры tokenizationAccount
для разных покупателей.
Информацию о платежном токене СБП вы получите в объекте token
ответа и в уведомлении TOKEN.
О том, как платить токеном СБП, читайте в разделе Оплата токеном через СБП.
Чтобы прекратить действие платежного токена карты, отправьте запрос API Удаление платёжного токена. В JSON-теле запроса укажите параметры:
customerAccountId
— уникальный идентификатор покупателя в системе ТСП, привязанный к платежному токену.token
— платежный токен.
Успешный ответ с HTTP-статусом 204
означает, что платежный токен для указанного покупателя больше не действует.
- Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
- Метод реализован только для платёжного токена карты.