.RU

WMer ru Payment Interfaces



WMer.ru – Сервис обмена электронных валют
WMer.ru Payment Interfaces: Receive Payment Interface and Send Payment Interface

Платежные интерфейсы WMer.ru:

Интерфейс получения платежа и Интерфейс отправки платежа
Определения
Сервис – Обменный пункт WMer.ru

Магазин или Продавец – Интернет сайт, являющийся клиентом Сервиса и желающий подключить платежные интерфейсы WMer.ru

Покупатель – Пользователь, желающий оплатить товар и/или услугу на сайте Магазина.
Receive Payment Interface (Интерфейс получения платежа) Общее описание
Интерфейсы сервиса Receive Payment Interface предоставляют возможность получения Магазином средств от Покупателя в предпочитаемой им электронной валюте в заданном им количестве (сумме).

Покупатель выбирает в он-лайн магазине Продавца товар, магазин подсчитывает сумму заказа в предпочитаемой Продавцом валюте и посылает запрос к серверу WMer.ru, на котором расположен сервис Receive Payment Interface. Покупатель выбирает на сайте Продавца или на странице Сервиса Receive Payment Interface валюту платежа и приступает к платежу, нажав на кнопку оплаты. Сразу после оплаты заказа Покупателем в выбранной им валюте, производится конвертация полученных средств в валюту, предпочитаемую Продавцом и производится исходящий платеж в этой валюте на его счет в соответствующей платежной системе, указанный в настройках платежа в Сервисе.

После завершения операции в зависимости от ее исхода Покупатель перенаправляется на страницу исполненного платежа (в случае если он осуществил оплату), либо на страницу неисполненного (если он отказался от оплаты).

Сервис Receive Payment Interface построен таким образом, что, в отличие от случая «подключения» непосредственно к серверу платежной системы, отпадает необходимость в усиленной защите данных в процессе обмена. Для интеграции кассы Receive Payment Interface в сайт магазина, он-лайн казино или сайт предоставляющий платный доступ к контенту нет необходимости в установлении исходящих SSL соединений, подключении дополнительных компонент на сервере Магазина и т.п. В этом заключено главное преимущество применения системы Receive Payment Interface.


Продавец может узнать у системы Receive Payment Interface состояние операции оплаты, а также действующие в системе курсы обмена. Для этого используются XML интерфейсы, описанные в соответствующем разделе данного документа.


После оплаты обменный пункт отправляет сообщение магазину путем вызова ResultURL и передачей ему методом POST параметров совершенного платежа, а также подписи, сформированной по параметрам оплаченного Заказа и паролю платежа магазина.

^ Регистрационные данные Продавца
Для получения оплаты за товары и/или услуги на своем сайте, Продавцу необходимо заполнить форму «Настройки приема платежа» в меню «Настройки платежей» аккаунта.

Параметры формы: Валюта внешнего счета и номер внешнего счета, все остальные параметры передаются вместе с платежом.

В целях безопасности, редактировать указанные данные запрещено.
^ Интерфейс оплаты 1. Инициация оплаты

Магазин отправляет пользователя по данному адресу для произведения им оплаты. Предварительно магазин должен у себя запомнить счет (номер, сумма, дата формирования).


URL: https://www.wmer.ru/ru/moneypool,merchant/


Параметры запроса (метод POST либо GET):

SYSTEM_NAME=sSystemName&

PAYMENT_USERNAME=sPaymentUsername&

PAYMENT_ORDER_ID=nPaymentOrderId&

PAYMENT_AMOUNT=nPaymentAmount&

PAYMENT_DESCRIPTION=sPaymentDescription&

RESULT_URL=sResultUrl&

SUCCESS_URL=sSuccessUrl&

FAIL_URL=sFailUrl&

SIGN=sSIGN

[&любые параметры магазина начинающиеся с param_]

[&SOURCE_CURRENCY=sSourceCurrency]


sSystemName – наименование получателя платежа. Отображается Покупателю на странице выбора валюты платежа при оплате товара и/или услуги Магазина.

sPaymentUsername – login Магазина в обменном пункте

sPaymentPassword – MD5 строка от пароля платежа Магазина в обменном пункте.

nPaymentOrderId – номер счета в магазине. Должен быть уникальным для магазина.

nPaymentAmount – сумма, которую получит Продавец в указанной в настройках платежа валюте. Формат представления числа – разделитель точка.

sPaymentDescription – описание покупки, можно использовать только английские или русские символы, цифры и знаки препинания.

sResultUrl – URL оповещения о платеже. На этот URL направляется оповещение после совершения оплаты Покупателем. Может содержать как http адрес вашего скрипта, производящего автоматический учет платежа и дальнейшую его обработку, так и email адрес, на который будет приходить письмо с параметрами платежа. В последнем случае sResultUrl должен иметь вид mailto:example@example.ru.

