我正在尝试找到一种使用 NVP 通过 paypal 快速结账传递自定义参数的方法。 我试过使用已弃用的 PAYMENTREQUEST_n_CUSTOM、据称未弃用的 PAYMENTREQUEST_0_CUSTOM 和 CUSTOM 参数,但它们均无效。
我现在能看到的唯一方法(我宁愿不使用)是: 1. 使用我未使用的其他参数之一(如运费) 2. 使用返回 url 并将参数添加到它作为 GET 参数 3. 使用 session 。
根据错误页面,我的版本是 92.0。 其余参数为:
$nvpstr="&SHIPPINGAMT=0&L_SHIPPINGOPTIONNAME0=test&L_SHIPPINGOPTIONAMOUNT0=0&REQCONFIRMSHIPPING=0&NOSHIPPING=1&L_SHIPPINGOPTIONISDEFAULT0=true&ADDRESSOVERRIDE=1$shiptoAddress&".
"&ALLOWNOTE=0&CUSTOM=".$CUSTOM.
"&L_NAME0=".$L_NAME0."&L_AMT0=".$L_AMT0."&L_QTY0=".$L_QTY0.
"&MAXAMT=".(string)$maxamt."&AMT=".(string)$amt."&ITEMAMT=".(string)$itemamt.
"&CALLBACKTIMEOUT=4&CALLBACK=https://www.ppcallback.com/callback.pl&ReturnUrl=".$returnURL."&CANCELURL=".$cancelURL .
"&CURRENCYCODE=".$currencyCodeType."&PAYMENTREQUEST_0_PAYMENTACTION=".$paymentType;
最佳答案
- 不要混合使用
PAYMENTREQUEST_0_*
变量和它们已弃用的对应变量——使用一个或另一个。 (例如,不要在同一个 API 调用中使用PAYMENTREQUEST_0_PAYMENTACTION
和AMT
- 使用PAYMENTREQUEST_0_PAYMENTACTION
和PAYMENTREQUEST_0_AMT
,或使用PAYMENTACTION
和AMT
。) - 这似乎是 SetExpressCheckout 调用。您可以在此处传递一个
CUSTOM
值,但如果您这样做,它唯一会显示的地方是对您的 GetExpressCheckoutDetails 调用的响应。您需要在 DoExpressCheckoutPayment 调用中提供CUSTOM
值,以便将其记录到您的帐户中。
关于paypal - 在 Paypal 快速结账 NVP 中传递自定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14969689/