Публичное api оплаты для Pay-logic Kiosk
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
README.md

README.md

PayLogicKiosk

Инициализация оплаты

Чтобы начать оплату, необходимо сформировать объект корзины и вызвать JavaScript метод PayLogicKiosk.makePayment(cart), где cart - объект корзины. Для вызова метода не требуется подключения каких-либо библиотек. Данный метод будет доступен автоматически при открытии сайта через ПО платежного киоска.

После вызова метода будет сразу инициирован переход к оплате. Дальнейшая обработка всего процесса платежа, а также ошибок, осуществляется на стороне ПО платежного киоска.

Объектная модель

Корзина

  • Номер заказа
    • Наименование поля: number
    • Тип: строка
    • Обязательность: нет
  • Список атрибутов заказа
    • Наименование поля: attributes
    • Тип: массив объектов attribute
    • Обязательность: нет
  • Список позиций
    • Наименование поля: items
    • Тип: массив объектов item
    • Обязательность: да

Примеры объектов:

{
 number: 'D363-K',
 attributes: [
  {
   key: 'phone',
   value: '9123545566'
  },
  {
   key: 'period',
   value: '12'
  }
 ],
 items: [
  {
   name: 'Оплата МТС',
   price: 20000,
   subjectType: 4
  }
 ]
}
{
 number: '22RTV1457-55',
 items: [
  {
   id: 'a9671480-09ce-4843-9656-be4691252873',
   name: 'Чисбургер средний',
   price: 10000
  },
  {
   id: '12ec45be-43e7-4db3-96f7-960201e249cc',
   name: 'Кола большая',
   price: 5000
  }
 ]
}

Атрибут заказа (attribute)

  • Ключ атрибута
    • Наименование поля: key
    • Тип: строка
    • Обязательность: да
  • Значение атрибута
    • Наименование поля: value
    • Тип: строка
    • Обязательность: да
{
 key: 'phone',
 value: '9123545566'
}
{
 key: 'period',
 value: '12'
}

Позиция (item)

  • Идентификатор позиции
    • Наименование поля: id
    • Тип: строка
    • Обязательность: нет
    • Использование: для сопоставления позиции с внешними учетными системами
  • Название позиции
    • Наименование поля: name
    • Тип: строка
    • Обязательность: да
    • Ограничения: 128 символов. Если будет передана строка длиной более 128 символов, то при фискализации платежа поле автоматически будет обрезано до максимально допустимого значения
  • Идентификатор типа товара
  • Идентификатор налоговой ставки
    • Наименование поля: taxId
    • Тип: целое число
    • Обязательность: нет
    • Возможные значения: в соответствии с 54ФЗ (Значения реквизита "ставка НДС") Значение по умолчанию: 1, если не переопределено конфигурацией ПО киоска
  • Цена
    • Наименование поля: price
    • Тип: целое число
    • Обязательность: да
    • Особенности: в копейках и с учетом НДС
  • Количество
    • Наименование поля: count
    • Тип: целое число
    • Обязательность: нет
    • Особенности: в граммах, если товар штучный необходимо указать 1000, 2000 и т.д.
    • Значение по умолчанию: 1000
{
 id: 'a9671480-09ce-4843-9656-be4691252873',
 name: 'Чисбургер средний',
 subjectTypeId: 1,
 count:2000,
 price: 15000
}

Пример использования

Базовый пример работы с API

CART - js-объект корзины $paymentButton - Кнопка оплаты

const $paymentButton = $('[js-payment-button]')

const CART = {
  number: '22RTV1457-55',
  items: [
    {
      id: 'a9671480-09ce-4843-9656-be4691252873',
      name: 'Чисбургер средний',
      price: 10000,
      count: 1000,
      subjectType: 1,
      taxId: 1
    },
    {
      id: '12ec45be-43e7-4db3-96f7-960201e249cc',
      name: 'Кола большая',
      price: 5000,
      count: 1000,
      subjectType: 1,
      taxId: 1
    }
  ]
}

$paymentButton.on('click', function () {
  PayLogicKiosk.makePayment(CART)
})

Остальные примеры работы API доступны в директории examples