sSuccessUrl – URL страницы успешно проведенного платежа. На этот URL перенаправляется Покупатель после совершения оплаты.

sFailUrl – URL страницы неисполненного платежа. На этот URL перенаправляется Покупатель при отмене оплаты.

sSIGN – контрольная сумма MD5 - строка представляющая собой 32-разрядное число в 16-ричной форме и нижнем регистре (всего 32 символа 0-9, a-f). Формируется по строке, содержащей все обязательные параметры, разделенные ‘::’, т.е.

sSystemName::sPaymentUsername::sPaymentPassword::nPaymentOrderId:: nPaymentAmount::sPaymentDescription::sResultUrl::sSuccessUrl::sFailUrl [::пользовательские параметры]

sSourceCurrency - код входящей валюты.


Покупатель отправляется на сайт оплаты Receive Payment Interface, после чего платеж в выбранной Продавцом валюте перечисляется (поступает) на его счет в выбранной им платежной системе.
^ 2. Оповещение об оплате (ResultURL)

На Result URL направляется 2 запроса, первый – предварительный, для уточнения возможности приема платежа Магазином, второй – оповещение об успешном приеме платежа от Покупателя.

При предварительном запросе, Сервис проводит запрос на Result URL, с указанием следующих параметров (методом POST):

SYSTEM_NAME=sSystemName&

PAYMENT_ORDER_ID=nPaymentOrderId&

PAYMENT_AMOUNT=nPaymentAmount&

PAYMENT_DESCRIPTION=sPaymentDescription&

RESULT_URL=sResultUrl&

SUCCESS_URL=sSuccessUrl&

FAIL_URL=sFailUrl&

PREVIEW=1

[&любые параметры магазина начинающиеся с param_]


sSystemName – наименование получателя платежа. Это значение берется из параметра SYSTEM_NAME в форме инициации оплаты.

nPaymentOrderId – номер счета в магазине. Это значение берется из параметра PAYMENT_ORDER_ID в форме инициации оплаты.

nPaymentAmount – сумма, которую получит Продавец в указанной в настройках платежа валюте. Формат представления числа – разделитель точка. Это значение берется из параметра PAYMENT_AMOUNT в форме инициации оплаты.

sPaymentDescription – описание покупки, берется из параметра PAYMENT_DESCRIPTION в форме инициации оплаты.

sResultUrl – URL оповещения о платеже, берется из RESULT_URL в форме инициации оплаты.

sSuccessUrl – URL страницы успешно проведенного платежа, берется из SUCCESS_URL в форме инициации оплаты.

sFailUrl – URL страницы неисполненного платежа, берется из FAIL_URL в форме инициации оплаты.

В предварительном запросе передается параметр PREVIEW=1


Скрипт, находящийся по Result URL должен проверить правильность переданных параметров и соответствия суммы платежа ожидаемой сумме. Если все верно, скрипт должен вернуть строку “__YES__”, в противном случае “__NO__”

В случае успешного проведения оплаты Сервис проводит запрос по Result URL, с указанием следующих параметров (методом POST):

SYSTEM_NAME=sSystemName&

PAYMENT_USERNAME=sPaymentUsername&

PAYMENT_ORDER_ID=nPaymentOrderId&

PAYMENT_STATUS=nPaymentStatus&

PAYMENT_AMOUNT=nPaymentAmount&

PAYMENT_DESCRIPTION=sPaymentDescription&

RESULT_URL=sResultUrl&

SUCCESS_URL=sSuccessUrl&

FAIL_URL=sFailUrl&

SIGN=sSIGN&

DATETIME=dDateTime

[&параметры магазина начинающиеся с param_]


sSystemName – наименование получателя платежа. Это значение берется из параметра SYSTEM_NAME в форме инициации оплаты.

sPaymentUsername – login Магазина в обменном пункте. Это значение берется из параметра PAYMENT_USERNAME в форме инициации оплаты.

sPaymentPassword – MD5 строка от пароля платежа Магазина в обменном пункте.

nPaymentOrderId – номер счета в магазине. Это значение берется из параметра PAYMENT_ORDER_ID в форме инициации оплаты.

nPaymentStatus – Статус платежа. Может содержать два значения: 2 – платеж принят, деньги отправлены Продавцу на реквизиты, указанные в настройках платежа; 3 – платеж принят, но передать их Продавцу не удалось из за ошибки, в этом случае деньги переводятся по текущему курсу на внутренний счет в Сервисе, от куда их можно снять в любое время.

nPaymentAmount – сумма, которую получит Продавец в указанной в настройках платежа валюте. Формат представления числа – разделитель точка. Это значение берется из параметра PAYMENT_AMOUNT в форме инициации оплаты.

sPaymentDescription – описание покупки, берется из параметра PAYMENT_DESCRIPTION в форме инициации оплаты.

sResultUrl – URL оповещения о платеже, берется из RESULT_URL в форме инициации оплаты.

