I can't understand why I get this annoying error message when I test out the paypal button in sandbox test site.
Error Detected
PayPal cannot process this transaction because of a problem with the seller's website. Please contact the seller directly to resolve this problem.
I've tried using different test accounts and I get the same thing.
Here are the codes for the paypal button:
echo 'form action="https://www.sandbox..../cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="FDN9DZRLVBQRL">
<input type="image" src="https://www.sandbox....scribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox....i/scr/pixel.gif" width="1" height="1">
</form>';
You're using a hosted button, so you need to make sure that it was created from (and still exists in) the account you're testing with.
If you're testing with the sandbox you need to create the button from that sandbox account in order for it to work.
Keep in mind that is only the case when working with hosted buttons.
Replace the form action with this:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
You are pointing to Sandbox endpoint, where the hosted button belongs to LIVE account.
Related
I need to override the given default Auto return URL from the paypal button HTML code. I followed these steps:
Check the Auto return Url section and gave a default URL
Generate a Buy Now button and left the Return and Cancel URL options as it is.
Paste the button code
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="return" value="http://www.someURL.com"/>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="G3WQ*******">
<input type="image" src="https://www.sandbox.paypal.com/en_GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
After successful payment on Sandbox PayPal is always redirecting me to the default URL.
Why isn't overriding it? Any help would be appreciable.
I saw a couple of similar unanswered question on PayPal community and StackOverflow as well:
https://www.paypal-community.com/t5/About-Payments-Archive/Auto-Return-Custom-URL-Not-Overriding-Auto-Return-Setting-URL/td-p/1038334
Paypal button auto-return url not overriding the default url
Setting PayPal return URL and making it auto return?
You won't be able to use the return field directly in the button when you're using a hosted button. That has to be set in the hosted button settings when creating the button (or editing it through the PayPal account.)
If you want to be able to set your own return URL on the fly then you'll have to use a non-hosted button.
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_donations">
<input type="hidden" name="business" value="6DHWKYCKBGXFS">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donateCC_LG.gif:NonHosted">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
I have been trying it for weeks but no luck. what i have done so far is created two accounts on developer site then with business account i created donate button whose code is above.I pasted it on plain html page and it directed me to
https://www.paypal.com/us/cgi-bin/webscr?cmd=_flow&SESSION=bnXFinACSxCb1ODnXhGUvOIt9PAh_P89ZBULZpUJW...
where i entered my buyer account but i dont know why its keep sayiing "Please check your emai and password" . i have checked it hundred of times but i dont know why its not accepting this.Please help me , I am in big trouble.
Finaly after trying for weeks I found the solutuion.The four point in this https://developer.paypal.com/docs/classic/paypal-payments-standard/ht_test-pps-buttons/ tutorial is wrong. You dont create a button like that for testing purpose but rather go to profile>selling tools>create new button . Probably it will be helpful for someone..
If you are trying to tested this with your test buyer accounts, your seller accounts also needs to be set up in the sandbox. The above code is pointing to the live site "www.paypal.com", if you are trying to use your test seller and buyer accounts, the URL needs to be "www.sandbox.paypal.com"
I've got Buy Now Button:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="9HPJM3Z83ZCRS">
<input type="image" src="https://www.sandbox.paypal.com/en_GB/i/btn/btn_buynow_LG.gif" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
But i dont want to let users pay with credit card, becouse i need to check their paypal email to prevent buying same thing twice. Is is possible?
Within your PayPal account profile there is an option "PayPal Account Optional" that you need to disable in order to force all buyers to use a PayPal account.
Depending on the version of PayPal you're on, it will be in Payment Receiving Preferences, Website Payment Preferences, or something like that. Just look around in your profile settings and you should be able to find it pretty easily.
I have been trying to make a working ipn for my website. Here's the code:
Have tested this through real PayPal.
My Button:
<form method="post" name="paypalConfirm" action="http://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="rm" value="2"/>
<input type="hidden" name="cmd" value="_xclick"/>
<input type="hidden" name="custom" value="username">
<input type="hidden" name="business" value="email"/>
<input type="hidden" name="item_name" value="Item"/>
<input type="hidden" name="amount" value="0.02"/>
<input type="image" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
I have tested these several times but it just won't work. If anybody could help me, please do.
You need to make sure you have IPN configured in the PayPal account that is receiving the payment.
If you do have it configured and you don't think you're getting an IPN check the IPN History in your PayPal account. This will show you whether or not anything is getting sent and what response your server is sending back. It's possible the IPN's are getting sent but your script is simply failing.
You'll need to check your web server logs to see what the error is if that's the case, or what I like to do is setup a basic HTML form with the action set to my IPN URL. I include hidden fields that match what I expect to get from an IPN, and then I load this in a browser and submit it. This allows me to see the result on screen which helps with debugging. Once it's all working there you know it'll work when PayPal sends it.
Keep in mind if testing that way the IPN will not verify with PayPal since the data didn't come from them, so you'll need to make sure your code logic handles that accordingly.
I am using the following paypal code but still the amount is not displayed in paypal form once the website redirect the page to paypal.
`<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="XXXX">
<input type="hidden" name="amount_1" value="200">
<input type="image" style="width: 70px !important; padding: 0px !important;" src="http://www.merlioncricket.com/Login/static/images/payment.png" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>`
Please let me know, why the amount is not displaying.
Thanks,
Gladiator
Finally I found the answer, & maybe it is useful to others, whenever you create the paypal button make sure in step 2 "Save Button At PayPal" is not clicked & second once you create the button, remove code protection & then select the code & copy the paypal generated code.
It will solve the problem.
Thanks....
When using a hosted button, you can not pass over an amount. The hosted buttons, prevents someone from directly modifying the code and passing over a different amount. If you are wanting a different amount, you would need to log into your account and edit the hosted button. If you want to dynamically populate the amount, then you would need to create a non hosted clear text button.