chamilo/chamilo-lms

View on GitHub
public/plugin/buycourses/src/expresscheckout.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
/* For license terms, see /license.txt */
/**
 * PayPal Express Checkout Module.
 */
/**
 * Init.
 */
require_once 'paypalfunctions.php';
/**
 * The paymentAmount is the total value of
 * the shopping cart, that was set
 * earlier in a session variable
 * by the shopping cart page.
 */
$paymentAmount = $_SESSION["Payment_Amount"];

/**
 * The currencyCodeType and paymentType
 * are set to the selections made on the Integration Assistant.
 */
$paymentType = "Sale";

/**
 * Calls the SetExpressCheckout API call
 * The CallShortcutExpressCheckout function is defined in the file PayPalFunctions.php,
 * it is included at the top of this file.
 */
$resArray = CallShortcutExpressCheckout($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL);
$ack = strtoupper($resArray["ACK"]);
if ("SUCCESS" == $ack || "SUCCESSWITHWARNING" == $ack) {
    RedirectToPayPal($resArray["TOKEN"]);
} else {
    //Display a user friendly Error on the page using any of the following error information returned by PayPal
    $ErrorCode = urldecode($resArray["L_ERRORCODE0"]);
    $ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]);
    $ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]);
    $ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]);

    echo "SetExpressCheckout API call failed. ";
    echo "Detailed Error Message: ".$ErrorLongMsg;
    echo "Short Error Message: ".$ErrorShortMsg;
    echo "Error Code: ".$ErrorCode;
    echo "Error Severity Code: ".$ErrorSeverityCode;
}