问题
I'm trying to integrate Paypal and I'm using sandbox in the process. I follow the step of the accepted answer in the below question. Setting PayPal return URL and making it auto return?
But when I try to enter the URL, Paypal return the below error.
We were unable to validate the URL you have entered. Please check your entry and try again.
URL I'm trying to set is http://localhost:8888/paypal/success.php
.
Also I tried sending the return url with the form as below.
<input type="hidden" name="return" value="http://localhost:8888/paypal/success.php">
Both methods does not work for me.
Full Form
<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="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" alt="PayPal - The safer, easier way to pay online">
<img alt="" border="0" width="1" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" >
</form>
How can I test this on my development pc ?
回答1:
What if you try to specify your IP address instead of localhost?
Local host cannot be resolved on distant machines. It's only your local DNS which knows localhost statement and is 127.0.0.1.
http://your-IP-address:8888/paypal/success.php
回答2:
You can create some URL alias for your website and add it to your hosts file (http://en.wikipedia.org/wiki/Hosts_(file)). Then pass that URL as your return URL to paypal. They just trigger a re-direct within the browser to that location at which point your host file will resolve it to your local development server.
For Example:
Add a line to your hosts file like 127.0.0.1 local.mywebdomain.com
Then in your PayPal button, pass that same URL for the return parameter (e.g. <input type="hidden" name="return" value="http://local.mywebdomain.com/success.php">
)
回答3:
You can't use localhost it's not a valid URL, PayPal can't access your local enviornment.
Best way is to upload the form and return script to the web, there's a number of free PHP web hosts out there if you don't have one.
来源:https://stackoverflow.com/questions/14436483/setting-paypal-return-url-to-localhost