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

Создание платежа

Запрос создаёт платёжную транзакцию.

Сценарии, в которых используется запрос создания платежа, см. в статьях «Оплата с формы партнёра» и «Платёжный токен»

Запрос

PUT /payin/v1/sites/{siteId}/payments/{paymentId}

Параметры строки запроса

Параметр Обязательный Тип Описание
siteId Да string Строковый идентификатор сайта ТСП в QIWI Кассе
paymentId Да string Уникальный идентификатор платежа в информационной системе ТСП. Уникальность означает, что идентификатор должен отличаться от идентификаторов всех ранее созданных платежей ТСП в рамках одного siteId.

Заголовки

Заголовок Обязательный Тип Описание
Authorization Да string Авторизационные данные. Bearer [access-token]
Content-type Да string Тип запроса. application/json
Accept Нет string Тип ответа. application/json

Параметры тела запроса

Параметр Обязательный Тип Описание
paymentMethod Да object Метод платежа
amount Да object Данные о сумме операции
billId Нет string(256) Уникальный номер заказа в системе ТСП, к которому относится платёж. Номер создается в системе ТСП или генерируется автоматически на стороне QIWI, если не указан в запросе
callbackUrl Нет string(256) URL отправки уведомления по операции
comment Нет string(255) Описание услуги, которую получает клиент
flags Нет array of strings Дополнительные команды для API.
  • SALE — использовать одношаговый сценарий авторизации.
  • BIND_PAYMENT_TOKEN — флаг для выпуска платёжного токена.
  • deviceData Нет object Данные об устройстве клиента, с которого был инициирован платёж
    customer Нет object Данные о покупателе
    receiverData Нет object Информация о получателе платежа
    customFields Нет object Поля для ввода произвольной информации, дополняющей данные по операции: contractdId и др.

    Пример запроса

    Создание платежа
    PUT /partner/payin/v1/sites/test-01/payments/1811 HTTP/1.1
    Accept: application/json
    Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
    Content-type: application/json
    Host: b2b-api.qiwi.com
    
    {
      "billId": "string",
      "amount": {
        "currency": "RUB",
        "value": 200.00
      },
      "paymentMethod" : {
        "type" : "CARD",
        "pan" : "4444443616621049",
        "expiryDate" : "12/19",
        "cvv2" : "123",
        "holderName" : "CARDHOLDER NAME",
        "cardTokenPaymentType" : "INSTALLMENT",
        "firstTransaction" : {
          "paymentId" : "testPaymentId28"
        }
      },
      "callbackUrl": "https://example.com/callbacks",
      "comment": "Example payment",
      "customer": {
        "account": "string",
        "address": {
          "city": "Moscow",
          "country": "Russian Federation",
          "details": "Severnoe chertanovo microdistrict 1a 1",
          "region": "Moscow city"
        },
        "email": "customer@example.com",
        "phone": "+79991234567"
      },
      "deviceData": {
        "datetime": "2017-09-03T14:30:00+03:00",
        "fingerprint": "TW96aWxsYS81LjAgKHBsYXRmb3JtOyBydjpnZWNrb3ZlcnNpb24p",
        "ip": "127.0.0.1",
        "screenResolution": "1280x1024",
        "timeOnPage": 1440,
        "userAgent": "Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion"
      },
      "customFields": {
        "cf1": "Some data"
      },
      "flags": [
        "SALE"
      ]
    }
    

    Ответ

    Поля успешного ответа

    Параметр Обязательный Тип Описание
    paymentId Да string Идентификатор платежа. Такой же как в запросе
    createdDateTime Да string Дата создания счёта
    amount Да object Сумма операции
    capturedAmount Да object Сумма подтверждений
    refundedAmount Да object Сумма возвратов
    paymentMethod Да object Метод платежа
    status Да object Статус платежа
    paymentCardInfo Да object Информация о банковской карте, с которой совершен платёж
    credentialOnFile Нет object Сведения о сохранённой карте, если она используется в платеже
    customer Нет object Информация о клиенте (повтор объекта customer из запроса).
    callbackUrl Нет string URL отправки уведомления по операции. Если данное поле не было указано в запросе, его значение берётся из раздела Настройки в Личном кабинете
    flags Нет array of strings Дополнительные флаги операции. Возможные значения: TEST, AFT
    customFields Нет object Поля с произвольной информацией, дополняющей данные по операции (повтор объекта customFields из запроса)
    settlementAmount Нет object Сумма возмещения мерчанту (если валюта возмещения отличается от валюты авторизации средств)
    requirements Нет object Требования для дополнительной аутентификации клиента
    createdToken Нет object Информация о платёжном токене

    Поля ответа с ошибкой

    Параметр Обязательный Тип Описание
    serviceName Да string Имя сервиса, сгенерировавшего ошибку
    errorCode Да string Код ошибки
    description Да string Описание ошибки для ТСП
    userMessage Да string Описание ошибки для отображения покупателю
    dateTime Да string Дата и время ошибки
    traceId Да string Уникальный ID лога ошибки
    cause Нет object Описание ошибки валидации конкретного поля

    Примеры ответов

    {
      "paymentId" : "223E",
      "createdDateTime" : "2024-03-01T17:10:31.284+03:00",
      "amount" : {
        "currency" : "RUB",
        "value" : "200.00"
      },
      "capturedAmount" : {
        "currency" : "RUB",
        "value" : "0.00"
      },
      "refundedAmount" : {
        "currency" : "RUB",
        "value" : "0.00"
      },
      "paymentMethod" : {
        "type" : "CARD",
        "maskedPan" : "444444******1049"
      },
      "customer" : { },
      "deviceData" : { },
      "requirements" : {
        "threeDS" : {
          "pareq" : "eJyrrgUAAXUA+Q==",
          "acsUrl" : "https://test.paymentgate.ru/acs/auth/start.do"
        }
      },
      "status" : {
        "value" : "WAITING",
        "changedDateTime" : "2024-03-01T17:10:32.607+03:00"
      },
      "paymentCardInfo": {
        "issuingCountry": "810",
        "issuingBank": "QiwiBank",
        "paymentSystem": "VISA",
        "fundingSource": "CREDIT",
        "paymentSystemProduct": "P|Visa Gold"
      },
      "callbackUrl": "https://example.com/callbacks",
      "customFields" : {
        "cf1": "Some data"
      },
      "flags" : [ ]
    }
    
    {
      "serviceName":"payin-core",
      "errorCode":"validation.error",
      "description":"Validation error",
      "userMessage":"Validation error",
      "dateTime":"2022-11-13T16:49:59.166+03:00",
      "traceId":"fd0e2a08c63ace83",
      "cause":{
        "paymentToken": [
          "Exchange token error. Token disabled, please create new one"
        ]
      }
    }
    
    {
      "serviceName":"payin-core",
      "errorCode":"internal.error",
      "userMessage":"Internal error",
      "description":"Internal error",
      "traceId":"3fb3420ee1795dcf",
      "dateTime":"2020-02-12T21:28:01.813+03:00"
    }