This integration method is for aMember versions lower than v4.

This integration method integrates aMember recurring transactions (using PayPal) with Post Affiliate Pro.


Setting up aMember interfase

First of all, you need to add a new field in aMember signup form. Navigate to Utilities> Add fields. Here you can add any new fields, so click "Add field" button. Set name and title to "custom", choose "SQL" as a field type and set SQL field type to "String VARCHAR(255)". Next settings you need to set: Display type to "Text", set size of it to 40 and finally set all fields for Visibility of the field to don't display.
Save your setting. New field should be created for a user, also in a database, so you can use it for any custom details. We will use it for sending VisitorId to PayPal payment plugin in aMember.


Modifying signup form files

Navigate to templates/ directory and open file signup.html for edit. Locate the line with code "</form>". Insert this code right before it:
<input type="hidden" name="custom" value="default1" id="f_custom">

Now, insert this code after the line with "</form>":

<script id="pap_x2s6df8d" src="http://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
<script type="text/javascript">

This code will add VisitorID from cookies, and also from Flash cookies if 1st party cookies were not created because of privacy level, to custom field we created in aMember. This value will be added to the database you can use it anytime later.


Modifying the PayPal plugin

Navigate to plugins/payment/paypal_r/ and open the file for edit. Insert this  code right after the line:
function paypal_validate_ipn($vars){

/* PAP4 integration */
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, "http://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php");
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
/* end of PAP4 integration */

Now find this line (2x times):      'custom'      => '', 
and change it to:                   (isset($u['custom']) && ($u['custom'] != ""))?$u['custom']:"",

Note that your cookies have to be available at the domain where aMember is installed at in order to track sales. Otherwise you will need to add the click tracking code to the signup.html file and point the affiliate link directly to the signup.php file.