sSuccessUrl – URL страницы успешно проведенного платежа, берется из SUCCESS_URL в форме инициации оплаты.

sFailUrl – URL страницы неисполненного платежа, берется из FAIL_URL в форме инициации оплаты.

dDateTime – дата и время платежа. В формате ГГГГММДДЧЧММСС. В sSIGN не входит

sSIGN – контрольная сумма MD5 - строка представляющая собой 32-разрядное число в 16-ричной форме и нижнем регистре (всего 32 символа 0-9, a-f). Формируется по строке, содержащей все обязательные параметры, разделенные ‘::’, т.е.

sSystemName::sPaymentUsername::sPaymentPassword::nPaymentOrderId:: nPaymentStatus::nPaymentAmount::sPaymentDescription::sResultUrl::sSuccessUrl::sFailUrl [::пользовательские параметры]


К примеру, если при инициации операции были переданы пользовательские параметры param_a=xxx и param_b=yyy, то подпись формируется из строки

...::sFailUrl:: param_a=xxx:: param_b=yyy

Скрипт, находящийся по Result URL должен проверить правильность контрольной суммы и соответствия суммы платежа ожидаемой сумме. При формировании строки подписи учтите формат представления суммы (в строку при проверке подписи вставляйте именно полученное значение, без какого-либо форматирования).


Данный запрос производится после получения денег, однако, до того как пользователь сможет перейти на Success URL. Перед скриптом магазина, расположенным по Success URL обязательно отрабатывает скрипт запроса к Result URL.


Факт успешности сообщения магазину об исполнении операции определяется по результату, возвращаемому обменному пункту. Результат должен содержать “__YES__”.


В случае невозможности связаться со скриптом по адресу Result URL (связь прерывается по time-out-у либо по отсутствию DNS-записи, либо получен не ожидаемый ответ) деньги зачисляются на внутренний счет в Сервисе, по текущему курсу, и запрос Result URL считается завершенным успешно. В случае системаческого отсутствия связи между серверами магазина и обменного пункта лучше использовать метод определения оплаты с применением интерфейсов XML, а самый желательный и защищенный способ - совмещенный.

^ 3. Переадресация пользователя при успешной оплате (SuccessURL)

В случае успешного исполнения платежа Покупатель может перейти по данному адресу.

Методом POST будут переданы следующие параметры:

SYSTEM_NAME=sSystemName&

PAYMENT_USERNAME=sPaymentUsername&

PAYMENT_ORDER_ID=nPaymentOrderId&

PAYMENT_STATUS=nPaymentStatus&

PAYMENT_AMOUNT=nPaymentAmount&

PAYMENT_DESCRIPTION=sPaymentDescription&

RESULT_URL=sResultUrl&

SUCCESS_URL=sSuccessUrl&

FAIL_URL=sFailUrl&

SIGN=sSIGN

[&параметры магазина начинающиеся с param_]


sSystemName – наименование получателя платежа. Это значение берется из параметра SYSTEM_NAME в форме инициации оплаты.

sPaymentUsername – login Магазина в обменном пункте. Это значение берется из параметра PAYMENT_USERNAME в форме инициации оплаты.

sPaymentPassword – MD5 строка от пароля платежа Магазина в обменном пункте.

nPaymentOrderId – номер счета в магазине. Это значение берется из параметра PAYMENT_ORDER_ID в форме инициации оплаты.

nPaymentStatus – Статус платежа. Может содержать два значения: 2 – платеж принят, деньги отправлены Продавцу на реквизиты, указанные в настройках платежа; 3 – платеж принят, но передать их Продавцу не удалось из за ошибки, в этом случае деньги переводятся по текущему курсу на внутренний счет в Сервисе, от куда их можно снять в любое время.

nPaymentAmount – сумма, которую получит Продавец в указанной в настройках платежа валюте. Формат представления числа – разделитель точка. Это значение берется из параметра PAYMENT_AMOUNT в форме инициации оплаты.

sPaymentDescription – описание покупки, берется из параметра PAYMENT_DESCRIPTION в форме инициации оплаты.

sResultUrl – URL оповещения о платеже, берется из RESULT_URL в форме инициации оплаты.

sSuccessUrl – URL страницы успешно проведенного платежа, берется из SUCCESS_URL в форме инициации оплаты.

sFailUrl – URL страницы неисполненного платежа, берется из FAIL_URL в форме инициации оплаты.

sSIGN – контрольная сумма MD5 - строка представляющая собой 32-разрядное число в 16-ричной форме и нижнем регистре (всего 32 символа 0-9, a-f). Формируется по строке, содержащей все обязательные параметры, разделенные ‘::’, т.е.

sSystemName::sPaymentUsername::sPaymentPassword::nPaymentOrderId:: nPaymentStatus::nPaymentAmount::sPaymentDescription::sResultUrl::sSuccessUrl::sFailUrl [::пользовательские параметры]


