Online Book Reader

Home Category

PayPal APIs_ Up and Running_ A Developer's Guide - Michael Balderas [37]

By Root 171 0
// generateTrackingID function is found

// in paypalplatform.php

//-------------------------------------------------

// Make the Pay API call

//

// The CallPay function is defined in the paypalplatform.php file,

// which is included at the top of this file.

//-------------------------------------------------

$resArray = CallPay ($actionType, $cancelUrl, $returnUrl, $currencyCode,

$receiverEmailArray, $receiverAmountArray, $receiverPrimaryArray,

$receiverInvoiceIdArray, $feesPayer, $ipnNotificationUrl, $memo,

$pin, $preapprovalKey, $reverseAllParallelPaymentsOnError,

$senderEmail, $trackingId

);

$ack = strtoupper($resArray["responseEnvelope.ack"]);

if($ack=="SUCCESS")

{

// payKey is the key that you can use to identify the payment resulting

// from the Pay call.

$payKey = urldecode($resArray["payKey"]);

// paymentExecStatus is the status of the payment

$paymentExecStatus = urldecode($resArray["paymentExecStatus"]);

}

else

{

//Display a user-friendly Error on the page using any of the following

//error information returned by PayPal.

//TODO - There can be more than 1 error, so check for "error(1).errorId",

// then "error(2).errorId", and so on until you find no more errors.

$ErrorCode = urldecode($resArray["error(0).errorId"]);

$ErrorMsg = urldecode($resArray["error(0).message"]);

$ErrorDomain = urldecode($resArray["error(0).domain"]);

$ErrorSeverity = urldecode($resArray["error(0).severity"]);

$ErrorCategory = urldecode($resArray["error(0).category"]);

echo "Preapproval API call failed. ";

echo "Detailed Error Message: " . $ErrorMsg;

echo "Error Code: " . $ErrorCode;

echo "Error Severity: " . $ErrorSeverity;

echo "Error Domain: " . $ErrorDomain;

echo "Error Category: " . $ErrorCategory;

}

?>

Example 4-4. basicpayment.php

//-------------------------------------------------

// When you integrate this code,

// look for TODO as an indication

// that you may need to provide a value or take

// action before executing this code.

//-------------------------------------------------

require_once ("paypalplatform.php");

// ==================================

// PayPal Platform Basic Payment Module

// ==================================

// Request specific required fields

$actionType = "PAY";

$cancelUrl = "https://mycancelurl"; // TODO - If you are not executing the Pay call

// for a preapproval, then you must set a valid

// cancelUrl for the web approval flow that

// immediately follows this Pay call

$returnUrl = "https://myreturnurl"; // TODO - If you are not executing the Pay call

// for a preapproval, then you must set a valid

// returnUrl for the web approval flow that

// immediately follows this Pay call

$currencyCode = "USD";

// A basic payment has 1 receiver.

// TODO - specify the receiver email

$receiverEmailArray = array(

'receiver0email'

);

// TODO - specify the receiver amount as the amount of money, for example, '5' or '5.55'

$receiverAmountArray = array(

'receiver0amount'

);

// For basic payment, no primary indicators are needed, so set empty array.

$receiverPrimaryArray = array();

// TODO - Set invoiceId to uniquely identify the transaction associated with the receiver

// You can set this to the same value as trackingId if you wish

$receiverInvoiceIdArray = array(

'1234abcd'

);

// Request specific optional or conditionally required fields

// Provide a value for each field that you want to include in the request;

// If left as an empty string, the field will not be passed in the request

$senderEmail = ""; // TODO - If you are executing the Pay call against a

// preapprovalKey, you should set senderEmail

// It is not required if the web approval flow immediately

// follows this Pay call

$feesPayer = "";

$ipnNotificationUrl = "";

$memo = ""; // maxlength is 1000 characters

$pin = ""; // TODO - If you are executing the Pay call against an

// existing preapproval that requires a pin, then you

// must set this

$preapprovalKey = ""; // TODO - If you are executing the Pay call

// against an existing

Return Main Page Previous Page Next Page

®Online Book Reader