Управление комиссией
Маркетплейс может управлять размером комиссии, взимаемым с продавца в зависимости от категории товара или оборотов продавца.
Максимальный размер вознаграждения маркетплейса будет зафиксирован в договоре об информационно-техническом взаимодействии.
Значение комиссии маркетплейс передает в поле SOURCETARIFFMULTIPLIER в процентах в запросе на перевод с транзитного счета маркетплейса на расширенный счет продавца в системе МОНЕТА.РУ.
Запрос:
{
"Envelope": {
"Header": {
"Security": {
"UsernameToken": {
"Username": "логин",
"Password": "пароль"
}
}
},
"Body": {
"PaymentRequest": {
"payer": "НОМЕР ТРАНЗИТНОГО СЧЕТА ПЛОЩАДКИ",
"payee": "НОМЕРА РАСШИРЕННОГО СЧЕТА ПРОДАВЦА",
"amount": "сумма",
"clientTransaction": "внешний идентификатор транзакции",
"operationInfo": {
"attribute": [
{
"key": "PARENTID",
"value": "12345678"
},
{
"key": "SOURCETARIFFMULTIPLIER",
"value": "0.015"
}
]
}
}
}
}
}
где "value": "0.015"
- значение в процентах.
Ответ:
{
"Envelope":{
"Body":{
"PaymentResponse":{
"transaction": "номер операции в системе МОНЕТУ.РУ",
"dateTime": "2019-01-25T15:35:32.000+03:00",
"status": "SUCCESS",
"clientTransaction": "внешний идентификатор транзакции"
}
}
}
}
<?php
$sdkAppFileName = __DIR__ . "/../moneta-sdk-lib/autoload.php";
include_once($sdkAppFileName);
try {
$monetaSdk = new \Moneta\MonetaSdk();
$monetaSdk->checkMonetaServiceConnection();
$request = new \Moneta\Types\PaymentRequest();
//номер счёта (в системе МОНЕТА.РУ) для списания средств
$request->payer = '';
//номер счёта (в системе МОНЕТА.РУ) для зачисления средств
$request->payee = '';
//сумма перевода
$request->amount = '20.00';
//номер транзакции в учётной системе магазина/маркетплейса.
$request->clientTransaction = 'my-order-id-20';
//платёжный пароль магазина/маркетплейса.
$request->paymentPassword = '*******************';
$operation = new \Moneta\Types\OperationInfo();
//в параметре указывается номер базовой операции - это операция платежа на транзитный счёт магазина/маркетплейса.
$attribute = new \Moneta\Types\KeyValueAttribute();
$attribute->key = 'PARENTID';
$attribute->value = '';
$operation->addAttribute($attribute);
//в параметре указывается значение комиссии, которую взимает магазин/маркетплейс с организации/продавца.
$attribute = new \Moneta\Types\KeyValueAttribute();
$attribute->key = 'SOURCETARIFFMULTIPLIER';
$attribute->value = '0.015'; //1,5%
$operation->addAttribute($attribute);
$request->operationInfo = $operation;
//запрос на перевод средств внутри системы МОНЕТА.РУ
//с транзитного счёта магазина/маркетплейса на расширенный счёт организации(продавца)
$result = $monetaSdk->monetaService->Payment($request);
if (!$result['id']) {
throw new Exception(print_r($result, true));
}
echo "Запрос обработан.";
foreach ($result['attribute'] as $key => $attribute) {
if ('statusid' === $attribute['key']) {
if ((new \Moneta\Types\OperationStatus())::SUCCEED !== $attribute['value']) {
echo " Операция НЕ проведена полностью.";
}
break;
}
}
} catch (Exception $e) {
echo "Ошибка:<br />";
echo "<pre>" . $e->getMessage() . "</pre>";
}
Запросы маркетплейс отправляет в рамках интерфейса MONETA.MerchantAPI.
Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.