<?php // Include required library files. require_once '../includes/config.php'; require_once '../includes/paypal.class.php'; // Create PayPal object. $PayPalConfig = array('Sandbox' => $sandbox, 'APIUsername' => $api_username, 'APIPassword' => $api_password, 'APISignature' => $api_signature); $PayPal = new PayPal($PayPalConfig); // Prepare request arrays $CRPPFields = array('token' => ''); $ProfileDetails = array('subscribername' => '', 'profilestartdate' => '', 'profilereference' => ''); $ScheduleDetails = array('desc' => '', 'maxfailedpayments' => '', 'autobilloutamt' => ''); $BillingPeriod = array('trialbillingperiod' => '', 'trialbillingfrequency' => '', 'trialtotalbillingcycles' => '', 'trialamt' => '', 'billingperiod' => '', 'billingfrequency' => '', 'totalbillingcycles' => '', 'amt' => '', 'currencycode' => '', 'shippingamt' => '', 'taxamt' => ''); $ActivationDetails = array('initamt' => '', 'failedinitamtaction' => ''); $CCDetails = array('creditcardtype' => '', 'acct' => '', 'expdate' => '', 'cvv2' => '', 'startdate' => '', 'issuenumber' => ''); $PayerInfo = array('email' => '', 'payerid' => '', 'payerstatus' => '', 'business' => ''); $PayerName = array('salutation' => '', 'firstname' => '', 'middlename' => '', 'lastname' => '', 'suffix' => ''); $BillingAddress = array('street' => '', 'street2' => '', 'city' => '', 'state' => '', 'countrycode' => '', 'zip' => '', 'phonenum' => ''); $ShippingAddress = array('shiptoname' => '', 'shiptostreet' => '', 'shiptostreet2' => '', 'shiptocity' => '', 'shiptostate' => '', 'shiptozip' => '', 'shiptocountry' => '', 'shiptophonenum' => ''); // For order items you populate a nested array with multiple $Item arrays. Normally you'll be looping through cart items to populate the $Item // array and then push it into the $OrderItems array at the end of each loop for an entire collection of all items in $OrderItems. $OrderItems = array(); $Item = array('l_itemcategory' => '', 'l_name' => '', 'l_desc' => '', 'l_amt' => '', 'l_number' => '', 'l_qty' => '', 'l_taxamt' => ''); array_push($OrderItems, $Item); $PayPalRequestData = array('CRPPFields' => $CRPPFields, 'ProfileDetails' => $ProfileDetails, 'ScheduleDetails' => $ScheduleDetails, 'BillingPeriod' => $BillingPeriod, 'ActivationDetails' => $ActivationDetails, 'CCDetails' => $CCDetails, 'PayerInfo' => $PayerInfo, 'PayerName' => $PayerName, 'BillingAddress' => $BillingAddress, 'ShippingAddress' => $ShippingAddress, 'OrderItems' => $OrderItems); // Pass data into class for processing with PayPal and load the response array into $PayPalResult $PayPalResult = $PayPal->CreateRecurringPaymentsProfile($PayPalRequestData); // Write the contents of the response array to the screen for demo purposes. echo '<pre />'; print_r($PayPalResult);