Вы можете предложить запрашивать у пользователя промо-код, номер карты лояльности или какой-либо другой код, влияющий на оформление заказа. Во время покупки пользователю в приложении на телефоне будет предложено ввести данный код, при этом поле будет необязательно для ввода. Наименование кода также определяется магазином.

Введённый пользователем код будет передан при оформлении заказа, а также при уведомлении об оплате. Вы можете учесть данный код при расчёте стоимости заказа, если он влияет на стоимость, либо начислить баллы, предоставить дополнительные услуги или товары после оплаты заказа, в соответствии с вашей бизнес-логикой обработки промо или карт лояльности.

Для того, чтобы предложить пользователю ввести промо-код (или карту лояльности) с вашим названием, необходимо указать соответствующие атрибуты кнопки

data-promocode-required = строка: default, deny, nonrequired
Требование запросить промо-код

data-promocode-details = строка: в формате JSON
Дополнительные данные получателя денежных средств к значению промо-кода, указанного пользователем.
article
строка
Внутренний идентификатор типа промо-кодов
description
строка
Собственное пояснение получателя денежных средств к полю ввода промо-кода

data-promocard-required = строка: default, deny, nonrequired
Предлагать покупателю указать номер карты лояльности
default
указывает, что значение берется из настроек в личном кабинете.
deny
не предлагать.
nonrequired
используется, когда нужно запросить у пользователя номер карты лояльности.

Если значение не заполнено, то оно будет получено из настроек в личном кабинете.

data-promocard-details = строка: в формате JSON
Дополнительные данные получателя денежных средств к значению номера карты лояльности, указанного пользователем.

Эти параметры могут использоваться получателем денежных средств для информирования покупателей/плательщиков о том, номера каких именно карт лояльности можно вводить при покупке/платеже через PayQR и когда того требует реализованная логика обработки карт лояльности

article
строка
Внутренний идентификатор типа карт лояльности
description
строка
Собственное пояснение получателя денежных средств к полю ввода карты лояльности

Пример:  

<button
 class="payqr-button"
 data-scenario="buy"
 data-cart='[
   {"article":"123123","name":"Хороший товар","quantity":"1","amount":"500.00","imageurl":"http://modastuff.ru/item1.jpg"},
   {"article":"123123","name":"Очень хороший товар","quantity":"2","amount":"1000.00","imageurl":"http://modastuff.ru/item2.jpg"}
 ]'
 data-amount="1500.00"
 data-promocode-required = "nonrequired"
 data-promocode-details: '{"article":1,"description":"Промо код"}'
 data-promocard-required = "nonrequired"
 data-promocard-details: '{"article":1,"description":"Карта лояльности"}'
 style="width: 163px; height: 36px;" > Купить быстрее </button>

При получении уведомления invoice.order.creating будет передан промо-код или номер карты лояльности, введенный покупателем в процессе покупки/оплаты в параметре value. Необходимо учесть его значение при расчёте стоимости заказа.

Также промо-код или номер карты лояльности будет передан в уведомлении invoice.paid. Если по промо-коду начисляются какие-либо баллы, бонусы и т.п., следует проначислять их в обработчике invoice.paid, когда уже произошла оплата заказа.

Пример уведомления:  

{
  "id": "evt_14EccV2eZvKYlo2C2j1B18pF",
  "object": "event",
  "created": "2015-08-09T18:31:42.201+04:00",
  "type": "invoice.order.creating",
  "data": {
    "id": "usr_inv_gKSaFJxIv8xydXdOl3f4fm",
    ...
    "promoCode": {
      "article": "bunuscode",
      "description": "Промо-код",
      "value": "0000111100001111"
    },
    "promoCard": {
      "article": "malinacard",
      "description": "Карта лояльности",
      "value": "9999000099990000"
    },
    ....
  }
}