К примеру, если при инициации операции были переданы пользовательские параметры param_a=xxx и param_b=yyy, то подпись формируется из строки

...::sFailUrl:: param_a=xxx:: param_b=yyy


Переход пользователя по данному адресу с корректными параметрами (соответствия SIGN) означает, что платеж по реквизитам Продавца выполнен успешно. Сервис несет финансовую ответственность перед Продавцом в соответствии с Соглашением за достоверность такого подтверждения.

Однако для дополнительной защиты желательно, чтобы факт оплаты платежа проверялся скриптом исполняемым при переходе на Result URL, или путем запроса XML-интерфейса о результате данной платежной операции, и только при реальном наличии счета с номером nPaymentOrderId в БД магазина.

^ 4. Переадресация пользователя при отказе от оплаты (FailURL)

В случае отказа от исполнения платежа Покупатель перенаправляется по данному адресу.

Для того, чтобы Продавец мог разблокировать заказанный товар на складе при отказе от его оплаты методом POST, будет передан параметр:

PAYMENT_ORDER_ID=nPaymentOrderId


nPaymentOrderId – номер счета в магазине


Переход пользователя по данному адресу не означает окончательного отказа Покупателя от оплаты, нажав кнопку «Back» в броузере он может вернуться на страницы Receive Payment Interface. Поэтому в случае блокировки товара на складе под заказ для его разблокировки желательно проверять факт отказа от платежа запросом XML-интерфейса о результате данной платежной операции, используя в запросе номер счета nPaymentOrderId имеющийся в БД магазина (Продавца).

^ XML интерфейсы


1. Список валют обменного пункта.

По данному запросу Сервисом предоставляется полный список наименований электронных валют


URL: http://www.wmer.ru/ru/moneypool,dyn,currency/


Параметров нет.

Ответ:





sCurrencyCode

sCurrencyName






Тегов может быть несколько, каждый из них описывает 1 валюту.


sCurrencyCode – код входящей валюты

sCurrencyName – наименование входящей валюты (это наименование можно показывать пользователю).

^ 2. Получение списка курсов обмена

URL: http://www.wmer.ru/ru/moneypool,dyn,rate/


Параметры запроса (метод POST):



sSourceCurrency

sResultCurrency

nResultCount




sSourceCurrency – код входящей валюты, если не указана будут возвращены курсы по всем возможным валютам

sResultCurrency – код исходящей валюты

nResultCount - количество денежных знаков исходящей валюты, по которым формировать количество входных денежных знаков.


Ответ:



nErrorCode

sResultCurrency

nResultCount

sDateTime





sSourceCurrencyCode

sSourceCurrencyName

nValue

nSourceCount



...






nErrorCode - код возврата.

-100 – неверно сформирован запрос

(не все требуемые параметры заданы, либо запрос не разобран вовсе)

0 – нет ошибки.

-1 – sSourceCurrency задан неверно

-2 – sResultCurrency задан неверно

-3 – nResultCount задан неверно


sResultCurrency – код исходящей валюты

nResultCount – количество денежных знаков исходящей валюты, по которым формировать количество входных денежных знаков

sDateTime – дата, на которую возвращено состояние курсов. В формате “yyyy-mm-dd hh:mm:ss”, GMT+3(Москва).


Тегов может быть несколько (особенно если в запросе не указан ), каждый из них описывает 1 курс.


sSourceCurrencyCode – код входящей валюты

sSourceCurrencyName – имя входящей валюты (это наименование можно показывать пользователю).

nValue – количество денежных знаков входящей валюты, приходящиеся на 1 денежный знак исходящей валюты (sResultCurrency), без округлений до элементарных единиц входящей валюты.

nSourceCount – количество денежных знаков входящей валюты, которые пользователь должен оплатить для получения магазином nResultCount - денежных знаков исходящей валюты (sResultCurrency). Округлено до элементарных единиц входящей валюты.


Необходимо помнить, что при самостоятельном расчете требуемой входящей суммы возможны различные ошибки округления, а также тот факт, что курс обменного пункта может измениться с момента скачивания его магазином и отображения пользователю до момента перехода пользователем на оплату.

^ 3. Интерфейс получения состояния операций

URL: https://www.wmer.ru/ru/moneypool,dyn,rpistateop/


Параметры запроса (метод POST):



sLogin

nOrderId

sSign




sLogin – login магазина в обменном пункте

nOrderId – Номер счета в магазине, состояние которого требуется получить

sSign – контрольная сумма MD5 - строка представляющая собой 16-разрядное число в 16-ричной форме и нижнем регистре (всего 32 символа 0-9, a-f). Формируется по строке, содержащей все обязательные параметры, разделенные ‘::’, с добавлением md5 от пароля платежа (указывается при регистрации) т.е.

sLogin::nOrderId::md5(пароль платежа)


Ответ:



