PayPal (IPN used by other script)

The faster, safer way to send money, make an online payment, receive money or set up a merchant account.

PayPal integrates using IPN callback even if the callback is used by other system (e.g. shopping cart).
Note! This is description of integration with PayPal if you use PayPal buttons on your web pages. If you use PayPal as a processing system in your shopping cart, use the method for integrating with shopping cart,not these steps.


Paypal button

Now add the following code into EVERY PayPal button form

<input type="hidden" name="custom" value="" id="pap_dx8vc2s5">
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript">

This will ensure that referrer will be stored to the custom field.



Example of updated PayPal form:

<!-- Begin PayPal Button -->
<form action="" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="">
<input type="hidden" name="undefined_quantity" value="1">
<input type="hidden" name="item_number" value="Product Name">
<input type="hidden" name="amount" value="19.95">
<input type="hidden" name="image_url" value="">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="">
<input type="hidden" name="cancel_return" value="">
<input type="hidden" name="custom" value="" id="pap_dx8vc2s5">
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript"></script>
<input type="image" src="" border="0" name="submit">
<!-- End PayPal Button -->



Now the IPN callback is pointed to your script. This callback has to be forwarded also to PAP paypal.php script, which url is https://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php. In case your paypal processing script is in PHP, you can use the following code to accomplish that. You can place it at the beginning of your processing file.

/* Post Affiliate Pro integration snippet */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
/* /Post Affiliate Pro integration snippet */

This will ensure that whole IPN callback will be forwarded without affecting your original script

This is all that is required. Now whenever there's sale, PayPal will use its IPN function to call our sale tracking script, and system will generate commission for the affiliate.

NOTE: If you have more buttons at one page, you should insert only HTML tags into button. The script tag should be only inserted once at the whole page. It even doesn't need to be in the button form, it can be somewhere in the body of the page.