我正在尝试在我的网站上整合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"] );
}
答案 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
中加入此内容。