Создание 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 (Монета.ру).
Last modified 1yr ago