使用 Paypal Payments Advanced(和 NVP API)进行 paypal 快速结账的订单项

pro*_*mer 5 payment paypal nvp express-checkout

我正在使用Paypal Payments Advanced和托管结帐页面 (iframe)。这使客户可以选择单击“paypal 付款”(按钮)(paypal 的快速结帐)或使用信用卡付款。一切似乎都工作得很好,除了在使用 NVP API 传递参数时我未能成功地显示各个行项目。相反,我只看到总数(见下图)。

贝宝结账

我还相信这意味着根本不会发送订单项(即使我使用信用卡付款),因为当我登录 PayPal 查看交易详细信息时,我没有看到任何订单项。

以下是我当前使用的 NVP 参数:

"PARTNER"  => "PayPal", 
"VENDOR"   => "company_here",
"USER"     => "user_here",
"PWD"      => "password_here", 
"TRXTYPE"  => "S",
"AMT"      => "2.16",
"ITEMAMT"  => "2.00",
"TAXAMT"   => "0.16",
"L_NAME0"  => "Test Product 1",
"L_DESC0"  => "Test Product Description",
"L_AMT0"   => "1.00",
"L_TAXAMT0"=> "0.08",
"L_QTY0"   => "1",
"L_NAME1"  => "Test Product 2",
"L_DESC1"  => "Test Product 2 description",
"L_AMT1"   => "1.00",
"L_TAXAMT1"=> "0.08",
"L_QTY1"   => "1",
"CUSTOM"   => "Custom Text Here",
"INVNUM"   => "Invoice12345",
"CURRENCY" => "USD",
"CREATESECURETOKEN" => "Y",
"SECURETOKENID"     => "token_here", 
Run Code Online (Sandbox Code Playgroud)

有什么想法我做错了吗?

pro*_*mer 4

根据Payflow Pro Express Checkout文档(第 19 页)中的这一小节:

要在参考交易中启用订单项支持(包括以下参数),您必须通过http://www.paypal.com/mts联系商家技术支持:

L_NAMEn
L_DESCn
L_COSTn
L_TAXAMTn 
L_QTYn
Run Code Online (Sandbox Code Playgroud)

因此,我致电 PayPal 技术支持,他们在我的 PayPal 经理帐户中启用了订单项支持。但是,交易中仍未发送行项目。所以我再次打电话给他们,他们告诉我,对于付款流程,行项目不会显示在快速结帐中,您也无法在 Paypal 帐户的交易详细信息中查看它们。他们几乎被忽视了。它们实际上用于某些处理器,但由于我的处理器是 PayPal,因此它们没有被用于任何用途。

这个想法是(假设您有一个购物车)您在用户付款之前在付款屏幕上显示订单项的细分(可能与您拥有付款高级 iframe 的屏幕相同,也称为托管结账页面)。然后,如果您想查找特定发票购买了哪些行项目,您需要确保将其保存在您的网络服务器上,而不是贝宝上。然后您可以在 PayPal 上查找发票号码,并与您自己的数据库中存储的订单详细信息进行比较。