nErrorCode

sDateTime

sResultCurrency

nResultCount

nStatus




nErrorCode - код возврата.

-100 - неверно сформирован запрос

(не все требуемые параметры заданы, либо запрос не разобран вовсе)

0 - нет ошибки.

-1 – sign подпись не верна

-2 - orderid не задан либо задан не верно

-3 - указанный sLogin не найден

-4 - операция с данным nOrderId не найдена


sDateTime – дата завершения операции. В формате “yyyy-mm-dd hh:mm:ss”.

sResultCurrency – код исходящей валюты

nResultCount – количество денежных знаков исходящей валюты данной операции

nStatus - состояние операции:

0 – не оплачена

1 – оплачена Покупателем, но еще не завершена, т.е. деньги не отправлены Продавцу

2 – завершена. Деньги отправлены Продавцу

3 – деньги получены от Покупателя, но при попытке переслать Продавцу произошла ошибка. Деньги зачислены на внутренний счет в системе.

4 – операция отменена

5 – операция в процессе обработки


Необходимо помнить, что операция инициируется не в момент ухода пользователя на оплату, а позже - после подтверждения его платежных реквизитов, т.е. вы вполне можете не находить операцию, которая по вашему мнению уже должна начаться.
^ Примеры PHP Формирование URL переадресации пользователя на оплату

$params = array(

'SYSTEM_NAME' => 'Наименование магазина',

'PAYMENT_USERNAME' => 'example',

'PAYMENT_PASSWORD' => md5('abcdefg'),

^ 'PAYMENT_ORDER_ID' => '1',

'PAYMENT_AMOUNT' => '10',

'PAYMENT_DESCRIPTION' => 'Описание платежа',

'RESULT_URL' => 'Result URL',

'SUCCESS_URL' => 'Success URL',

'FAIL_URL' => 'Fail URL',

'param_param1' => 'Пользовательский параметр',

'param_param2' => 'Пользовательский параметр'

);

$params['SIGN'] = md5(implode('::',$params));

unset($params['PAYMENT_PASSWORD']);

$form = '';

foreach ($params as $k => $v) {

$form .= '';

}

$form .= '';


echo $form;
^ Проверка параметров в скрипте уведомления об операции (Result URL)

$payment_username = 'example';

$payment_password = md5('abcdefg');

if($_POST['PREVIEW']){ // Обработка предварительного запроса

if ($_POST[‘PAYMENT_AMOUNT’] != ‘10’){

echo “__NO__”

die;

}

echo "__YES__";

}else{

$hash_pattern=

'SYSTEM_NAME::payment_username::payment_password::PAYMENT_ORDER_ID::PAYMENT_STATUS::PAYMENT_AMOUNT::PAYMENT_DESCRIPTION::RESULT_URL::SUCCESS_URL::FAIL_URL';

$hash_source = '';

$e = explode('::',$hash_pattern);

for ($i = 0,$s = sizeof($e); $i < $s; ++$i){

if ($e[$i] == 'payment_password') {$hash_source .= $payment_password;}

elseif($e[$i]=='payment_username'){$hash_source .= $payment_username;}

else{

$hash_source .= strval($_POST[$e[$i]]);

}

if ($i+1 < $s) {$hash_source .= '::';}

}

foreach($_REQUEST as $k => $v){

if(preg_match('~^param_[a-z0-9]+~', $k)) $hash_source .= '::'.$v;

}

$hash = md5($hash_source);

if ($hash != $_REQUEST['SIGN']) {echo "__NO__"; die;}

if ($_REQUEST['PAYMENT_STATUS'] != 2 && $_REQUEST['PAYMENT_STATUS'] != 3) {echo "__NO__"; die;}

… Необходимые действия по обработке платежа …

echo "__YES__";

}

^ Запрос состояния операции
$addr = 'https://www.wmer.ru/ru/moneypool,dyn,rpistateop/';

$login='example';

$payment_password=md5('abcdefg');

$orderid = 20;

$sign = md5($login.'::'.$orderid.'::'.$payment_password);

$xml =

'

'.$login.'

'.$orderid.'

'.$sign.'

';

$plain = fetch($addr,$xml);

echo $plain;


function fetch($addr,$params)

{

$ch = curl_init($addr);

curl_setopt($ch,CURLOPT_HEADER,0);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,$params);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYRESULT, 0);


$result = curl_exec($ch);

if (curl_errno($ch) != 0) {echo 'CURL_error: '.curl_errno($ch).', '.curl_error($ch); return FALSE;}

curl_close($ch);

return $result;

}


^ Send Payment Interface (Интерфейс отправки платежа) Общее описание
Интерфейсы сервиса Send Payment Interface предоставляют возможность отправки средств от Магазина своим пользователям в предпочитаемой пользователем электронной валюте и в заданном им количестве (сумме).

