我希望PayPal快速结帐页面显示$AUD的总计,但它不接受它。
这工作没问题
$nvpStr = "&RETURNURL=$returnURL
&CANCELURL=$cancelURL
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_AMT=$total
&PAYMENTREQUEST_0_ITEMAMT=$total
&L_PAYMENTREQUEST_0_NAME0=$name
&L_PAYMENTREQUEST_0_QTY0=$quantity
&L_PAYMENTREQUEST_0_AMT0=$price
&L_PAYMENTREQUEST_0_DESC0=$description
&NOSHIPPING=1
";
但这会返回错误代码 [L_LONGMESSAGE1] => 不支持货币。
$nvpStr = "&RETURNURL=$returnURL
&CANCELURL=$cancelURL
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_AMT=$total
&PAYMENTREQUEST_0_ITEMAMT=$total
&PAYMENTREQUEST_0_CURRENCYCODE=AUD
&L_PAYMENTREQUEST_0_NAME0=$name
&L_PAYMENTREQUEST_0_QTY0=$quantity
&L_PAYMENTREQUEST_0_AMT0=$price
&L_PAYMENTREQUEST_0_DESC0=$description
&NOSHIPPING=1
";
事实上,我选择什么代码并不重要 PAYMENTREQUEST_0_CURRENCYCODE 欧元、美元 ,它总是返回该错误。我尝试了大写字母和没有大写字母,检查空格等。
还尝试了每个建议的 url 编码货币代码,但相同的错误。
$cc = urlencode("AUD");
$nvpStr = "&RETURNURL=$returnURL
&CANCELURL=$cancelURL
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_AMT=$total
&PAYMENTREQUEST_0_ITEMAMT=$total
&PAYMENTREQUEST_0_CURRENCYCODE=$cc
&L_PAYMENTREQUEST_0_NAME0=$name
&L_PAYMENTREQUEST_0_QTY0=$quantity
&L_PAYMENTREQUEST_0_AMT0=$price
&L_PAYMENTREQUEST_0_DESC0=$description
&NOSHIPPING=1
";
什么给?
我认为您必须对货币类型进行 url 编码。
如:
PAYMENTREQUEST_0_CURRENCYCODE'=>urlencode('GBP')