PayPal's IPN does not fire for cart upload - html

Previously, we had our cart located entirely on PayPal, we used add method for each "Add to cart" button and our IPN script was fired correctly after each purchase. Now we've added another payment option, so we've implemented a shopping cart on our website. And here's the form for passing the cart content to PayPal:
<form action="https://www.paypal.com/cgi-bin/webscr" method="POST" id="pp_cart_form">
<input type="hidden" name="business" value="email#domain.com" />
<input type="hidden" name="cmd" value="_cart" />
<input type="hidden" name="upload" value="1" />
<input type="hidden" name="return" value="Return URL here - works fine" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="rm" value="2" />
<input type="hidden" name="custom" value="upload_cart" />
<input type="hidden" name="invoice" value="Invoice ID" />
<input type="hidden" name="notify_url" value="IPN URL - never gets fired" />
<input type="hidden" name="item_name_1" value=""Item 1"" />
<input type="hidden" name="item_number_1" value="443" />
<input type="hidden" name="amount_1" value="1" />
<input type="hidden" name="item_name_2" value=""Item 1"" />
<input type="hidden" name="item_number_2" value="444" />
<input type="hidden" name="amount_2" value="1" />
</form>
The form is being submitted via Javascript.
After this change IPN handler never gets fired after the purchase, and we have to add the order manually.
What can be the problem? The notify_url variable is 100% correct.

What have you done to confirm it doesn't get triggered? Did you check the PayPal IPN History to see the results there? Have you checked your web server logs?
Take a look at this article on how to test PayPal IPN. It should help you resolve the issue if you follow those steps.

Related

With recurring donations, PayPal gives an error "Things don't appear to be working at the moment. Please try again later."

PayPal is giving an error with recurring payments. This is my form:
<html>
<form method="post" action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="item_name" value="Test Donation">
<input type="hidden" name="no_shipping" value="2">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="CAD">
<input type="hidden" name="tax" value="0">
<input type="hidden" name="bn" value="PP-DonationsBF">
<input type="hidden" name="business" value="68YARP6A6VWY6">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="src" value="1">
<input type="hidden" name="a3" value="7">
<input type="hidden" name="p3" value="2">
<input type="hidden" name="t3" value="W">
<input type="hidden" name="modify" value="1">
<input type="submit" value="Submit">
</form>
</html>
PayPal gives me an error saying "Things don't appear to be working at the moment. Please try again later."
I think I have followed the instructions on this page correctly, but maybe not.
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/#recurring-payment-variables
Can anyone tell what is wrong?
The problem is that PayPal decided to not let subscribers modify their subscriptions anymore, so the "modify"="1" was the problem. I changed that to "0", and it all works.

DNS error PayPal Buttons API

PayPal DNS issues, or maybe I'm doing something wrong below to cause this?
This was working fine until today oddly enough
Here's my PayPal form (uses PayPal buttons API):
<form id="mepr_pp_standard_form" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="some#email.com">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_name" value="Cool Product">
<input type="hidden" name="item_number" value="54">
<input type="hidden" name="tax_rate" value="0.000">
<input type="hidden" name="return" value="http://cooliosite.org/return">
<input type="hidden" name="cancel_return" value="http://cooliosite.org/cancel?txn_id=54">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="src" value="1">
<input type="hidden" name="sra" value="1">
<input type="hidden" name="a3" value="30.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
</form>
I get to PayPal properly after submitting the button form.
But as soon as I click "Log In" I get this:
The live16 part of the PayPal URL changes from time to time, but the DNS error remains the same otherwise.
So can anyone spot that I'm doing something wrong (aside from the insecure HTML form) that would cause this DNS issue - or is PayPal simply having some DNS troubles that are not mentioned in their status page currently?
Fix has been pushed for this issue. Please proceed for further testing.

Dynamic redirect url for PayPal Buy Now button

I have integrated a PayPal Buy Now button on my site as follows:
<form name="_xclick" action="https://www.paypal.com/uk/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="RECEIVER#RECEIVER.com">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_name" value="description here">
<input type="hidden" name="amount" value="100">
<input type="image" src="https://www.paypalobjects.com/en_US/NL/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>
Upon a succesfull purchase, I would like to redirect the user to a certain page (not known in advance - dynamic). How can this be achieved?
You will need to set "return" field in your form. Like this:
<input type="hidden" name="return" value="URLspecificToThisTransaction">
For more information please visit the documentation here

Access custom variable without using IPN

Is it possible to get the value of the custom variable from without using IPN?
I have a very simple project that doesn't need auto payment verification or anything like that, everything is done manually. I just need to like one input from the payment page along with that payment.
So is it possible to get the info from the custom variable in the payment confirmation email from paypal or the paypal payment receipt?
Check out button example:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal-form" target="_top">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="paypal#email.com">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="item_name" value="Item Name">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="src" value="1">
<input type="hidden" name="a3" value="10.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="custom" id="payment-custom" value="CUSTOM VALUE">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="bn" value="PP-SubscriptionsBF:btn_subscribeCC_LG.gif:NonHostedGuest">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
So I want to get that "CUSTOM VALUE" without using a ipn script, is it possible?
The GetTransactionDetails API will return it

Send note to seller with PayPal buy now button

I have generated a "buy now" button from the paypal sandbox website as follows :
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="abc#xyz.com">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="item_name" value="BuyItNow">
<input id="paypalamount" type="hidden" name="amount" value="{{totalprice}}">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
<input type="image" src="img\paypal.png" border="0" name="submit" style="position:absolute;top:12px;left:10px">
</form>
When someone pays with the button, I want to send a default note to the seller. Is there a hidden field I can use?
Here's the code you are looking for. Check out variable list for all the acceptable variables.
You need to edit your security settings in paypal for the note itself to show up, then do
<input type="hidden" name="cn" value="Add special instructions to the seller:">
<input type="hidden" name="no_note" value="0">
A value of 1 will hide the box/prompt. It will appear on the checkout page. You can set up a buy now button to collect a text field entry, but you have to do that on set-up.
<input type="hidden" name="on1" value="Color" maxlength="200">Note
<input type="text" name="os1">
So if you have the no_note value correct (as you do in your code), you should look into your seller settings to make sure you are collecting instructions from customers.