Создание invoice
Для создания invoice на оплату необходимо отправить зарос в API сервиса по адресу:
https://bpa.payanyway.ru/api/invoice?key=***
где invoice - это имя метода
key - ключ партнера, будет ему сгенерирован и выдан сервисом БПА ПА PayAnyWay (bpa.payanyway.ru)
через json POST следует передать данные:
где:
signature - подпись запроса - должна быть равна md5(debitMntAccount + mntTransactionId + secret). Символ + это конкатенация строк, secret - секретный код партнера, который будет выдан сервисом БПА ПА PayAnyWay (bpa.payanyway.ru).
paymentAmount - общая сумма платежа. Десятичный разделитель - точка с двумя десятичными знаками даже если это нули.
debitMntAccount - счет списания в системе PayAnyWay (Монета.ру) - не обязательный параметр.
mntTransactionId - уникальный внешний идентификатор транзакции.
customerEmail - e-mail покупателя, на который надо отправить чек от ОФД.
inventory - номенклатура по поставщикам с указанием данных о поставщиках:
sellerAccount - номер бизнес-счета продавца в PayAnyWay.
sellerInn - ИНН продавца.
sellerName - название продавца.
sellerPhone - номер телефона продавца.
productName - название товара.
productQuantity - количество товара.
productPrice - окончательная цена товара с учетом всех скидок и наценок.
productVatCode - код ставки НДС - одно из значений:
1104 - НДС 0%
1103 - НДС 10%
1102 - c 01.01.2019 ставка 20%
1105 - НДС не облагается
1107 - НДС с рассч. ставкой 10%
1106 - c 01.01.2019 НДС с рассч. ставкой 20%
Все передаваемые значения не должны содержать кавычки, спецсимволы, символы слэш и обратный слэш, амперсанд.
Для приема платежа с холдированием, необходимо передать также параметр hold в значении 1.
API БПА ПА PayAnyWay выполнит проверку входящих данных и сообщит об ошибке если:
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 операции, созданной в системе PayAnyWay (Монета.ру).
Покупателя следует перенаправить на оплату данного invoice по ссылке:
*** - ID операции, созданной в системе PayAnyWay (Монета.ру).
В ссылку можно добавить дополнительные параметры по протоколу MONETA.Assistant.
Last updated