Я пытаюсь интегрировать Paypal, и я использую sandbox в этом процессе. Я следую шагу принятого ответа в следующем вопросе. Установка URL-адреса PayPal и его автоматического возврата?
Но когда я пытаюсь ввести URL-адрес, Paypal возвращает ошибку ниже.
We were unable to validate the URL you have entered. Please check your entry and try again.
URL, который я пытаюсь установить, это http://localhost:8888/paypal/success.php
.
Также я попробовал отправить возвращаемый url с формой, как показано ниже.
<input type="hidden" name="return" value="http://localhost:8888/paypal/success.php">
Оба метода не работают для меня.
Полная форма
<form method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr"> <!-- Identify your business so that you can collect the payments. --> <input type="hidden" value="dasun_1358759028_biz@archmage.lk" name="business"> <!-- Specify a Buy Now button. --> <input type="hidden" value="_xclick" name="cmd"> <!-- Specify details about the item that buyers will purchase. --> <input type="hidden" value="AM Test Item" name="item_name"> <input type="hidden" value="22.16" name="amount"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" value="item_number" name="item_number"> <input type="hidden" name="return" value="http://localhost:8888/paypal/success.php"> <!-- Display the payment button. --> <input type="image" name="submit" border="0" src="http://img.ruphp.com/php/btn_buynow_LG.gif" alt="PayPal - The safer, easier way to pay online"> <img alt="" border="0" width="1" height="1" src="http://img.ruphp.com/php/pixel.gif" > </form>
Как я могу проверить это на своем компьютере разработки?
Что делать, если вы попытаетесь указать свой IP-адрес вместо localhost?
Локальный хост не может быть разрешен на удаленных машинах. Только ваш локальный DNS знает инструкцию localhost и составляет 127.0.0.1.
http://your-IP-address:8888/paypal/success.php
Вы можете создать псевдоним URL для своего сайта и добавить его в свой файл hosts ( http://en.wikipedia.org/wiki/Hosts_(file) ). Затем передайте этот URL как ваш обратный URL-адрес в paypal. Они просто запускают перенаправление в браузере в это место, после чего ваш файл хоста будет разрешать его на локальном сервере разработки.
Например: добавьте строку в файл вашего хоста, например 127.0.0.1 local.mywebdomain.com
Затем в вашей кнопке PayPal передайте тот же URL-адрес для параметра return (например, <input type="hidden" name="return" value="http://local.mywebdomain.com/success.php">
)
Вы не можете использовать localhost, это не действительный URL, PayPal не может получить доступ к вашей локальной среде.
Лучший способ – загрузить форму и запустить скрипт в Интернете, там есть несколько бесплатных веб-узлов PHP, если у вас их нет.