Результаты поиска
    Ничего не найдено
    Оглавление
    Управление комиссией

    Управление комиссией

    Маркетплейс может управлять размером комиссии, взимаемым с продавца в зависимости от категории товара или оборотов продавца.

    Максимальный размер вознаграждения маркетплейса будет зафиксирован в договоре об информационно-техническом взаимодействии.

    Значение комиссии маркетплейс передает в поле 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) для передачи информации.