Создание invoice

Для создания invoice на оплату необходимо отправить зарос в API сервиса по адресу:

https://bpa.payanyway.ru/api/invoice?key=***

где 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.

Last updated