Я торговая площадка с мультикорзиной
Вы торговая площадка, которая предоставляет покупателю товары разных поставщиков на одном портале.
Вы торговая площадка, которая предоставляет покупателю товары разных поставщиков на одном портале.
Для приема платежей на сайте маркетплейса в пользу клиентов юридических лиц и индивидуальных предпринимателей (далее ЮЛ/ИП) НКО может привлечь платежного агрегатора БПА ПА “ПЭЙ ЭНИ ВЭЙ” для участия в переводе денежных средств в пользу юридических лиц, индивидуальных предпринимателей и иных лиц по операциям с использованием электронных средств платежа. Платежный агрегатор формирует фискальные документы в своей ККТ от своего имени за клиентов маркетплейса.
Денежные средства покупателя зачисляются на специальный банковский счет платежного агрегатора ООО “ПЭЙ ЭНИ ВЭЙ” и автоматически переводятся на счета клиентов маркетплейса.
Мультикорзина позволяет маркетплейсу принять платеж, заранее определив как будут распределяться денежные средства между поставщиками товаров/услуг. Разпределение (расщепление) платежа произойдёт автоматически без дополнительных запросов со стороны маркетплейса при использовании API bpa.payanyway.ru.
Для создания invoice на оплату, необходимо отправить зарос в API сервиса по адресу: https://bpa.payanyway.ru/api/invoice?key=***
где invoice - это имя метода key - ключ партнера, будет ему сгенерирован и выдан сервисом ПА ООО “ПЭЙ ЭНИ ВЭЙ”
Через json POST следует передать данные:
{
"signature": "***",
"paymentAmount": 9.00,
"debitMntAccount": номер счета списания,
"creditMntAccount": номер счета пополнения,
"sourceTariffMultiplier": комиссия с продавца,
"mntTransactionId": "***",
"customerEmail": "***@***.**",
"mntSubscriberId": идентификатор покупателя,
"storeCard": true/false,
"inventory": [
{"sellerAccount": "30990009",
"sourceTariffMultiplier": комиссия с продавца,
"sellerInn": "1234",
"sellerName": "ООО Название 1",
"sellerPhone": "71234567890",
"productName": "test1",
"productQuantity": 1,
"productPrice": 0.20,
"productVatCode": 1105,
"po": "***",
"pm": "***"},
{"sellerAccount": "60252006",
"sourceTariffMultiplier": комиссия с продавца,
"sellerInn": "5678",
"sellerName": "ООО Название 2",
"sellerPhone": "71234567890",
"productName": "test2",
"productQuantity": 2,
"productPrice": 4,
"productVatCode": 1105},
{"sellerAccount": "30990009",
"sourceTariffMultiplier": комиссия с продавца,
"sellerInn": "1234",
"sellerName": "ООО Название 1",
"sellerPhone": "71234567890",
"productName": "test3",
"productQuantity": 2,
"productPrice": 0.40,
"productVatCode": 1105,
"po": "***",
"pm": "***"}
]
}где:
Все передаваемые значения не должны содержать кавычки, спецсимволы, символы слэш и обратный слэш, амперсанд.
Для приема платежа с холдированием, необходимо передать также параметр hold в значении 1.
Чтобы сформировать invoice для оплаты по QR СБП, счёт получателя обязательно должен быть настроен для работы с СБП (по согласованию с коммерческим отделом системы Монета). Также необходимо передать параметр QRTTL - это время в течение которого будет возможна оплата по платёжной ссылке (QR-коду). Минимальное значение - одна минута, максимальное значение - 129600 (90 дней в минутах).
API ПА ООО “ПЭЙ ЭНИ ВЭЙ” выполнит проверку входящих данных и сообщит об ошибке если:
Ошибка отдается в формате json:
{"error": "***"}В результате выполнения команды будет создан invoice на оплату, а метод отдаст следующие данные в json:
{"operation": "***"}*** - ID операции, созданной в Системе МОНЕТА.РУ.
Если был передан параметр QRTTL, в результат бедет так же возвращен массив operationInfo, ключи и значения которого содержат в том числе ссылку на оплату по СБП, которую можно отобразить в виде QR-кода покупателю. В этом случае переадресания на оплату через Assistant может не потребоваться.
Покупателя следует перенаправить на оплату данного invoice по ссылке: https://moneta.ru/assistant.htm?operationId=***
*** - ID операции, созданной в Системе МОНЕТА.РУ.
В ссылку можно добавить дополнительные параметры по протоколу MONETA.Assistant.
При передаче storeCard и mntSubscriberId будет сохранена использованная при оплате карта. Чтобы воспользоваться ей, нужно при последующих вызовах метода снова передать storeCard, тогда на платежной форме будет виден маскированный номер карты и expire date. Покупателю останется ввести cvv код для проведения оплаты.
Покупатель оплачивает invoice удобным ему способом, например, банковской картой.
После успешной оплаты на адрес электронной почты покупателя приходит ссылка на фискальный документ с номенклатурой, которая была передана при создании invoice.
API ПА ООО “ПЭЙ ЭНИ ВЭЙ” сгруппирует номенклатуру по продавцам и сделает операции перевода, полученных от покупателя денежных средств, на бизнес-счета продавцов. Операций перевода будет создано столько, сколько продавцов было передано с номенклатурой при создании invoice.
Если invoice был создал с холдированием (параметр hold при создании invoice был передан в значении 1), то после успешного холдирования денег, будет отправлено URL-уведомление в формате:
{"type": "authorise", "operation": "ID операции"}Получив уведомление, вы можете решить, проводить данную операцию или отменить.
Для проведения операции необходимо отправить запрос в API БПА ПА PayAnyWay на url: https://bpa.payanyway.ru/api/confirmoperation?key=***
где confirmoperation - это имя метода
key - ключ партнера, выданный сервисом БПА ПА “ПЭЙ ЭНИ ВЭЙ” (bpa.payanyway.ru)
через json POST следует передать данные:
{
"signature": "***",
"operation": "***"
}где:
В операцию подтверждения можно отправить данные о номенклатуре, которая подтвердилась. Если эти данные не переданы, подтверждается вся номенклатура, переданная при создании инвойса.
Формат передачи номенклатуры в запросе confirmoperation полностью аналогичен данным запроса invoice, за исключением атрибута sourceTariffMultiplier, который при подтверждении операции поменять уже нельзя.
Для отмены ранее холдированной операции необходимо отправить запрос на url: https://bpa.payanyway.ru/api/canceloperation?key=***
Все передаваемые параметры аналогичны предыдущему методу.
После успешной оплаты или подтверждения холдирования, API ПА ООО “ПЭЙ ЭНИ ВЭЙ” направит URL-уведомление с ссылкой на фискальный документ:
{"operation":12345678+ссылка на чек}Для настройки URL-уведомления необходимо отправить URL вашего обработчика на mp@payanyway.ru
Если подтверждена лишь часть товаров из первоначального invoice, следует отправить запрос, содержащий данные по товарам с учетом изменений: https://bpa.payanyway.ru/api/confirmoperation?key=***
Данные, принимаемые в запросе:
{
"signature": "***",
"operation": "***",
"paymentAmount": 100,
"inventory": [
{
"sellerAccount": "30990009",
"sellerInn": "1234",
"sellerName": "ООО Название 1",
"sellerPhone": "71234567890",
"productName": "test1",
"productQuantity": 1,
"productPrice": 0.20,
"productVatCode": 1105,
"po": "***",
"pm": "***"
},
...
]
}Для отмены инвойса, по которому еще не производилось оплаты, необходимо отправить запрос на url: https://bpa.payanyway.ru/api/cancelinvoice?key=***
При вызове этого метода не осуществляются какие-либо возвраты по уже оплаченным invoice.
Данные, принимаемые в запросе:
{
"signature": "***",
"operation": "***",
"description": "***"
}где:
Продавцы, по различным причинам, могут пожелать сделать возврат переведенных в их пользу от ПА ООО “ПЭЙ ЭНИ ВЭЙ” денежных средств. В этом случае ПА ООО “ПЭЙ ЭНИ ВЭЙ” сделает возврат средств покупателю.
Операцию возврата от продавца должна быть совершена с помощью интерфейса MONETA.MerchantAPI запросом RefundRequest. Если возвращается только часть проданных товаров, в атрибуте customfield:inventory операции возврата следует передать следующие данные в формате json:
{"inventory": [
{"sellerAccount": "30990009",
"sellerInn": "1234",
"sellerName": "ООО Название 1",
"sellerPhone": "71234567890",
"productName": "test1",
"productQuantity": 1,
"productPrice": 0.20,
"productVatCode": 1105,
"po": "***",
"pm": "***"},
{"sellerAccount": "30990009",
"sellerInn": "1234",
"sellerName": "ООО Название 1",
"sellerPhone": "71234567890",
"productName": "test3",
"productQuantity": 2,
"productPrice": 0.40,
"productVatCode": 1105,
"po": "***",
"pm": "***"}
]
}Поля данных были подробно описаны выше, в разделе “Создание invoice”.
Если в атрибуте customfield:inventory операции возврата не передана номенклатура, система ПА ООО “ПЭЙ ЭНИ ВЭЙ” считает, что возвращаются все ранее оплаченные покупателем товары.
Система ПА ООО “ПЭЙ ЭНИ ВЭЙ” сформирует возврат покупателю, а так же чек возврата, который отправит покупателю на e-mail, указанный ранее при формировании invoice.
По результатам возврата, на url переданный для настроек от партнера системе ПА ООО “ПЭЙ ЭНИ ВЭЙ”, будет отправлено url-уведомление в формате json:
{"operation": операция возврата покупателю,
"parentid": операция возврата продавцу,
"returnid": false,
"receipt": "ссылка на чек"}Если не удалось выделить номенклатуру для чека возврата, то система ПА ООО “ПЭЙ ЭНИ ВЭЙ” сделает перевод денег в пользу продавца на сумму возврата и будет отправлено URL-уведомление в формате json следующего содержания:
{"operation": false,
"parentid": операция возврата продавцу,
"returnid": операция перевода продавцу,
"receipt": false}