<?php$sdkAppFileName =__DIR__."/../moneta-sdk-lib/autoload.php";include_once($sdkAppFileName);try { $monetaSdk =new\Moneta\MonetaSdk(); $monetaSdk->checkMonetaServiceConnection(); $request =new\Moneta\Types\InvoiceRequest();//номер счёта плательщика (счёт для списания средств). $request->payer ='';//номер счёта получателя (счёт для зачисления средств) $request->payee ='';//сумма инвойса $request->amount ='11.00';//описание инвойса $request->description ='Краткое описание';//номер инвойса в учётной системе магазина/маркетплейса. $request->clientTransaction ='my-order-id-11';//создание нового инвойса $result = $monetaSdk->monetaService->Invoice($request);if (!$result['transaction']) {thrownewException(print_r($result,true)); }//номер операции: необходим для предоставления формы оплаты покупателюecho"Номер операции: ". $result['transaction'];} catch (Exception $e) {echo"Ошибка:<br />";echo"<pre>". $e->getMessage()."</pre>";}
2. Маркетплейс переводит покупателя на платежную форму MONETA.Assistant с параметром operationId, равным значению operationId базовой операции и с обязательным параметром MNT_SUBSCRIBER_ID: https://www.moneta.ru/assistant.htm?operationId=номер базовой операции&MNT_SUBSCRIBER_ID=12345
3. Маркетплейс создает операцию платежа методом InvoiceRequest с помощью интерфейса MONETA.MerchantAPI с параметром PAYMENTTOKEN, равным значению operationId базовой операции с ведущим нулем.
<?php$sdkAppFileName =__DIR__."/../moneta-sdk-lib/autoload.php";include_once($sdkAppFileName);try { $monetaSdk =new\Moneta\MonetaSdk(); $monetaSdk->checkMonetaServiceConnection(); $request =new\Moneta\Types\InvoiceRequest();//номер счёта плательщика (счёт для списания средств) в системе МОНЕТА.РУ. $request->payer ='';//номер счёта получателя (счёт для зачисления средств) в системе МОНЕТА.РУ. $request->payee ='';//сумма инвойса $request->amount ='12.00';//описание инвойса $request->description ='Инвойс только с вводом контрольных цифр';//номер инвойса в учётной системе магазина/маркетплейса. $request->clientTransaction ='my-order-id-12'; $operation =new\Moneta\Types\OperationInfo();//параметр должен содержать значение transaction базовой операции с добавлением ноля в начало строки $attribute =new\Moneta\Types\KeyValueAttribute(); $attribute->key ='PAYMENTTOKEN'; $attribute->value =''; $operation->addAttribute($attribute); $request->operationInfo = $operation;//создание нового инвойса $result = $monetaSdk->monetaService->Invoice($request);if (!$result['transaction']) {thrownewException(print_r($result,true)); }//номер операции: необходим для предоставления формы оплаты покупателюecho"Номер операции: ". $result['transaction'];} catch (Exception $e) {echo"Ошибка:<br />";echo"<pre>". $e->getMessage()."</pre>";}
4. Маркептлейс переводит покупателя на платежную форму MONETA.Assistant с параметром operationId, который был получен на третьем шаге и с обязательным параметром MNT_SUBSCRIBER_ID: https://www.moneta.ru/assistant.widget?operationId=98765432&MNT_SUBSCRIBER_ID=12345.
Параметр MNT_SUBSCRIBER_ID должен совпадать с аналогичным параметром в базовой операции, иначе оплата будет запрещена.
После перехода на платежную форму покупателю необходимо ввести CVV-код.
Запросы маркетплейс отправляет в рамках интерфейса MONETA.MerchantAPI.
Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.