Chvalov
Гуру форума
- Регистрация
- 31 Окт 2011
- Сообщения
- 265
- Реакции
- 81
- Автор темы
- #1
Парни помогите переделать плагин Робокасы под Единую Кассу
Оплата происходит, но вот как настроить чтобы результат оплаты возвращался обратно не знаю :-(
Вот сам плагин который нужно допилять
PHP:
<?php
if (isset($_POST['OutSum'], $_POST['_xfTokens'], $_POST['desc_info']))
{
$key = "ВАШ КЛЮЧ";
$fields = array();
$fields["WMI_MERCHANT_ID"] = "ВАШ ИД";
$fields["WMI_PAYMENT_AMOUNT"] = $_POST['OutSum'];
$fields["WMI_CURRENCY_ID"] = "840"; // Сделать пару вариантов, также дать возможность управлять с админки
$fields["WMI_PAYMENT_NO"] = $_POST['_xfTokens']; // Должен бить уникален (Генерировать с user_id и user_upgrade_id)
$fields["WMI_DESCRIPTION"] = "BASE64:".base64_encode($_POST['desc_info']);
$fields["WMI_EXPIRED_DATE"] = "2019-12-31T23:59:59"; // Дата должна зависеть от времени сесии (Обычно это 15 мин)
$fields["WMI_SUCCESS_URL"] = "http://illbreak.ru/account/upgrade-purchase";
$fields["WMI_FAIL_URL"] = "http://illbreak.ru";
foreach($fields as $name => $val)
{
if (is_array($val))
{
usort($val, "strcasecmp");
$fields[$name] = $val;
}
}
uksort($fields, "strcasecmp");
$fieldValues = "";
foreach($fields as $value)
{
if (is_array($value))
foreach($value as $v)
{
$v = iconv("utf-8", "windows-1251", $v);
$fieldValues .= $v;
}
else
{
$value = iconv("utf-8", "windows-1251", $value);
$fieldValues .= $value;
}
}
$signature = base64_encode(pack("H*", md5($fieldValues . $key)));
$fields["WMI_SIGNATURE"] = $signature;
print "<form action=\"https://merchant.w1.ru/checkout/default.aspx\" method=\"POST\">";
foreach($fields as $key => $val)
{
if (is_array($val))
foreach($val as $value)
{
print "$key: <input type=\"text\" name=\"$key\" value=\"$value\"/><br>";
}
else
print "$key: <input type=\"text\" name=\"$key\" value=\"$val\"/><br>";
}
}
print "<input type=\"submit\"/></form>";
?>
Ваш интернет-магазин, подключенный к сервису «Единая касса», не смог обработать уведомление об оплате заказа.
Адрес обработчика: Для просмотра ссылки Войдиили Зарегистрируйся
Ошибка: Магазин вернул сообщение об ошибке
Ответ, полученный от вашего сервера:
Примеры корректного ответа:
Адрес обработчика: Для просмотра ссылки Войди
Ошибка: Магазин вернул сообщение об ошибке
Ответ, полученный от вашего сервера:
Обратите внимание. Скрипт обрабатывающий уведомления должен передавать в ответе только два параметра — WMI_RESULT, WMI_DESCRIPTION и ничего больше.Текст ответа в этом письме может быть усечен до 500 символов.PHP:<!DOCTYPE html> <html id="XenForo" lang="ru-RU" dir="LTR" class="Public LoggedOut NoSidebar Responsive" xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <link href='http://fonts.googleapis.com/css?family=Cabin:400,500,400italic,500italic' rel='stylesheet' type='text/css'> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <base href="http://illbreak.ru/" />
Примеры корректного ответа:
Параметр WMI_RESULT должен принимать значение OK при успешной обработке, либо RETRY, если при его обработке произошла ошибка. В случае получения ответа с кодом RETRY запрос будет повторен позже.PHP://Ответ об успешной обработке WMI_RESULT=OK&WMI_DESCRIPTION=Order successfully processed //Корректный ответ с уведомление об ошибке при обработке WMI_RESULT=RETRY&WMI_DESCRIPTION=Сервер временно недоступен
Вот сам плагин который нужно допилять
Вложения
Последнее редактирование модератором: