Перейти к содержанию

Платёжный токен

Платёжный токен используется для оплаты заказа без ввода платёжных реквизитов. Для подключения этого способа оплаты обратитесь в службу поддержки.

Поддерживается выпуск платёжного токена для банковской карты и QR-кода СБП. Оплата токеном может быть использована:

Клиент может оплатить заказ платёжным токеном только на том сайте, для которого токен был выпущен. Чтобы токен действовал на других сайтах, обратитесь в службу поддержки.

Токен для банковской карты

Токен для банковской карты может быть выпущен на этапе оплаты заказа. При выпуске токена реквизиты карты хранятся в зашифрованном виде в 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 приёма платежей.

Информацию о токене можно получить после успешной авторизации платежа банком-эмитентом одним из следующих способов:

Обратите внимание

  • Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.
  • Запрос на создание счёта с выпуском токена можно использовать без последующей оплаты счёта — не отправлять запрос на создание платежа.

Токен для 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.
DELETE /partner/payin/v1/sites/test-01/tokens HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: b2b-api.qiwi.com

{
  "token": "1a2b3c4d-1a2b-1a2b-1a2b3c-1a2b3c4d5e",
  "customerAccountId": "token_name"
}
HTTP/1.1 204 No Content

Запрос и ответ приведены в качестве примера: актуальные формат, список и описание параметров см. в документации API приёма платежей.

Обратите внимание

  • Одному идентификатору клиента в системе партнёра могут соответствовать данные только одного физического лица.

  • Метод реализован только для платёжного токена карты.