Создание invoice
Для создания invoice на оплату необходимо отправить зарос в API сервиса по адресу:
где invoice - это имя метода
key - ключ партнера, будет ему сгенерирован и выдан сервисом БПА ПА PayAnyWay (bpa.payanyway.ru)
через json POST следует передать данные:
1
{
2
"signature": "***",
3
"paymentAmount": 9.00,
4
"debitMntAccount": 317,
5
"mntTransactionId": "***",
6
"customerEmail": "***@***.**",
7
"inventory": [
8
{"sellerAccount": "30990009",
9
"sellerInn": "1234",
10
"sellerName": "ООО Рога и копыта",
11
"sellerPhone": "71234567890",
12
"productName": "test1",
13
"productQuantity": 1,
14
"productPrice": 0.20,
15
"productVatCode": 1105},
16
{"sellerAccount": "60252006",
17
"sellerInn": "5678",
18
"sellerName": "ООО Ромашка",
19
"sellerPhone": "71234567890",
20
"productName": "test2",
21
"productQuantity": 2,
22
"productPrice": 4,
23
"productVatCode": 1105},
24
{"sellerAccount": "30990009",
25
"sellerInn": "1234",
26
"sellerName": "ООО Рога и копыта",
27
"sellerPhone": "71234567890",
28
"productName": "test3",
29
"productQuantity": 2,
30
"productPrice": 0.40,
31
"productVatCode": 1105}
32
]
33
}
Copied!
где:
  • 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:
1
{"error": "***"}
Copied!
В результате выполнения команды будет создан invoice на оплату, а метод отдаст следующие данные в json:
1
{"operation": ***}
Copied!
*** - ID операции, созданной в системе PayAnyWay (Монета.ру).
Покупателя следует перенаправить на оплату данного invoice по ссылке:
https://www.payanyway.ru/assistant?operationId=***
www.payanyway.ru
*** - ID операции, созданной в системе PayAnyWay (Монета.ру).
В ссылку можно добавить дополнительные параметры по протоколу MONETA.Assistant.
Copy link