URL-адрес возврата Paypal - с использованием параметров GET?

Вот простой код, который я использую для тестирования стандартной загрузки Paypal Website Payments.

Мой обратный URL: http://mysite/index.php?module=store&show=order_confirm Я прохожу процесс оплаты, и когда я дохожу до конца и он возвращает меня на страницу, он вместо этого просто возвращает меня на index.php (т.е. без лишних параметров).

Кто-нибудь знает, что с этим делать

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">

    <input type="hidden" name="cmd" value="_cart" />

    <input type="hidden" name="upload" value="1">
    <input type="hidden" name="return" value="http://mysite/index.php?module=store&amp;show=order_confirm" />
    <input type="hidden" name="currency_code" value="EUR" />

    <input type="hidden" name="business" value="[email protected]">

            <input type="hidden" name="item_name_1" value="adaddada" />
            <input type="hidden" name="amount_1" value="30.00" />

            <input type="hidden" name="quantity_1" value="1" />
                            <input type="hidden" name="item_name_2" value="wuiui" />
            <input type="hidden" name="amount_2" value="50.00" />
            <input type="hidden" name="quantity_2" value="1" />


    <input type="hidden" name="custom" value="19" />

    <input type="image" name="submit" border="0" src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" alt="PayPal - The safer, easier way to pay online">

</form>

person bcoughlan    schedule 22.06.2010    source источник


Ответы (3)


Я не уверен, почему Paypal делает то, что делает, но я подозреваю, что их желание добавить свои собственные параметры GET стирает ваши собственные. Вы можете попробовать что-то вроде этого, если вам доступен mod_rewrite или что-то подобное:

напишите правило, которое изменит это:

http://mysite/store/order_confirm/?merchant_return_link=Test+Store

к этому

http://mysite/index.php?merchant_return_link=Test+Store&module=store&show=order_confirm
person JoeTortuga    schedule 23.06.2010
comment
Спасибо, в конце концов мое решение состояло в том, чтобы заставить его вернуться к простому файлу PHP с именем paypalreturn.php, который перенаправлял на страницу, на которую я хотел перейти. - person bcoughlan; 24.06.2010

Попробуйте избежать ? и & в обратном URL; измените их на %3F и %26.

person Jacob Mattison    schedule 22.06.2010
comment
Хорошая идея, я должен был сказать, что когда он возвращается в index.php, он также добавляет ?merchant_return_link=Test+Store в конец, поэтому он не работает. - person bcoughlan; 22.06.2010

Альтернативный ответ - установить для переменной paypal 'rm' [метод возврата] значение «2», чтобы PayPal отправлял POST все свои собственные возвращаемые переменные, а не отправлял их как переменные GET.

person Mark    schedule 07.04.2011