NAV
  • Общие сведения
  • Платежи
  • Возвраты
  • Платежные токены
  • Чеки
  • Стикеры
  • Нотификации
  • Способы оплаты
  • Коды и справочники
  • Общие сведения

    Если вы искали устаревшую версию API, то она доступна по ссылке HTTP-протокол.

    Взаимодействие осуществляется по протоколу HTTPS с использованием методов GET/POST/PUT. API использует REST-архитектуру:

    Заголовки запроса:

    curl --request POST 'https://paymaster.ru/api/v2/invoices' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json'
    

    В случае возникновения ошибки, ответ содержит код и причину (code, message), также ответ может содержать секции с дополнительными подробностями.

    Пример ответа с ошибкой:

    {
      "code": "validation_error",
      "message": "One or many validation errors. See 'errors' list.",
      "errors": [
        "Specify required MerchantId value."
      ]
    }
    

    В запросах обязательные параметры выделены жирным шрифтом.

    Аутентификация запросов

    Запросы необходимо передавать по защищенному протоколу (https). Базовый адрес сервиса: https://paymaster.ru

    Поддерживаются следующие способы аутентификации запросов:

    Типы данных

    В запросах используются следующие типы данных:

    Для кодирования валют используется трехбуквенный код по ISO 4217

    Работа со списками

    Выгрузка списков (платежи, возвраты и пр.) происходит постранично: если в ответе присутствует указатель на следующую страницу (cursor), то необходимо запросить следующую порцию данных. Для этого нужно повторить запрос с добавлением значения cursor к списку параметров.

    Платежи

    Ссылка на оплату

    POST /api/v2/invoices

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

    curl --request POST 'https://paymaster.ru/api/v2/invoices' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "amount": {
        "value": 10.50,
        "currency": "RUB"
      },
      "paymentMethod": "BankCard"   
    }'
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина
    dualModeboolФлаг DMS платежа (по-умолчанию false)
    testModeboolФлаг тестового платежа (по-умолчанию false)
    tokenizationПараметры токенизации
    typestringТип платежного токена (cof / recurring)
    purposestringОписание подписки
    callbackUrlstringurl для нотификаций по статусу токена
    invoiceДетали счета
    descriptionstringНазначение платежа
    orderNostringНомер заказа в системе магазина
    expiresdateСрок действия счета
    paramsДополнительные параметры
    amountСтоимость
    valuedecimalСумма к оплате
    currencystringКод валюты
    paymentMethodstringСпособ оплаты
    protocolПараметры протокола
    returnUrlstringСтраница, на которую нужно направить пользователя после оплаты
    callbackUrlstringurl для нотификации об оплате
    customerДанные пользователя
    emailstringe-mail пользователя
    phonestringТелефон пользователя (в международном формате без знака +)
    ipstringIP-адрес пользователя
    accountstringАккаунт пользователя в магазине
    receiptДанные чека
    clientДанные покупателя
    itemsПеречисление позиций чека

    Пример ответа:

    {
      "paymentId": "12769",
      "url": "https://paymaster.ru/cpay/a62beecb68c84778b2424294f635b370"  
    }
    

    Ответ:

    ПараметрТипОписание
    paymentIdstringИдентификатор платежа
    urlstringАдрес страницы оплаты, на которую нужно направить пользователя

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

    POST /api/v2/payments

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

    curl --request POST 'https://paymaster.ru/api/v2/payments' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "amount": {
        "value": 10.50,
        "currency": "RUB"
      },
      "paymentData": {
        "paymentMethod": "BankCard",        
        "card": {
          "pan": "4**********0540",
          "expiry": "10/22",
          "cvc": "***"
        }
      }
    }'
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина
    dualModeboolФлаг DMS платежа (по-умолчанию false)
    testModeboolФлаг тестового платежа (по-умолчанию false)
    tokenizationПараметры токенизации
    typestringТип платежного токена (cof / recurring)
    purposestringОписание подписки
    callbackUrlstringurl для нотификаций по статусу токена
    invoiceДетали счета
    descriptionstringНазначение платежа
    orderNostringНомер заказа в системе магазина
    expiresdateСрок действия счета
    paramsДополнительные параметры
    amountСтоимость
    valuedecimalСумма к оплате
    currencystringКод валюты
    paymentDataПлатежные данные
    paymentMethodstringСпособ оплаты
    cardДанные карты
    panstringНомер карты
    expirystringСрок действия
    cvcstringCVV/CVC2
    dsrp
    typestringТип (ApplePay / GooglePay)
    cryptogramstringCryptogram
    ecistringECI
    authorizationCodestringКод авторизации платежа
    accountstringЛогин/аккаунт
    phonestringНомер телефона
    tokenПлатежный токен
    idstringИдентификатор токена
    stickerIdstringИдентификатор стикера (кассовой ссылки)
    protocolПараметры протокола
    returnUrlstringСтраница, на которую нужно направить пользователя после оплаты
    callbackUrlstringurl для нотификации об оплате
    threeDSCompleteUrlstringthreeDSCompleteUrl при работе по сценарию 3DSecure Challenge Flow
    customerДанные пользователя
    emailstringe-mail пользователя
    phonestringТелефон пользователя
    ipstringIP-адрес пользователя
    accountstringАккаунт пользователя в магазине
    deviceСведения об устройстве пользователя
    languagestringЯзык
    acceptHeaderstringЗначение заголовка Accept
    userAgentstringЗначение заголовка UserAgent
    colorDepthstringГлубина цветовой палитры в битах
    screenHeightstringВысота экрана в пикселах
    screenWidthstringШирина экрана в пикселах
    utcOffsetMinutesstringСмещение от UTC в минутах
    receiptДанные чека
    clientДанные покупателя
    itemsПеречисление позиций чека

    Параметры, необходимые для проведения платежа, зависят от выбранного способа оплаты.

    Пример ответа:

    {
      "id": "12769",
      "created":"2021-09-01T08:20:00Z",
      "testMode": false,
      "status": "Confirmation",
      "resultCode": "Success",
      "merchantId": "96e809e9-8bce-40fd-86cb-d34db39b4668",
      "amount": {
        "value": 10.5000,
        "currency": "RUB"
      },
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "paymentData": {
        "paymentMethod": "BankCard"
      },
      "confirmation": {
        "type": "ThreeDSv1",
        "acsUrl": "https://paymaster.ru/acs/pareq",
        "PAReq": "eJxVUtuO0...v4BOrji7g=="
      }
    }
    

    Ответ

    ПараметрТипОписание
    idstringИдентификатор платежа
    createddateДата платежа
    testModeboolФлаг тестового платежа
    statusstringСтатус платежа
    resultCodestringКод результата
    messagestringОписание результата авторизации
    merchantIdstringИдентификатор магазина
    invoiceДетали счета
    descriptionstringНазначение платежа
    orderNostringНомер заказа в системе магазина
    expiresdateСрок действия счета
    paramsДополнительные параметры
    amountСтоимость
    valuedecimalСумма к оплате
    currencystringКод валюты
    customerДанные пользователя
    ipstringIP-адрес пользователя
    paymentDataПлатежные данные
    paymentMethodstringСпособ оплаты
    paymentInstrumentTitlestringИдентификатор плательщика (номер карты, телефон и пр.)
    agreementstringПризнак договора
    cardInfoДанные по BIN-у карты
    brandstringНазвание платежной системы
    issuerstringНазвание банка
    countrystringISO-код страны
    typestringТип карты (кредитная, дебетовая)
    categorystringКатегория карты (gold, classic)
    confirmationСпособ подтверждения платежа
    typestringТип подтверждения
    ***Параметры подтверждения
    paymentTokenДанные платежного токена
    idstringИдентификатор токена
    expiresdateСрок жизни токена
    titlestringОтображаемое название

    В процессе проведения платежа может потребоваться дополнительное подтверждение (или несколько подтверждений).

    Подтверждение платежа во внешней системе

    ПараметрТипОписание
    typestringТип подтверждения External
    paymentUrlstringАдрес страницы подтвердения, на который нужно направить пользователя
    universalLinkboolПризнак платежной ссылки
    instructionstringИнструкция по совершению оплаты

    Подтверждение платежа одноразовым кодом

    ПараметрТипОписание
    typestringТип подтверждения SmsOtp
    maskedPhonestringНомер телефона, на который был выслан код подтверждения

    Сценарий 3DS Method

    ПараметрТипОписание
    typestringТип подтверждения ThreeDSMethod
    methodUrlstringАдрес ACS страницы для прохождения сценария
    transactionIdstringИдентификатор транзакции аутентификации

    Сценарий 3DS Challenge Flow

    ПараметрТипОписание
    typestringТип подтверждения ThreeDSChallenge
    acsUrlstringАдрес ACS страницы для прохождения сценария
    creqstringChallenge request

    Сценарий 3DS v1

    ПараметрТипОписание
    typestringТип подтверждения ThreeDSv1
    acsUrlstringАдрес ACS страницы для прохождения сценария
    PAReqstringPayer Authentication request

    Подтверждение платежа

    PUT /api/v2/payments/{id}/complete

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

    curl --request PUT 'https://paymaster.ru/api/v2/payments/12769/complete' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "PARes": "eJx7v3u...IxsAwA="  
    }'
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор платежа
    codestringКод подтвеждения
    threeDSCompIndstring3DS Method complete indicator
    cresstringChallenge response
    PAResstringPayer Authentication response

    В ответ сервис возвращает детали платежа.

    Завершение платежа (capture)

    PUT /api/v2/payments/{id}/confirm

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

    curl --request PUT 'https://paymaster.ru/api/v2/payments/12769/confirm' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "amount": {
        "value": 10.50,
        "currency": "RUB"
      }
    }'
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор платежа
    amountСумма списания
    valuedecimalСумма списания
    currencystringКод валюты
    receiptДанные чека
    clientДанные покупателя
    itemsПеречисление позиций чека

    При успешном выполнении запроса сервис возвращает пустой ответ с HTTP-статусом 200.

    Отмена платежа

    PUT /api/v2/payments/{id}/cancel

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

    curl --request PUT 'https://paymaster.ru/api/v2/payments/12769/cancel' \
    --header 'Authorization: Bearer QdvdwiXKFm='
    

    При успешном выполнении запроса сервис возвращает пустой ответ с HTTP-статусом 200.

    Получение данных по платежу

    GET /api/v2/payments/{id}

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

    curl --request GET 'https://paymaster.ru/api/v2/payments/12769' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор платежа

    В ответ сервис возвращает данные платежа.

    Список платежей

    GET /api/v2/payments?merchantId={merchantId}&start={start}&end={end}

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

    curl --request GET 'https://paymaster.ru/api/v2/payments?merchantId=cf128151-127b-44ed-bde5-26c531cad20d&start=2021-08-01T06:00:00Z&end=2021-08-01T06:30:00Z'  \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина
    startdateНачало периода
    enddateКонец периода

    Пример ответа:

    {
      "items": [
        {
          "id": "9755",
          "status": "Settled",
          "created":"2021-08-01T06:15:00Z",
          "merchantId": "96e809e9-8bce-40fd-86cb-d34db39b4668",
          "amount": {
            "value": 10.0000,
            "currency": "RUB"
          },
          "invoice": {
            "description": "test"
          },
          "paymentData": {
            "paymentMethod": "BankCard",
            "paymentInstrumentTitle": "410000XXXXXXX0000"
          }
        }
      ]
    }
    

    Ответ:

    ПараметрТипОписание
    idstringИдентификатор платежа
    createddateДата платежа
    statusstringСтатус платежа
    merchantIdstringИдентификатор магазина
    invoiceДетали счета
    descriptionstringНазначение платежа
    orderNostringНомер заказа в системе магазина
    expiresdateСрок действия счета
    amountСтоимость
    valuedecimalСумма к оплате
    currencystringКод валюты
    paymentDataПлатежные данные
    paymentMethodstringСпособ оплаты
    paymentInstrumentTitlestringИдентификатор плательщика

    Возвраты

    Создание возврата

    POST /api/v2/refunds

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

    curl --request POST 'https://paymaster.ru/api/v2/refunds' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "paymentId": "12870",
      "amount": {
        "value": 5.5,
        "currency": "RUB"
      }
    }'
    

    Запрос:

    ПараметрТипОписание
    paymentIdstringИдентификатор платежа
    amountСумма возврата
    valuedecimalСумма возврата
    currencystringКод валюты
    receiptДанные чека
    clientДанные покупателя
    itemsПеречисление позиций чека

    Пример ответа:

    {
      "id": "1276",
      "created": "2021-10-01T06:23:02.273Z",
      "status": "Pending",
      "paymentId": "12870",
      "amount": {
        "value": 5.5,
        "currency": "RUB"
      }
    }
    

    Ответ

    ПараметрТипОписание
    idstringИдентификатор возврата
    createddateДата возврата
    paymentIdstringИдентификатор платежа
    amountСумма возврата
    valuedecimalСумма возврата
    currencystringКод валюты
    statusstringСтатус возврата
    resultCodestringКод результата

    Получение данных по возврату

    GET /api/v2/refunds/{id}

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

    curl --request GET 'https://paymaster.ru/api/v2/refunds/1276' \
    --header 'Authorization: Bearer QdvdwiXKFm='
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор возврата

    В ответ сервис возвращает данные возврата

    Список возвратов

    GET /api/v2/refunds?merchantId={merchantId}&start={start}&end={end}

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

    curl --request GET 'https://paymaster.ru/api/v2/refunds?merchantId=cf128151-127b-44ed-bde5-26c531cad20d&start=2021-08-01T06:00:00Z&end=2021-08-01T06:30:00Z'  \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина
    startdateНачало периода
    enddateКонец периода

    Пример ответа:

    {
      "items": [
        {
          "id": "1276",
          "created": "2021-10-01T06:23:02.273Z",
          "status": "Pending",
          "paymentId": "12870",
          "amount": {
            "value": 5.5,
            "currency": "RUB"
          }
        }
      ]
    }
    

    Ответ:

    ПараметрТипОписание
    idstringИдентификатор возврата
    createddateДата возврата
    paymentIdstringИдентификатор платежа
    amountСумма возврата
    valuedecimalСумма возврата
    currencystringКод валюты
    statusstringСтатус возврата

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

    Ссылка на привязку

    POST /api/v2/tokenization

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

    curl --request POST 'https://paymaster.ru/api/v2/tokenization' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "type": "recurring",
      "purpose": "Тестовая подписка"
      "paymentMethod": "bankcard",
      "customer": {
        "account": "47733000003"
      }   
    }'
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина
    testModeboolФлаг тестового режима (по-умолчанию false)
    typestringТип платежного токена (recurring)
    purposestringОписание подписки
    paymentMethodstringСпособ оплаты
    callbackUrlstringurl для нотификаций по статусу токена
    returnUrlstringurl для возврата пользователя
    customerДанные пользователя
    accountstringАккаунт пользователя в магазине
    emailstringe-mail пользователя

    Пример ответа:

    {
      "tokenId": "8cd9991b47ab42018f0bb56ca0fbdba0",
      "url": "https://paymaster.ru/cpay/tokenization/f3da06b158924a6c8da280a8b49c2996"  
    }
    

    Ответ:

    ПараметрТипОписание
    tokenIdstringИдентификатор токена
    urlstringАдрес страницы, на которую нужно направить пользователя

    Создание токена

    POST /api/v2/paymenttokens

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

    curl --request POST 'https://paymaster.ru/api/v2/paymenttokens' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "type": "recurring",
      "purpose": "Тестовая подписка"
      "paymentData": {
        "paymentMethod": "sbp"
      },
      "customer": {
        "account": "47733000003"
      }   
    }'
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина
    testModeboolФлаг тестового режима (по-умолчанию false)
    typestringТип платежного токена (recurring)
    purposestringОписание подписки
    paymentDataПлатежные данные
    paymentMethodstringСпособ оплаты
    protocolПараметры протокола
    returnUrlstringСтраница, на которую нужно направить пользователя после завершения сценария
    callbackUrlstringurl для нотификации по статусу токена
    threeDSCompleteUrlstringthreeDSCompleteUrl при работе по сценарию 3DSecure Challenge Flow
    customerДанные пользователя
    accountstringАккаунт пользователя в магазине
    emailstringe-mail пользователя

    Параметры, необходимые для создания токена, зависят от выбранного способа оплаты.

    Пример ответа:

    {
        "id": "8cd9991b47ab42018f0bb56ca0fbdba0",
        "status": "Created",
        "confirmation": {
            "type": "External",
            "universalLink": true,
            "paymentUrl": "https://paymaster.ru/cpay/mock/sbp/subscription/8cd9991b47ab42018f0bb56ca0fbdba0",
            "instruction": "Для привязки счета:\r\n* Откройте приложение Вашего банка\r\n* Выберите Сканировать QR\r\n* Подтвердите привязку"
        }
    }
    

    Ответ

    ПараметрТипОписание
    idstringИдентификатор токена
    statusstringСтатус токена (Active / Revoked)
    titlestringНаименование токена
    expiresdateСрок действия токена
    cardInfoДанные по BIN-у карты
    brandstringНазвание платежной системы
    issuerstringНазвание банка
    countrystringISO-код страны
    typestringТип карты (кредитная, дебетовая)
    categorystringКатегория карты (gold, classic)
    confirmationСпособ подтверждения
    typestringТип подтверждения
    ***Параметры подтверждения

    В процессе создания токена может потребоваться дополнительное подтверждение (или несколько подтверждений).

    Подтверждение привязки во внешней системе

    ПараметрТипОписание
    typestringТип подтверждения External
    paymentUrlstringАдрес страницы подтверждения, на который нужно направить пользователя
    universalLinkboolПризнак платежной ссылки
    instructionstringИнструкция для пользователя

    Получение данных по токену

    GET /api/v2/paymenttokens/{id}

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

    curl --request GET 'https://paymaster.ru/api/v2/paymenttokens/8cd9991b47ab42018f0bb56ca0fbdba0' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор токена

    В ответ сервис возвращает данные токена.

    Отзыв токена

    PUT /api/v2/paymenttokens/{id}/revoke

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

    curl --request PUT 'https://paymaster.ru/api/v2/paymenttokens/8cd9991b47ab42018f0bb56ca0fbdba0/revoke' \
    --header 'Authorization: Bearer QdvdwiXKFm='
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор токена

    Статус HTTP 200 означает успешное выполнение запроса.

    Чеки

    Создание чека

    POST /api/v2/receipts

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

    curl --request POST 'https://paymaster.ru/api/v2/receipts' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "paymentId": "13167",
      "amount": {
        "value": 10,
        "currency": "RUB"
      },
      "type": "Payment",
      "client": {
        "email": "customer@gmail.com"
      },
      "items": [{
          "name": "Яблоки",
          "quantity": 1,
          "price": 10,
          "vatType": "Vat120",
          "paymentSubject": "Commodity",
          "paymentMethod": "FullPrepayment"
        }
      ]
    }'
    

    Запрос

    ПараметрТипОписание
    paymentIdstringИдентификатор платежа
    amountСумма по чеку
    valuedecimalСумма
    currencystringКод валюты
    typestringТип чека
    clientДанные покупателя
    emailstringe-mail покупателя
    phonestringТелефон покупателя
    namestringНаименование компании
    innstringИНН компании
    itemsПеречисление позиций чека
    namestringНаименования
    quantitydecimalКоличество
    pricedecimalЦена
    measurestringЕдиница измерения товара
    excisedecimalАкциз
    product
    countrystringКод страны происхождения
    declarationstringНомер таможенной декларации
    vatTypestringСтавка НДС
    paymentSubjectstringПредмет расчета
    paymentMethodstringСпособ расчета
    markingДанные маркировки
    codestringКод товара
    quantityДробное количество маркированного товара
    numeratorintЧислитель
    denominatorintЗнаменатель
    agentTypestringПризнак агента
    supplierДанные поставщика
    namestringНаименование поставщика
    innstringИНН поставщика
    phonestringТелефон поставщика

    Пример ответа:

    {
      "id": "1860",
      "created": "2021-11-02T09:54:35.45Z",
      "paymentId": "13167",
      "amount": {
        "value": 10.0,
        "currency": "RUB"
      },
      "type": "Payment",
      "status": "Pending"
    }
    

    Ответ

    ПараметрТипОписание
    idstringИдентификатор чека
    createddateДата создания
    paymentIdstringИдентификатор платежа
    amountСумма чека
    valuedecimalСумма
    currencystringКод валюты
    typestringТип чека
    statusstringСтатус регистрации чека

    Получение данных по чеку

    GET /api/v2/receipts/{id}

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

    curl --request GET 'https://paymaster.ru/api/v2/receipts/1860' \
    --header 'Authorization: Bearer QdvdwiXKFm='
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор чека

    В ответ сервис возвращает данные чека

    Список чеков

    GET /api/v2/receipts?paymentId={paymentId}

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

    curl --request GET 'https://paymaster.ru/api/v2/receipts?paymentId=22504'  \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Запрос:

    ПараметрТипОписание
    paymentIdstringИдентификатор платежа

    В ответ сервис возвращает список с данными чеков

    Стикеры

    Регистрация стикера

    POST /api/v2/stickers

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

    curl --request POST 'https://paymaster.ru/api/v2/stickers' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "stickerType": "Sbp",
      "productCode": "product-1234",
      "paymentPurpose": "Оплата товара",
      "description": "Продукт #1234",
      "amount": {
        "value": 39.90,
        "currency": "RUB"
      }
    }'
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина
    stickerTypestringТип стикера (например, Sbp)
    cashlinkboolПризнак кассовой ссылки
    descriptionstringОписание стикера
    productCodestringКод продукта
    paymentPurposestringНазначение платежа
    amountСтоимость
    valuedecimalСумма к оплате
    currencystringКод валюты
    callbackUrlstringurl для нотификации об оплате

    Пример ответа:

    {
      "id": "24cc565dea08",
      "stickerType": "Sbp",
      "productCode": "product-1234",
      "paymentPurpose": "Оплата товара",
      "description": "Продукт #1234",
      "amount": {
        "value": 39.90,
        "currency": "RUB"
      },
      "status": "Active",
      "payload": "https://qr.nspk.ru/AS****G0?type=01&sum=3990&cur=RUB&crc=ZZZZ"
    }
    

    Ответ

    ПараметрТипОписание
    idstringИдентификатор стикера
    stickerTypestringТип стикера
    cashlinkboolПризнак кассовой ссылки
    productCodestringКод продукта
    paymentPurposestringНазначение платежа
    descriptionstringОписание стикера
    amountСтоимость
    valuedecimalСумма к оплате
    currencystringКод валюты
    statusstringСтатус стикера
    payloadstringКонтент (платежная ссылка)

    Активация / деактивация стикера

    PUT /api/v2/stickers/{id}

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

    curl --request PUT 'https://paymaster.ru/api/v2/stickers/24cc565dea08' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "active": true
    }'
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор стикера
    activeboolСтатус стикера

    Статус HTTP 200 означает успешное выполнение запроса.

    Получение данных по стикеру

    GET /api/v2/stickers/{id}

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

    curl --request GET 'https://paymaster.ru/api/v2/stickers/24cc565dea08' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор стикера

    В ответ сервис возвращает данные стикера

    Список стикеров

    GET /api/v2/stickers?merchantId={merchantId}

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

    curl --request GET 'https://paymaster.ru/api/v2/stickers?merchantId=cf128151-127b-44ed-bde5-26c531cad20d'  \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Запрос:

    ПараметрТипОписание
    merchantIdstringИдентификатор магазина

    Пример ответа:

    {
      "items": [
        {
          "id": "24cc565dea08",
          "stickerType": "Sbp",
          "productCode": "product-1234",
          "paymentPurpose": "Оплата товара",
          "description": "Продукт #1234",
          "amount": {
            "value": 39.90,
            "currency": "RUB"
          },
          "status": "Active",
          "payload": "https://qr.nspk.ru/AS****G0?type=01&sum=3990&cur=RUB&crc=ZZZZ"
        }
      ]
    }
    

    Ответ:

    ПараметрТипОписание
    itemsarrayСписок стикеров

    Нотификации

    Статус платежа

    POST {callbackUrl}

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

    curl --request POST 'https://merchant-site.com/payments/result' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "id": "12769",
      "created":"2021-09-01T08:20:00Z",
      "testMode": false,
      "status": "Settled",
      "merchantId": "96e809e9-8bce-40fd-86cb-d34db39b4668",
      "amount": {
        "value": 10.5000,
        "currency": "RUB"
      },
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "paymentData": {
        "paymentMethod": "BankCard",
        "paymentInstrumentTitle": "410000XXXXXXX0000"
      }
    }'
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор платежа
    createddateДата платежа
    testModeboolФлаг тестового платежа
    statusstringСтатус платежа
    merchantIdstringИдентификатор магазина
    invoiceДетали счета
    descriptionstringНазначение платежа
    orderNostringНомер заказа в системе магазина
    expiresdateСрок действия счета
    paramsДополнительные параметры
    amountСтоимость
    valuedecimalСумма к оплате
    currencystringКод валюты
    paymentDataПлатежные данные
    paymentMethodstringСпособ оплаты
    paymentInstrumentTitlestringИдентификатор плательщика (номер карты, телефон и пр.)

    Статус платежного токена

    POST {callbackUrl}

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

    curl --request POST 'https://merchant-site.com/tokens/result' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "id": "8cd9991b47ab42018f0bb56ca0fbdba0",
      "status": "Active",
      "title": "410000XXXXXX0001",
      "expires": "2022-10-31T23:59:59Z"
    }'
    

    Запрос:

    ПараметрТипОписание
    idstringИдентификатор токена
    statusstringСтатус токена (Active / Revoked)
    titlestringНаименование токена
    expiresdateСрок действия токена

    Способы оплаты

    КодНазвание
    bankcardБанковская карта
    sbpСистема быстрых платежей (СБП)
    qiwiQIWI

    Коды и справочники

    Код ошибки

    КодОписание
    validation_errorНекорректный запрос (неверный формат)
    not_authorizedНедостаточно прав для выполнения операции
    idempotency_key_violationНарушение уникальности ключа (дублирование запроса)
    invalid_operationЗапрос отклонен
    payment_token_revokedПлатежный токен отозван
    payment_token_blockedПлатежный токен временно заблокирован

    Статус платежа

    КодОписание
    AuthorizedПлатеж авторизован
    SettledПлатеж проведен
    CancelledПлатеж отменен
    RejectedПлатеж отклонен
    ConfirmationТребуется дополнительное подтверждение
    PendingПлатеж выполняется

    Статус возврата

    КодОписание
    SuccessВозврат проведен успешно
    RejectedЗапрос на возврат отклонен
    PendingВозврат выполняется

    Код авторизации

    КодОписание
    TransactionDeclinedАвторизация отклонена
    IssuerUnavailableЭмитент недоступен
    RejectedByFraudОтклонено фрод-мониторингом
    InvalidAmountНедопустимая сумма
    InvalidAccountНеверный номер карты / карта не существует
    BlockedAccountКарта заблокирована (утеряна)
    OperationNotAllowedОперация недоступна
    InsufficientFundsНедостаточно средств
    ExpiredAccountСрок действия карты истек / неверный срок действия
    PaymentLimitExceededПревышен лимит на сумму
    PaymentCountExceededПревышено кол-во попыток
    CardNotEnrolledКарта не подписана на 3DS
    ThreeDSecureFailed3DS аутентификация не пройдена
    CancelledByUserПлатеж отклонен пользователем
    PaymentExpiredИстек срок

    Статус регистрации чека

    КодОписание
    SuccessЧек зарегистрирован успешно
    RejectedОтказ регистрации чека
    CancelledРегистрация чека отменена
    PendingВыполняется регистрация

    Тип чека

    КодОписание
    PaymentПриход
    RefundВозврат прихода

    Ставка НДС

    КодОписание
    NoneБез НДС
    Vat0НДС 0%
    Vat10НДС 10%
    Vat20НДС 20%
    Vat110НДС по формуле 10/110
    Vat120НДС по формуле 20/120

    Признак агента

    КодОписание
    BankPaymentAgentБанковский платежный агент
    BankPaymentSubagentБанковский платежный субагент
    PaymentAgentПлатежный агент
    PaymentSubagentПлатежный субагент
    AttorneyПоверенный
    CommissionerКомиссионер
    AgentАгент

    Признак предмета расчета

    КодОписание
    CommodityТовар
    ExciseАкциз
    JobРабота
    ServiceУслуга
    GamblingСтавка в азартной игре
    LotteryЛотерейный билет
    IntellectualActivityИнтеллектуальная деятельность
    PaymentПлатеж
    AgentFeeВознаграждение агента
    PropertyRightsИмущественные права
    NonOperatingIncomeВнереализационный доход
    InsurancePaymentСтраховой сбор
    SalesTaxТорговый сбор
    ResortFeeКурортный сбор
    OtherДругое

    Признак способа расчета

    КодОписание
    FullPrepaymentПолная предоплата
    PartialPrepaymentЧастичная предоплата
    AdvanceАванс
    FullPaymentПолный расчет
    PartialPaymentЧастичный расчет
    CreditКредит

    Единица измерения

    КодОписание
    PieceШтука
    GramГрамм
    KilogramКилограмм
    TonneТонна
    CentimeterСантиметр
    DecimeterДециметр
    MeterМетр
    SquareCentimeterКвадратный сантиметр
    SquareDecimeterКвадратный дециметр
    SquareMeterКвадратный метр
    MillilitreМиллилитр
    LitreЛитр
    QubicMeterКубический метр
    KilowattHourКиловатт * час
    GigacalГигакалория
    DayДень
    HourЧас
    MinuteМинута
    SecondСекунда
    KilobyteКилобайт
    MegabyteМегабайт
    GigabyteГигабайт
    TerabyteТерабайт
    OtherДругое