Создание invoice
Для создания invoice на оплату, необходимо отправить зарос в API сервиса по адресу:
https://bpa.payanyway.ru/api/invoice?key=***
где invoice - это имя метода
key - ключ партнера, будет ему сгенерирован и выдан сервисом ПА ООО "ПЭЙ ЭНИ ВЭЙ"
через json POST следует передать данные:
где:
signature - подпись запроса - должна быть равна md5(debitMntAccount + mntTransactionId + secret). Символ + это конкатенация строк, secret - секретный код партнера, который будет выдан сервисом ПА ООО "ПЭЙ ЭНИ ВЭЙ"
paymentAmount - общая сумма платежа. Десятичный разделитель - точка с двумя десятичными знаками даже если это нули.
debitMntAccount - не обязательный параметр - счет списания в Системе МОНЕТА.РУ - необходимо уточнить в коммерческом отделе. Если не указывается, в сигнатуре вместо него следует оставить пустую строку.
creditMntAccount - счет ПА ООО "ПЭЙ ЭНИ ВЭЙ" в Системе МОНЕТА.РУ, на который необходимо принять денежные средства. Необходимо уточнить в коммерческом отделе.
sourceTariffMultiplier - не обязательный параметр - размер комиссии с продавца в процентах, разделенных на 100, то есть значение 0.015 соответствует 1,5%. Поле sourceTariffMultiplier для позиции является необязательным и если указано перекрывает значение sourceTariffMultiplier указанное для всего документа.
mntTransactionId - уникальный внешний идентификатор транзакции.
customerEmail - e-mail покупателя, на который надо отправить чек от ОФД.
mntSubscriberId - не обязательный параметр - идентификатор покупателя в учетной системе продавца.
storeCard - не обязательный параметр - true/false - сохранять ли банковскую карту покуателя. Для стандартных торговых площакок, за исключением cvv карты. Если передано значение true, то параметр mntSubscriberId становится обязательным. В комбинации с параметром QRTTL осуществляется привязка СБП покупателя с возможностью повторного списания средств по аналогии как это произходит при посторном списании с банковских карт покупателей.
useCard - не обязательный параметр, если передано true, то для данного покупателя с mntSubscriberId на платежной форме будет восстановлен номер банковской карты, за исключением кода CVV.
QRTTL - период в минутах, в течение которого будет возможна оплата через СБП. При передаче данного параметра в запрос invoice, платеж будет приниматься через СБП. Иначе - банковской картой.
inventory - номенклатура по поставщикам с указанием данных о поставщиках:
sellerAccount - номер бизнес-счета продавца в Системе МОНЕТА.РУ.
sellerInn - ИНН продавца.
sellerName - название продавца.
sellerPhone - номер телефона продавца.
clientTransaction - внешний идентификатор транзакции второго шага (при расщеплении).
productName - название товара.
productQuantity - количество товара.
productPrice - окончательная цена товара с учетом всех скидок и наценок.
productVatCode - код ставки НДС - одно из значений:
1104 - НДС 0%
1103 - НДС 10%
1102 - c 01.01.2019 ставка 20%
1105 - НДС не облагается
1107 - НДС с рассч. ставкой 10%
1106 - c 01.01.2019 НДС с расчётной ставкой 20%
po - необязательный параметр - объект оплаты
pm - необязательный параметр - метод оплаты
Признак предмета расчёта po (payment_object):
commodity – товар (за исключением подакцизного товара)
excise – подакцизный товар
job – работа
service – услуга.
Признак способа расчёта pm (payment_method):
full_prepayment – предоплата 100%. Полная предварительная оплата до момента передачи предмета расчета
prepayment – предоплата. Частичная предварительная оплата до момента передачи предмета расчета
advance – аванс
full_payment – полный расчет. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета
Все передаваемые значения не должны содержать кавычки, спецсимволы, символы слэш и обратный слэш, амперсанд.
Для приема платежа с холдированием, необходимо передать также параметр hold в значении 1.
Чтобы сформировать invoice для оплаты по QR СБП, счёт получателя обязательно должен быть настроен для работы с СБП (по согласованию с коммерческим отделом системы Монета). Также необходимо передать параметр QRTTL - это время в течение которого будет возможна оплата по платёжной ссылке (QR-коду). Минимальное значение - одна минута, максимальное значение - 129600 (90 дней в минутах).
API ПА ООО "ПЭЙ ЭНИ ВЭЙ" выполнит проверку входящих данных и сообщит об ошибке если:
incorrect input data - отсутствует часть входящих данных.
incorrect signature - не верная подпись запроса.
incorrect inventory data, line: N - где N - номер строки номенклатуры - отсутствует часть данных по строке номенклатуры.
incorrect amount - отсутствует общая сумма.
inventoryTotal (***) and paymentAmount (***) are missmatch - не совпала общая сумма и сумма по всем позициям inventory.
invoice could not be created - не удалось создать invoice.
Ошибка отдается в формате json:
В результате выполнения команды будет создан invoice на оплату, а метод отдаст следующие данные в json:
*** - ID операции, созданной в Системе МОНЕТА.РУ.
Если был передан параметр QRTTL, в результат бедет так же возвращен массив operationInfo, ключи и значения которого содержат в том числе ссылку на оплату по СБП, которую можно отобразить в виде QR-кода покупателю. В этом случае переадресания на оплату через Assistant может не потребоваться.
Покупателя следует перенаправить на оплату данного invoice по ссылке:
https://www.payanyway.ru/assistant.htm?operationId=***
*** - ID операции, созданной в Системе МОНЕТА.РУ.
В ссылку можно добавить дополнительные параметры по протоколу MONETA.Assistant.
При передаче storeCard и mntSubscriberId будет сохранена использованная при оплате карта. Чтобы воспользоваться ей, нужно при последующих вызовах метода снова передать storeCard, тогда на платежной форме будет виден маскированный номер карты и expire date. Покупателю останется ввести cvv код для проведения оплаты.
Last updated