Пользователь указывает в он-лайн магазине Продавца валюту, счет в этой валюте и указывает сумму, магазин посылает запрос к серверу WMer.ru, на котором расположен сервис Send Payment Interface. Сервис производит исходящий платеж по указанным реквизитам. При этом со счета Магазина в Сервисе списывается сумма, по текущему курсу обмена, соответствующая отправленной сумме.

Сервис Send Payment Interface построен таким образом, что, в отличие от случая «подключения» непосредственно к серверу платежной системы, отпадает необходимость в усиленной защите данных в процессе обмена. Для интеграции механизма Send Payment Interface c сайтом магазина нет необходимости в установлении исходящих SSL соединений, подключении дополнительных компонент на сервере Магазина и т.п. В этом заключено главное преимущество применения системы Send Payment Interface.

Магазин может узнать у системы Send Payment Interface состояние операции выплаты, а также действующие в системе курсы обмена. Для этого используются XML интерфейсы, описанные в соответствующем разделе данного документа, в описании Receive Payment Interface.

^ Регистрационные данные Магазина
Для осуществления отправки платежей со своего аккаунта необходимо заполнить форму «Настройки отправки платежа» в меню «Настройки платежей» аккаунта.

В форме требуется указать только один параметр: IP сервера, с которого будет происходить подключение, для осуществления отправки платежей. В ответ будет сгенерирован ключ авторизации, он будет использоваться для подтверждения верности инициатора платежа. Никому не передавайте его. Он должен быть известен только Сервису и Магазину. Способы использования ключа авторизации приведены в разделе Примеры данной части руководства.
^ Интерфейс оплаты Инициация оплаты

Параметры запроса (метод POST либо GET):


URL: https://www.wmer.ru/ru/moneypool,dyn,api,operation/


username=sUserName&

order_id=nOrderId&

d_currency=sResultCurrency&

d_purse=sResultPurse&

d_amount=nAmount&

description=sDescription&

SIGN=sSign


sUserName – логин пользователя в Сервисе WMer.ru

nOrderId – номер счета в магазине. Должен быть уникальным для магазина.

sResultCurrency – конечная валюта. Та валюта в которой получит пользователь

sResultPurse – номер счета в валюте sResulCurrency

nAmount – сумма, которую получит пользователь в валюте sResulCurrency. Формат представления числа – разделитель точка

sDescription – описание платежа.

sSign – контрольная сумма MD5 - строка представляющая собой 32-разрядное число в 16-ричной форме и нижнем регистре (всего 32 символа 0-9, a-f). Формируется по строке, содержащей все обязательные параметры, разделенные ‘::’, т.е.

sUserName::sAuthKey::nOrderId::sResultCurrency::sResultPurse::nAmount::sDescription

sAuthKey – авторизационный ключ, выдаваемый Сервисом в настройках платежа


Ответ:



nErrorCode

nOperationId

nOrderId

nSourceAmount

nResultAmount

nStatus

nBalance




nErrorCode – код ошибки.

0 – ошибок нет.

-1 – Не задан параметр username.

-2 – Пользователь не найден

-3 – Неверная подпись (источник не подтвержден)

-4 – Неверное поле d_amount

-5 – Неверное поле d_currency

-6 – Неверный формат счета-получателя

-7 – Недостаточно средств для совершения операции

-8 – Операция с таким номером (order_id) уже существует

-9 – Недостаточно денег для совершения операции.

404 – URL не найден

nOperationId – номер операции в системе обменного пункта.

nOrderId – номер операции в магазине. Этот параметр взят из запроса order_id

nSourceAmount – сумма, которая списалась со счета магазина в Сервисе. Формат представления числа – разделитель точка

nResultAmount – сумма, которая отправлена получателю. Формат представления числа – разделитель точка

nStatus – статус операции.

2 – завершена. Деньги отправлены пользователю

3 – ошибка при отправке денег пользователю.

nBalance – остаток денежных средств на балансе магазина. Счет ведется во внутренней валюте Account USD

^ XML интерфейсы Получение баланса

Параметры запроса (метод POST либо GET):


URL: https://www.wmer.ru/ru/moneypool,dyn,api,balance/


username=sUserName&

SIGN=sSign


sUserName – логин пользователя в Сервисе WMer.ru

sSign – контрольная сумма MD5 - строка представляющая собой 32-разрядное число в 16-ричной форме и нижнем регистре (всего 32 символа 0-9, a-f). Формируется по строке, содержащей все обязательные параметры, разделенные ‘::’, т.е.

sUserName::sAuthKey

sAuthKey – авторизационный ключ, выдаваемый Сервисом в настройках платежа


Ответ:



nErrorCode

nBalance




nErrorCode – код ошибки.

0 – ошибок нет.

-1 – Не задан параметр username.

-2 – Пользователь не найден

-3 – Неверная подпись (источник не подтвержден)

404 – URL не найден

nBalance – остаток денежных средств на балансе магазина. Счет ведется во внутренней валюте Account USD

