Создание invoice

Для создания invoice на оплату необходимо отправить зарос в API сервиса по адресу:
где invoice - это имя метода
key - ключ партнера, будет ему сгенерирован и выдан сервисом БПА ПА PayAnyWay (bpa.payanyway.ru)
через json POST следует передать данные:
{
"signature": "***",
"paymentAmount": 9.00,
"debitMntAccount": 317,
"mntTransactionId": "***",
"customerEmail": "***@***.**",
"inventory": [
{"sellerAccount": "30990009",
"sellerInn": "1234",
"sellerName": "ООО Рога и копыта",
"sellerPhone": "71234567890",
"productName": "test1",
"productQuantity": 1,
"productPrice": 0.20,
"productVatCode": 1105},
{"sellerAccount": "60252006",
"sellerInn": "5678",
"sellerName": "ООО Ромашка",
"sellerPhone": "71234567890",
"productName": "test2",
"productQuantity": 2,
"productPrice": 4,
"productVatCode": 1105},
{"sellerAccount": "30990009",
"sellerInn": "1234",
"sellerName": "ООО Рога и копыта",
"sellerPhone": "71234567890",
"productName": "test3",
"productQuantity": 2,
"productPrice": 0.40,
"productVatCode": 1105}
]
}
где:
  • 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:
{"error": "***"}
В результате выполнения команды будет создан invoice на оплату, а метод отдаст следующие данные в json:
{"operation": ***}
*** - ID операции, созданной в системе PayAnyWay (Монета.ру).
Покупателя следует перенаправить на оплату данного invoice по ссылке:
*** - ID операции, созданной в системе PayAnyWay (Монета.ру).
В ссылку можно добавить дополнительные параметры по протоколу MONETA.Assistant.