<?php

// Include required library files.
require_once '../includes/config.php';
require_once '../autoload.php';
// Create PayPal object.
$PayPalConfig = array('Sandbox' => $sandbox, 'APIUsername' => $api_username, 'APIPassword' => $api_password, 'APISignature' => $api_signature, 'PrintHeaders' => $print_headers, 'LogResults' => $log_results, 'LogPath' => $log_path);
$PayPal = new angelleye\PayPal\PayPal($PayPalConfig);
// Prepare request arrays
$SetAccessPermissionsFields = array('ReturnURL' => '', 'CancelURL' => '', 'LogoutURL' => '', 'LocalCode' => '', 'PageStyle' => '', 'HDRIMG' => '', 'HDRBorderColor' => '', 'HDRBackColor' => '', 'PayFlowColor' => '', 'InitFlowType' => '', 'FirstName' => '', 'LastName' => '');
$RequiredPermissions = array('Email', 'Name', 'GetBalance', 'RefundTransaction', 'GetTransactionDetails', 'TransactionSearch', 'MassPay', 'EncryptedWebsitePayments', 'GetExpressCheckoutDetails', 'SetExpressCheckout', 'DoExpressCheckoutPayment', 'DoCapture', 'DoAuthorization', 'DoReauthorization', 'DoVoid', 'DoDirectPayment', 'SetMobileCheckout', 'CreateMobileCheckout', 'DoMobileCheckoutPayment', 'DoUATPAuthorization', 'DoUATPExpressCheckoutPayment', 'GetBillingAgreementCustomerDetails', 'SetCustomerBillingAgreement', 'CreateBillingAgreement', 'BillAgreementUpdate', 'BillUser', 'DoReferenceTransaction', 'Express_Checkout', 'Admin_API', 'Auth_Settle', 'Transaction_History');
$OptionalPermissions = array('Email', 'Name', 'GetBalance', 'RefundTransaction', 'GetTransactionDetails', 'TransactionSearch', 'MassPay', 'EncryptedWebsitePayments', 'GetExpressCheckoutDetails', 'SetExpressCheckout', 'DoExpressCheckoutPayment', 'DoCapture', 'DoAuthorization', 'DoReauthorization', 'DoVoid', 'DoDirectPayment', 'SetMobileCheckout', 'CreateMobileCheckout', 'DoMobileCheckoutPayment', 'DoUATPAuthorization', 'DoUATPExpressCheckoutPayment', 'GetBillingAgreementCustomerDetails', 'SetCustomerBillingAgreement', 'CreateBillingAgreement', 'BillAgreementUpdate', 'BillUser', 'DoReferenceTransaction', 'Express_Checkout', 'Admin_API', 'Auth_Settle', 'Transaction_History');
$PayPalRequestData = array('SetAccessPermissionsFields' => $SetAccessPermissionsFields, 'RequiredPermissions' => $RequiredPermissions, 'OptionalPermissions' => $OptionalPermissions);
$PayPalRequestData = array('SetAccessPermissionsFields' => $SetAccessPermissionsFields, 'RequiredPermissions' => $RequiredPermissions, 'OptionalPermissions' => $OptionalPermissions);
// Pass data into class for processing with PayPal and load the response array into $PayPalResult
$PayPalResult = $PayPal->SetAccessPermissions($PayPalRequestData);
// Write the contents of the response array to the screen for demo purposes.
echo '<pre />';
print_r($PayPalResult);