^ Интерфейс получения состояния операций

URL: https://www.wmer.ru/ru/moneypool,dyn,api,spistateop/


Параметры запроса (метод POST):

username=sUserName&

orderid=nOrderId&

sign=sSign


sUserName – login магазина в обменном пункте

nOrderId – Номер счета в магазине, состояние которого требуется получить

sSign – контрольная сумма MD5 - строка представляющая собой 16-разрядное число в 16-ричной форме и нижнем регистре (всего 32 символа 0-9, a-f). Формируется по строке, содержащей все обязательные параметры, разделенные ‘::’, с добавлением md5 от пароля платежа (указывается при регистрации) т.е.

sLogin::nOrderId:: sAuthKey

sAuthKey – авторизационный ключ, выдаваемый Сервисом в настройках платежа


Ответ:



nErrorCode

sDateTime

nSourceCount

sResultCurrency

nResultCount

nStatus




nErrorCode - код возврата.

0 - нет ошибки.

-1 – Не задан параметр username.

-2 – Пользователь не найден

-3 – Неверная подпись (источник не подтвержден)

-4 – Не задан параметр orderid

-5 – Операция с номером orderid не найдена

404 – URL не найден

sDateTime – дата завершения операции. В формате “yyyy-mm-dd hh:mm:ss”.

nSourceCount – количество денежных знаков входящей валюты данной операции, т.е. сумма, списанная со счета магазина.

sResultCurrency – код исходящей валюты

nResultCount – количество денежных знаков исходящей валюты данной операции. Т.е. количество (сумма) денег, отправленная получателю.

nStatus - состояние операции:

2 – завершена. Деньги отправлены Продавцу

3 – деньги получены от Покупателя, но при попытке переслать Продавцу произошла ошибка. Деньги зачислены на внутренний счет в системе.
^ Примеры PHP
$api = new API_moneypool;

// Получение баланса

echo $api->balance();

// Перевод средств пользователю

echo $api->operation();

// Статус операции

echo $api->getstatusop();

class API_moneypool

{

var $username = 'example'; // Укажите ваше имя пользователя в Сервисе

var $auth_key = '1234567890ABCDEFGHIGKLMNOP'; // Ключ авторизации, выдаваемый вам в разделе «Настройки платежей» в Сервисе WMer.ru

var $server_url = 'https://www.wmer.ru/ru/';

function gen_sign($params = array()) {return md5(implode('::',$params));}

function balance()

{

$addr = 'moneypool,dyn,api,balance';

$params = array(

'username' => $this->username,

'auth_key' => $this->auth_key

);

$params['SIGN'] = $this->gen_sign($params);

unset($params['auth_key']);

$plain = $this->fetch($this->server_url.$addr,$params);

return $plain;

}

function operation()

{

$addr = 'moneypool,dyn,api,operation';

$params = array(

'username' => $this->username,

'auth_key' => $this->auth_key,

'order_id' => 16,

'd_currency' => 'WMZ',

'd_purse' => 'Z123456789123',

'd_amount' => '0.01',

'description'=> 'Описание платежа'

);

$params['SIGN'] = $this->gen_sign($params);

unset($params['auth_key']);

$plain = $this->fetch($this->server_url.$addr,$params);

return $plain;

}

function getstatusop()

{

$addr = 'moneypool,dyn,api,spistateop';

$params = array(

'username' => $this->username,

'orderid' => 1,

'auth_key' => $this->auth_key

);

$params['SIGN'] = $this->gen_sign($params);

unset($params['auth_key']);

$plain = $this->fetch($this->server_url.$addr,$params);

return $plain;

}

function fetch($addr,$params = array())

{

$ch = curl_init($addr);

curl_setopt($ch,CURLOPT_HEADER,0);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($params));

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

$result = curl_exec($ch);

if (curl_errno($ch) != 0) {$this->last_error = 'CURL_error: '.curl_errno($ch).', '.curl_error($ch); return FALSE;}

curl_close($ch);

return $result;

}

}




