0

I have a Paypal account with set subscription button on it. After a subscription is set by a buyer I am sending him to a receipt page. On this page I need to retrieve variables from Paypal to update by database.

  • form is working
  • subscription saved on Paypal
  • buyer correctly redirected to receipt page

but variable are not retrieved.

here is what I have tried so far:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="mybusinessname">
<input type="hidden" name="lc" value="IE">
<input type="hidden" name="item_name" value="Monthly Subscription">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="a1" value="0.00">
<input type="hidden" name="p1" value="1">
<input type="hidden" name="t1" value="M">
<input type="hidden" name="src" value="1">
<input type="hidden" name="a3" value="1.50">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="bn" value="PP-SubscriptionsBF:btn_subscribeCC_LG.gif:NonHosted">
<input type="hidden" name="custom" value="test_value">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

Instant Payment Notification (IPN) details on Paypal are enabled and point to:

https://www.mydomain/payments/

IPN history shows that notifications from Paypal are correctly sent to Notification URL (above)

However, the receipt page shows

Error
Undefined index: custom

to get the custom variable I tried GET, POST and even REQUEST method using something like

test 1: <?php echo $_GET["custom"]; ?>
test 2: <?php echo $_POST["custom"]; ?>

Then I tried

<?php
if (isset($_POST['custom'])) {
    $custom_display = $_POST['custom'];
}
?>  

but this results in: Undefined variable: custom_display

All I need is to get custom variable.

I am guessing that I am doing something wrong, but after many hours of searching for an answer and trying different settings (e.g. sending dynamically notification url within the form, changing settings in paypal, using different urls etc) nothing seems to be working for me and I am stuck

Any help would be greatly appreciated!

Maevari
  • 43
  • 7

1 Answers1

0

I ran into the same issue (?) a few months back. The answer seems to be: PayPal does not pass custom in IPN anymore (nor does it honor the return value). Both of these stopped working sometime last year.

My workaround was to use the subscr_id value to lookup the customer profile. YMMV.

David Chatenay
  • 326
  • 2
  • 10