如何在不使用“立即购买”按钮的情况下为自定义购物车集成 Paypal IPN

Posted

技术标签:

【中文标题】如何在不使用“立即购买”按钮的情况下为自定义购物车集成 Paypal IPN【英文标题】:How to Integrate Paypal IPN for Custom Shopping Cart without using Buy Now Buttons 【发布时间】:2011-12-27 21:20:54 【问题描述】:

我很难理解如何使用 IPN 服务将我的购物车商品发送到 PayPal,而无需使用许多教程似乎演示的“立即购买”按钮。

所以我的购物车详细信息作为多维数组存储在 $_SESSION['cart'] 中。

e.g: 
$_SESSION['cart'][0]['item_price'] 
$_SESSION['cart'][0]['item_name']
$_SESSION['cart'][0]['item_description']
$_SESSION['cart'][1]['item_price'] ...

我知道在剩下的流程中会涉及到一个监听器,但是我看不到如何将项目详细信息(例如名称和费用)发送到 paypal 以进行付款处理。

是否涉及 cURL。任何信息都会非常有帮助!

【问题讨论】:

【参考方案1】:

IPN 代表即时付款通知。 IPN 本身是从 PayPal 的服务器到您网站上的某个页面的 POST,让您知道交易已经完成(或失败)。

要在不使用简单按钮方法的情况下将购物车发送到 PayPal,您需要使用 PayPal API。查看 SetExpressCheckout 方法,该方法在 PayPal 网站上初始化购物车/结帐。这将为您提供一个 ID/URL,您可以使用它在以后将您的客户重定向到。

见:

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_SetExpressCheckout

【讨论】:

别忘了,Express Checkout 还需要 DoExpressCheckoutPayment 来完成交易。另请参阅我在 ***.com/questions/7984864/… 中的回答 嗨罗伯特,这帮助我理解了集成 PayPal 所需的流程但是,我对如何保护隐藏的输入感兴趣,因为这似乎不可能? @DanielWest 隐藏了哪些输入?如果您使用 API(SetExpressCheckout 等),则不使用任何 html 表单。这一切都通过您服务器上的 POSTS 完成(使用 curl 或类似工具)。 @SystemParadox 是的,你是对的,那么它只是使用 HTTPS 来确保连接安全的一个例子。谢谢。

以上是关于如何在不使用“立即购买”按钮的情况下为自定义购物车集成 Paypal IPN的主要内容,如果未能解决你的问题,请参考以下文章

如何用paypal建立购买按钮

如何在不使用 @Composable 注释的情况下为撰写函数创建扩展?

如何使用自定义字段制作 PayPal 加密的“立即购买”按钮?

如何在不为其创建专用网站的情况下为我的应用提供隐私政策?

如何在不重载 `operator()`、`std::less`、`std::greater` 的情况下为`std::multiset` 提供自定义比较器?

如何在不影响内容不透明度(悬停时)的情况下为背景不透明度设置动画?