186 lines
7.2 KiB
PHP
186 lines
7.2 KiB
PHP
<?php
|
|
session_start();
|
|
ob_start();
|
|
|
|
$strLangue = $_SESSION['lang'];
|
|
|
|
require_once('../PPBootStrap.php');
|
|
require_once('../../../php/inc_start_time.php');
|
|
require_once('../../../php/inc_fonctions.php');
|
|
require_once('../../../php/inc_fx_panier.php');
|
|
|
|
$tabPanier = fxlistPanier($_SESSION['no_panier']);
|
|
$tabAcheteur = $tabPanier[0];
|
|
$tabEvenements = $tabPanier[1];
|
|
$tabProduits = $tabPanier[2];
|
|
$tabEpreuves = $tabPanier[3];
|
|
$tabParticipants = $tabPanier[4];
|
|
|
|
$mem_province = fxGetProvinces($tabAcheteur['pro_id'], $strLangue);
|
|
$mem_province = fxUnescape($mem_province['pro_paypal']);
|
|
|
|
$mem_pays = fxGetPays($tabAcheteur['pay_id'], $strLangue);
|
|
$mem_pays = fxreplace_accents_string(fxUnescape($mem_pays['pay_nom_' . $strLangue]));
|
|
|
|
$mem_detailspanier = fxShowPanier($_SESSION['no_panier'], 1, 'paypal', 0, $strLangue);
|
|
$mem_email = $tabAcheteur['com_courriel'];
|
|
|
|
$mem_var_paypal['notifyURL'] = '';
|
|
$mem_var_paypal['noShipping'] = 0;
|
|
$mem_var_paypal['addressOverride'] = 0;
|
|
$mem_var_paypal['reqConfirmShipping'] = 0;
|
|
$mem_var_paypal['billingType'] = 'None';
|
|
$mem_var_paypal['billingAgreementText'] = '';
|
|
$mem_var_paypal['CountryCode'] = 'CA';
|
|
$mem_var_paypal['allowNote'] = 0;
|
|
|
|
$tabTotal = fxTotalPanier($_SESSION['no_panier'], $strLangue);
|
|
|
|
$logger = new PPLoggingManager('SetExpressCheckout');
|
|
|
|
$url = dirname($vDomaine . $_SERVER['REQUEST_URI']);
|
|
$returnUrl = "$url/GetExpressCheckout.php";
|
|
//$cancelUrl = "$url/SetExpressCheckout.php" ;
|
|
$cancelUrl = "$url/annuler.php?lang=" . $strLangue ;
|
|
$currencyCode = 'CAD';
|
|
|
|
$shippingTotal = new BasicAmountType($currencyCode, 0);
|
|
$handlingTotal = new BasicAmountType($currencyCode, 0);
|
|
$insuranceTotal = new BasicAmountType($currencyCode, 0);
|
|
|
|
$address = new AddressType();
|
|
$address->CityName = fxUnescape($tabAcheteur['com_ville']);
|
|
$address->Name = fxUnescape($tabAcheteur['com_prenom']) . ' ' . fxUnescape($tabAcheteur['com_nom']);
|
|
$address->Street1 = fxUnescape($tabAcheteur['com_adresse']);
|
|
$address->StateOrProvince = $mem_province;
|
|
$address->PostalCode = strtoupper(fxUnescape($tabAcheteur['com_codepostal']));
|
|
$address->Country = $mem_var_paypal['CountryCode'];
|
|
$address->CountryName = $mem_pays;
|
|
$address->Phone = fxUnescape($tabAcheteur['com_telephone1']);
|
|
|
|
$paymentDetails = new PaymentDetailsType();
|
|
$itemTotalValue = $taxTotalValue = 0;
|
|
|
|
for ($i = 0; $i < count($mem_detailspanier); $i++) {
|
|
$itemAmount = new BasicAmountType($currencyCode,$mem_detailspanier[$i]['itemAmount']);
|
|
$itemTotalValue += $mem_detailspanier[$i]['itemAmount'] * $mem_detailspanier[$i]['itemQuantity'];
|
|
$taxTotalValue += $mem_detailspanier[$i]['itemSalestaxe'] * $mem_detailspanier[$i]['itemQuantity'];
|
|
$itemDetails = new PaymentDetailsItemType();
|
|
$itemDetails->Name = fxreplace_accents_string($mem_detailspanier[$i]['itemName']);
|
|
$itemDetails->Description= fxreplace_accents_string($mem_detailspanier[$i]['itemDescription']);
|
|
$itemDetails->Amount = $itemAmount;
|
|
$itemDetails->Quantity = $mem_detailspanier[$i]['itemQuantity'];
|
|
$itemDetails->ItemCategory = 'Physical';
|
|
$itemDetails->Tax = new BasicAmountType($currencyCode, $mem_detailspanier[$i]['itemSalestaxe']);
|
|
$paymentDetails->PaymentDetailsItem[$i] = $itemDetails;
|
|
}
|
|
|
|
$orderTotalValue = $shippingTotal->value + $handlingTotal->value + $insuranceTotal->value + $itemTotalValue + $taxTotalValue;
|
|
$paymentDetails->ShipToAddress = $address;
|
|
$paymentDetails->ItemTotal = new BasicAmountType($currencyCode, $itemTotalValue);
|
|
$paymentDetails->OrderTotal = new BasicAmountType($currencyCode, $orderTotalValue);
|
|
$paymentDetails->TaxTotal = new BasicAmountType($currencyCode, $taxTotalValue);
|
|
$paymentDetails->PaymentAction = 'Sale';
|
|
$paymentDetails->HandlingTotal = $handlingTotal;
|
|
$paymentDetails->InsuranceTotal = $insuranceTotal;
|
|
$paymentDetails->ShippingTotal = $shippingTotal;
|
|
|
|
$paymentDetails->ShipToAddress = $address;
|
|
$paymentDetails->ItemTotal = new BasicAmountType($currencyCode, $tabTotal['total'] - ($tabTotal['total_taxes'] + $tabTotal['total_taxes_frais']));
|
|
$paymentDetails->OrderTotal = new BasicAmountType($currencyCode, $tabTotal['total']);
|
|
$paymentDetails->TaxTotal = new BasicAmountType($currencyCode, $tabTotal['total_taxes'] + $tabTotal['total_taxes_frais']);
|
|
$paymentDetails->FulfillmentAddress = $address;
|
|
|
|
echo '<pre>';
|
|
print_r($paymentDetails);
|
|
echo '</pre>';
|
|
|
|
if (isset($mem_var_paypal['notifyURL'])) {
|
|
$paymentDetails->NotifyURL = $mem_var_paypal['notifyURL'];
|
|
}
|
|
|
|
$setECReqDetails = new SetExpressCheckoutRequestDetailsType();
|
|
$setECReqDetails->PaymentDetails[0] = $paymentDetails;
|
|
$setECReqDetails->CancelURL = $cancelUrl;
|
|
$setECReqDetails->ReturnURL = $returnUrl;
|
|
$setECReqDetails->BuyerEmail=$mem_email;
|
|
|
|
// Shipping details
|
|
$setECReqDetails->NoShipping = $mem_var_paypal['noShipping'];
|
|
$setECReqDetails->AddressOverride = $mem_var_paypal['addressOverride'];
|
|
$setECReqDetails->ReqConfirmShipping = $mem_var_paypal['reqConfirmShipping'];
|
|
|
|
// Billing agreement
|
|
$billingAgreementDetails = new BillingAgreementDetailsType($mem_var_paypal['billingType']='None');
|
|
$billingAgreementDetails->BillingAgreementDescription = $mem_var_paypal['billingAgreementText'];
|
|
$setECReqDetails->BillingAgreementDetails = array($billingAgreementDetails);
|
|
|
|
// Display options
|
|
$setECReqDetails->cppheaderimage = '';
|
|
$setECReqDetails->cppheaderbordercolor = '';
|
|
$setECReqDetails->cppheaderbackcolor = '';
|
|
$setECReqDetails->cpppayflowcolor = '';
|
|
$setECReqDetails->cppcartbordercolor = '';
|
|
$setECReqDetails->cpplogoimage = '';
|
|
$setECReqDetails->PageStyle = '';
|
|
$setECReqDetails->BrandName = '';
|
|
|
|
// pour login et carte
|
|
//$setECReqDetails->SolutionType = 'Sole';
|
|
$setECReqDetails->SolutionType ='Mark';
|
|
$setECReqDetails->LandingPage= 'Login';
|
|
//$setECReqDetails->LandingPage= 'Billing';
|
|
|
|
// Advanced options=
|
|
$setECReqDetails->AllowNote = $mem_var_paypal['allowNote'];
|
|
$setECReqType = new SetExpressCheckoutRequestType();
|
|
$setECReqType->SetExpressCheckoutRequestDetails = $setECReqDetails;
|
|
$setECReq = new SetExpressCheckoutReq();
|
|
$setECReq->SetExpressCheckoutRequest = $setECReqType;
|
|
|
|
$paypalService = new PayPalAPIInterfaceServiceService();
|
|
|
|
try {
|
|
/* wrap API method calls on the service object with a try catch */
|
|
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
|
|
} catch (Exception $ex) {
|
|
include_once("error.php");
|
|
exit;
|
|
}
|
|
|
|
if (isset($setECResponse)) {
|
|
echo "<table>";
|
|
echo "<tr><td>Ack :</td><td><div id='Ack'>$setECResponse->Ack</div> </td></tr>";
|
|
echo "<tr><td>Token :</td><td><div id='Token'>$setECResponse->Token</div> </td></tr>";
|
|
echo "</table>";
|
|
echo '<pre>';
|
|
print_r($setECResponse);
|
|
echo '</pre>';
|
|
|
|
if ($setECResponse->Ack == 'Success' || $setECResponse->Ack == 'SuccessWithWarning') {
|
|
$token = $setECResponse->Token;
|
|
|
|
// Redirect to paypal.com here
|
|
//$payPalURL = 'https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=' . $token;
|
|
$payPalURL = $vpaypal_site . '?cmd=_express-checkout&token=' . $token;
|
|
|
|
header('Location: ' . $payPalURL );
|
|
exit;
|
|
}
|
|
}
|
|
|
|
if ($strLangue == 'fr')
|
|
$_SESSION['msg'] = 'e118';
|
|
else
|
|
$_SESSION['msg'] = 'e518';
|
|
|
|
if ($_SESSION['lang'] == 'fr')
|
|
$strPage = 'panier';
|
|
else
|
|
$strPage = 'cart';
|
|
|
|
header('Location: ' . $vDomaine . '/' . $strPage . '/checkout/' . $_SESSION['eve_label_url'] );
|
|
exit;
|
|
|
|
//require_once '../Response.php';
|
|
?>
|