v-f-tendryakova-magistersk-diplomov-prce-stranica-4.html
v-f-tendryakova-magistersk-diplomov-prce-stranica-9.html
v-g-marancman-schitaet-chto-chichikov-rodstven-myortvim-dusham-yavlyaetsya-ih-zerkalom-potomu-proizvodit-na-nih-priyatnoe-vpechatlenie.html
v-gorode-tveri.html
v-gosudarstvennoj-dume-gosduma-rf-monitoring-smi-21-fevralya-2008-g.html
v-hlebnikov.html
  • control.bystrickaya.ru/dolgosrochnaya-celevaya-programma-semya-i-deti-na-2012-2015-godi-i-pasport-stranica-16.html
  • zanyatie.bystrickaya.ru/syuzhet.html
  • assessments.bystrickaya.ru/bibliotechnoe-obsluzhivanie-naseleniya-v-municipalnih-bibliotekah.html
  • uchit.bystrickaya.ru/t-e-m-a-23-reabilitaciya-uchebno-metodicheskoe-posobie-penza-izdatelstvo-penzenskogo-gosudarstvennogo.html
  • esse.bystrickaya.ru/rabochej-programmi-kursa-fiziki-10-klassa-profilnij-uroven-5-chasov-v-nedelyu-vsego-170-chasov-stranica-4.html
  • laboratory.bystrickaya.ru/zemskie-sobori.html
  • essay.bystrickaya.ru/doklad-g-zherdevka-2010-g.html
  • predmet.bystrickaya.ru/spisok-literaturi-v-dianov-osobennosti-pr-tehnologij-knizhnih-magazinov-rossii-2007.html
  • report.bystrickaya.ru/idei-ls-vigotskogo-v-razvitii-metodov-psihologicheskoj-gomel-19-20-aprelya-2012-goda-osnovan-v-2009-godu-vipusk.html
  • control.bystrickaya.ru/cpi-pavlodskij-ea-obshaya-teoriya-gosudarstva-i-prava.html
  • essay.bystrickaya.ru/dva-filosofskih-vvedeniya-v-dvadcat-pervij-vek-stranica-27.html
  • credit.bystrickaya.ru/otmetina-satani-centralnom-dome-literatorov-prohodyat-odin-raz-v-mesyac-kazhduyu-tretyu-subbotu-sajt-klf-www-fantast.html
  • laboratornaya.bystrickaya.ru/rabochaya-programma-naimenovanie-disciplini-fizicheskaya-i-kolloidnaya-himiya.html
  • shpargalka.bystrickaya.ru/vechernyaya-ufa-ufa-14012011-pensionnie-namereniya-monitoring-smi-rf-po-pensionnoj-tematike-17-yanvarya-2011-goda.html
  • institut.bystrickaya.ru/svod-pravil-pravila-proektirovaniya-stroitelstva-i-rekonstrukcii-nastoyashij-proekt-svoda-pravil-ne-podlezhit-primeneniyu.html
  • notebook.bystrickaya.ru/kataliz-himicheskih-processov.html
  • textbook.bystrickaya.ru/kak-prodavat-cherez-internet-krupnie-i-dorogie-veshi-porabotali-s-vozrazheniyami-skeptikov.html
  • esse.bystrickaya.ru/razdel-2-osushestvlenie-deyatelnosti-v-sootvetstvii-s-polozheniem-o-departamente-informacionnihtehnologij-avtonomnogo-okruga.html
  • institute.bystrickaya.ru/gorkij-dim-otechestva-gazeta-tribuna-02062011-rossijskie-smi-o-mchs-monitoring-za-2-iyunya-2011-g.html
  • student.bystrickaya.ru/22-prakticheskie-zanyatiya-ih-soderzhanie-celi-zadachi-obem-v-chasah.html
  • shpargalka.bystrickaya.ru/ustanovlenie-istini-spori-ob-istine-to-est-o-tochnosti-opisaniya-vstrechayutsya-po-preimushestvu-v-nauke-no-i-tam-neredko-perehodyat-v-spori-o-cennostyah-po-sredstvam.html
  • nauka.bystrickaya.ru/ulyanovskaya-oblast-zhdet-investorov-samarci-otkazalis-ot-proestate-21-istochnik-novosti-rinka-nedvizhimosti-samara.html
  • assessments.bystrickaya.ru/chto-v-imeni-tvoyom.html
  • uchenik.bystrickaya.ru/glava-3-izdatelstvo.html
  • uchenik.bystrickaya.ru/7-podklyuchenie-k-seti-internet-konspekt-lekcij-po-discipline-kompyuternie-seti-i-telekommunikacii.html
  • essay.bystrickaya.ru/buhgalterskij-uchet-tovarov-i-skidok-v-roznichnoj-torgovle.html
  • occupation.bystrickaya.ru/mnenie-studentov-o-sluchayah-narusheniya-socialnoj-spravedlivosti-v-vuzah.html
  • klass.bystrickaya.ru/armia-austro-wegierska-1908-1918-warszawa-1992-stranica-3.html
  • uchenik.bystrickaya.ru/bani-drevnej-rusi.html
  • writing.bystrickaya.ru/bit-i-obichai-xix-veka.html
  • write.bystrickaya.ru/glava-22-aleksandr-men-istoriya-religii-tom-2.html
  • paragraph.bystrickaya.ru/komu-prednaznachena-eta-kniga-unmasking-the-face.html
  • literature.bystrickaya.ru/derektanu-teoriyasi.html
  • tetrad.bystrickaya.ru/uchebno-metodicheskij-kompleks-inostrannih-yazikov-lingvistika.html
  • paragraf.bystrickaya.ru/zadachi-master-klassa-slajd-3.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.