Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: GetServerUrl и GetSuccessPage

  1. #1
    Senior Member Аватар для Виктор
    Регистрация
    27.08.2008
    Адрес
    MGNHost.ru
    Сообщений
    3,265

    По умолчанию GetServerUrl и GetSuccessPage

    Здравствуйте,

    Т.к. в документации нет описания GetServerUrl и GetSuccessPage, возник вопрос.
    Если у платёжной системы в API только successUrl и failUrl, то в функции DoSubmit, пишем только:

    Код:
    " document.successUrl.value = '" + GetServerUrl() + "/mancgi/paymentresult';\n"
    или

    Код:
    " document.successUrl.value = '" + GetServerUrl() + "/mancgi/paymentresult';\n"
    " document.successUrl.value = '" + GetSuccessPage() + "';\n"

  2. #2
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Здравствуйте, во втором случае у вас перезапишется значение параметра.

    Вообще все зависит от того какой URL для чего используется методов оплаты

  3. #3
    Senior Member Аватар для Виктор
    Регистрация
    27.08.2008
    Адрес
    MGNHost.ru
    Сообщений
    3,265

    По умолчанию

    Цитата Сообщение от Azcol Посмотреть сообщение
    Здравствуйте, во втором случае у вас перезапишется значение параметра.

    Вообще все зависит от того какой URL для чего используется методов оплаты
    Пишется модуль оплаты для RBKmoney: http://rbkmoney.com/themes/rbk/files...n.API.d212.pdf

    В случае если оставить первый вариант, переадресация на страницу успешной оплаты будет?
    Если нет, то корректно ли два раза один и тот же идентификатор поля использовать?

    P.S. Как правильно переопределить iso код из RUB в RUR, при условии, что в коде указано так:

    Код:
    "<input type='hidden' name='recipientCurrency' value='" + Currency("iso") + "'>\n"

  4. #4
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Если использовать одну и туже переменную итоговое значение будет то, которое будет присвоено последним.

    P.S. Как правильно переопределить iso код из RUB в RUR, при условии, что в коде указано так:
    Можете сохранить iso в отдельной переменной и изменить ее значение на RUR если оно RUB

    В вашем случае successUrl = GetSuccessPage()
    failUrl = GetFailPage()

    Значение вида GetServerUrl() + /mancgi/paymentresult, судя по документации указывается в настройках на стороне платежной системы и не передается при оплате

  5. #5
    Senior Member Аватар для Виктор
    Регистрация
    27.08.2008
    Адрес
    MGNHost.ru
    Сообщений
    3,265

    По умолчанию

    Цитата Сообщение от Azcol Посмотреть сообщение
    Можете сохранить iso в отдельной переменной и изменить ее значение на RUR если оно RUB
    Если не затруднит, напишите пожалуйста как правильно это сделать, т.к. плохо знаком с С++, а в документации это пропустили, либо я не могу найти. Вызов iso кода нашёл только у Вас в примере модуля платёжной системы.
    Заранее благодарен.

    Цитата Сообщение от Azcol Посмотреть сообщение
    В вашем случае successUrl = GetSuccessPage()
    failUrl = GetFailPage()

    Значение вида GetServerUrl() + /mancgi/paymentresult, судя по документации указывается в настройках на стороне платежной системы и не передается при оплате
    Спасибо.

  6. #6
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Если не затруднит, напишите пожалуйста как правильно это сделать, т.к. плохо знаком с С++, а в документации это пропустили, либо я не могу найти. Вызов iso кода нашёл только у Вас в примере модуля платёжной системы.
    Заранее благодарен.
    примерно так

    string iso = Currency("iso");
    if (str::Lower(iso) == "rub")
    iso = "RUR";
    потом

    "<input type='hidden' name='recipientCurrency' value='" + iso + "'>\n"

  7. #7
    Senior Member Аватар для Виктор
    Регистрация
    27.08.2008
    Адрес
    MGNHost.ru
    Сообщений
    3,265

    По умолчанию

    Azcol, спасибо.
    Последний вопрос, как правильно объединить полученные данные в формат: 1::2::3 и т.д., т.е. чтобы все полученные данные разделялись двумя двоеточиями, для дальнейшего вычисления хеш суммы?

  8. #8
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Здравствуйте,
    string str_for_hash = a + "::" + b + "::" + c ....;

  9. #9
    Senior Member Аватар для Виктор
    Регистрация
    27.08.2008
    Адрес
    MGNHost.ru
    Сообщений
    3,265

    По умолчанию

    Спасибо.
    Возникло ещё две проблемы:

    1. Не передаётся язык, на котором должен открыться сайт, т.е. если в настройках пользователя указать английский язык, всё равно сайт платёжной системы открывается на русском.
    2. Назначение платежа передаётся в кривой кодировке. В итоге вместо "Авансовый платеж #3", на сайте платёжной системы выводится "Авансовый платеж #3"
    Отправляемые данные выглядят так:

    Код:
    "<html>\n"
          "<head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>\n"
          " <link rel='shortcut icon' href='billmgr.ico' type='image/x-icon' />"
          "<script language='JavaScript'>\n"
          .........
          "</script>\n"
          "</head>\n"
          "<body onload='DoSubmit()'>\n"
          "<form name='rbkform' action='" + post_url + "' method='post'>\n"
          .........
          "<input type='hidden' name='serviceName' value='" + desc + "'/>\n"
          .........
          "<input type='hidden' name='language' value='" + Input("lang") + "'>\n"
          "</form>\n"
          "</body>\n"
          "</html>\n";
    В чём может быть проблема?

  10. #10
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Вместо Input("lang") попробуйте Lang(). Для кодировки попробуйте указать нужную, если она отличается от UTF-8 в параметрах формы http://htmlbook.ru/html/form/accept-charset

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •