在后端处理贝宝付款

Posted

技术标签:

【中文标题】在后端处理贝宝付款【英文标题】:handling paypal payment in backend 【发布时间】:2016-04-19 17:58:46 【问题描述】:

我有一个向贝宝发出请求的自定义表单。这样做的问题是人们可以在检查器中编辑它。 我也将购物车信息放入 cookie 和数据库中。有没有办法先去后端,检查那里的所有信息,然后发送到贝宝?

我研究过 IPN,但并不真正了解它。我的网站目前也在本地主机上运行,​​所以我需要设置一些端口打开以从贝宝获取消息。不能,因为我在无法访问路由器的网络上工作。

我尝试将表单发送到后端,将其与购物车 cookie 和数据库进行比较。但我不知道我是否可以在后端发送表单。

<div class="paypal pull-right">
    <form name="_xclick" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_cart">
    <input type="hidden" name="upload" value="1">

    <input type="hidden" name="business" value="[Business name here]">
    <input type="hidden" name="currency_code" value="EUR">
    <input type="hidden" name="return" value="http://domain/shop/paid">
    <input type="hidden" name="cancel_return" value="http://domain/shop/payment_failed">
    <?php
        $i = 1;
    ?>
    @foreach($cart as $item)
        <input type="hidden" name="item_name_ $i " value="$item['name']" />
        <input type="hidden" name="amount_ $i " value="$item['price']" />
        <input type="hidden" name="quantity_ $i " value="$item['quantity']" />
        <?php $i++; ?>
    @endforeach
    <input type="image" src="http://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" border="0" name="submit" >
    </form>

【问题讨论】:

【参考方案1】:

您可以只创建一个托管按钮,然后人们就无法编辑交易信息。在您的 PayPal 帐户中创建按钮时,请确保使用“Save at PayPal”选项。

编辑由于您的逐项动态定价,您将无法使用托管按钮,因此 Express Checkout 将是您的最佳选择。

我建议您改用 Express Checkout APIs 而不是付款标准。与 Payments Standard 相比,它有很多优势,主要是强制客人结账体验的能力,因此非 PayPal 帐户持有人可以轻松地使用信用卡付款。

PayPal PHP SDK 将使您的 API 调用变得非常快速和轻松。

基本上,您将使用 SetExpressCheckout 启动流程,然后使用 GetExpressCheckoutDetails 在买家登录后从 PayPal 提取详细信息,然后使用 DoExpressCheckoutPayment 完成交易并处理付款。

这种方法还可以防止人们对按钮代码做任何事情,因为它都在 PHP 和 API 调用中。

IPN 仍然是一个很棒的工具,但您不需要它来验证您的定价或类似的东西(除非您出于任何原因仍然想要这样做)。

这是一个工具,您可以使用它来自动化几乎所有的交易后任务。这包括付款、退款、争议、已结算的电子支票等。因此,当交易到达您的 PayPal 帐户时,您可以自动更新数据库、发送自定义电子邮件通知、访问第 3 方网络服务等。

【讨论】:

谢谢,去检查Exoress Checkout APIs,让你知道进度 是的,我用 Express Checkout 解决了这个问题,这个链接帮了我大忙:smashingmagazine.com/2011/09/… 是的,该链接确实提供了一些很好的信息。不过,我链接到的 PHP SDK 会为您处理所有这些,因此您所要做的就是打开与您要进行的调用相对应的文件并填写参数。很高兴你能以一种或另一种方式解决它!

以上是关于在后端处理贝宝付款的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在后端 Nodejs 中处理付款?

在后端删除付款详细信息 Woocommerce 订单页面

在 Laravel 中获取贝宝付款详细信息时出现 403 错误

Magento 在贝宝付款前下订单

PayPal Checkout 前端和后端通信安全

网站上的贝宝付款处理[关闭]