Помощь Монетизация Единая Касса API

Chvalov

Гуру форума
Регистрация
31 Окт 2011
Сообщения
265
Реакции
81
Парни помогите переделать плагин Робокасы под Единую Кассу

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>";
?>
Оплата происходит, но вот как настроить чтобы результат оплаты возвращался обратно не знаю :-(
Ваш интернет-магазин, подключенный к сервису «Единая касса», не смог обработать уведомление об оплате заказа.

Адрес обработчика: Для просмотра ссылки Войди или Зарегистрируйся
Ошибка: Магазин вернул сообщение об ошибке

Ответ, полученный от вашего сервера:
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/" />
Текст ответа в этом письме может быть усечен до 500 символов.
Обратите внимание. Скрипт обрабатывающий уведомления должен передавать в ответе только два параметра — WMI_RESULT, WMI_DESCRIPTION и ничего больше.

Примеры корректного ответа:
PHP:
                                //Ответ об успешной обработке
WMI_RESULT=OK&WMI_DESCRIPTION=Order successfully processed
//Корректный ответ с уведомление об ошибке при обработке
WMI_RESULT=RETRY&WMI_DESCRIPTION=Сервер временно недоступен
Параметр WMI_RESULT должен принимать значение OK при успешной обработке, либо RETRY, если при его обработке произошла ошибка. В случае получения ответа с кодом RETRY запрос будет повторен позже.

Вот сам плагин который нужно допилять
 

Вложения

  • fix_addon-robo.zip
    284,7 KB · Просмотры: 17
Последнее редактирование модератором:
Назад
Сверху