-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheckout.php
121 lines (99 loc) · 4.27 KB
/
checkout.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
/**
* DokuWiki PayPal Express Checkout
*
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
* @author Martyn Eggleton <[email protected]>
*/
if(!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__).'/../../../');
define('DOKU_DISABLE_GZIP_OUTPUT', 1);
require_once(DOKU_INC.'inc/init.php');
session_write_close(); //close session
$oHelper =& $plugin_controller->load('helper','ppecdg');
require_once ("paypalfunctions.php");
#echo "\n<br><pre>\nconf =" .var_export($conf, TRUE)."</pre>";
$PaymentOption = "PayPal";
if ( $PaymentOption == "PayPal")
{
// ==================================
// PayPal Express Checkout Module
// ==================================
//'------------------------------------
//' The paymentAmount is the total value of
//' the purchase.
//'
//' TODO: Enter the total Payment Amount within the quotes.
//' example : $paymentAmount = "15.00";
//'------------------------------------
$paymentAmount = "";
//'------------------------------------
//' The currencyCodeType
//' is set to the selections made on the Integration Assistant
//'------------------------------------
$currencyCodeType = "GBP";
$paymentType = "Sale";
//'------------------------------------
//' The returnURL is the location where buyers return to when a
//' payment has been succesfully authorized.
//'
//' This is set to the value entered on the Integration Assistant
//'------------------------------------
$returnURL = 'http://'.$oHelper->_sHost."lib/plugins/ppecdg/orderconfirm.php";
//'------------------------------------
//' The cancelURL is the location buyers are sent to when they hit the
//' cancel button during authorization of payment during the PayPal flow
//'
//' This is set to the value entered on the Integration Assistant
//'------------------------------------
$cancelURL = 'http://'.$oHelper->_sHost."lib/plugins/ppecdg/cancel.php";
//'------------------------------------
//' Calls the SetExpressCheckout API call
//'
//' The CallSetExpressCheckout function is defined in the file PayPalFunctions.php,
//' it is included at the top of this file.
//'-------------------------------------------------
$items = array();
$sName = '';
$fAmount = 0;
if(isset($_REQUEST['item_name']) && $_REQUEST['item_name'])
{
$sName = $_REQUEST['item_name'];
}
if(isset($_REQUEST['item_amount']) && $_REQUEST['item_amount'])
{
$fAmount = (float) $_REQUEST['item_amount'];
}
if($sName && $fAmount)
{
$items[] = array('name' => $sName, 'amt' => $fAmount, 'qty' => 1);
}
else
{
echo "Nothing Sent";
exit;
}
// assign corresponding item amounts to "$itemAmount1" and "$itemAmount2"
// NOTE : sum of all the item amounts should be equal to payment amount
$resArray = SetExpressCheckoutDG( $fAmount, $currencyCodeType, $paymentType,
$returnURL, $cancelURL, $items );
$ack = strtoupper($resArray["ACK"]);
if($ack == "SUCCESS" || $ack == "SUCCESSWITHWARNING")
{
$token = urldecode($resArray["TOKEN"]);
RedirectToPayPalDG( $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;
}
}
?>