php paypal快速结账问题

时间:2011-09-27 16:57:26

标签: php paypal express-checkout

我正在尝试在我的网站上整合paypal快速结账。我试图使用沙箱进行检查。当我从我的网站提交数据时,生成的令牌没有错误,但是当重定向到paypal时,它没有显示付款金额。 顺便说一下,我正在使用paypal express checkout向导的代码。如果有人指出我正确的方向,将会很有帮助。

require_once ("paypalfunctions.php");

$paymentAmount = 15;

$currencyCodeType = "GBP";
$paymentType = "Sale";
$returnURL = "http://www.mysite.com/paypal/confirm.php";
$cancelURL = "http://www.mysite.com/paypal/index.php";
$resArray = CallShortcutExpressCheckout ($paymentAmount, $currencyCodeType,            $paymentType, $returnURL, $cancelURL);
$ack = strtoupper($resArray["ACK"]);
if($ack=="SUCCESS")
{
RedirectToPayPal ( $resArray["TOKEN"] );

} 

1 个答案:

答案 0 :(得分:17)

由于您没有通过所谓的'订单项详情' (产品数据),PayPal不显示总金额。

如果您只想显示当前购买的金额,请将买家重定向到https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-xxxxxx&useraction=commit(而不是https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-xxxxx

如果您想开始向PayPal发送订单项详细信息,请在SetExpressCheckout API请求中添加以下内容:

// Total amount of the purchase, incl shipping, tax, etc  
PAYMENTREQUEST_0_AMT=300.0  
// Total amount of items purchased, excl shipping, tax, etc     
PAYMENTREQUEST_0_ITEMAMT=300.0  
// Authorize the funds first (Authorization), or capture immediately (Sale)?    
PAYMENTREQUEST_0_PAYMENTACTION=Sale  
// First item  
L_PAYMENTREQUEST_0_NAME0=Item1  
L_PAYMENTREQUEST_0_QTY0=1  
L_PAYMENTREQUEST_0_AMT0=100.00  
// Second item  
L_PAYMENTREQUEST_0_NAME1=Item2  
L_PAYMENTREQUEST_0_QTY1=1  
L_PAYMENTREQUEST_0_AMT1=200.00 

如果您想在自己的历史记录中看到这一点,您还需要在DoExpressCheckoutPayment中加入此内容。