在后端处理paypal付款

时间:2016-01-14 11:58:43

标签: php forms laravel paypal

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

我已经研究过IPN,但实际上并不了解它。我的网站目前也在localhost上运行,因此我需要设置一些端口以从paypal获取消息。这不是因为我在一个无法访问路由器的网络上工作。

我已尝试将表单发送到后端,将其与购物车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" alt="Make payments with PayPal - it's fast, free and secure!">
    </form>

1 个答案:

答案 0 :(得分:2)

您可以创建一个托管按钮,然后人们就无法编辑该事务的信息。在PayPal帐户中创建按钮时,请务必使用“保存在PayPal”选项。

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

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

PayPal PHP SDK可让您快速轻松地进行API调用。

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

此方法还可以防止人们使用按钮代码执行任何操作,因为它们都在PHP和API调用中。

IPN仍然是一个很好的工具,但您不需要它来验证您的定价或类似的东西(除非您仍然想以任何理由)。

这是一个可用于自动执行任何事务后任务的工具。这包括付款,退款,争议,清除​​电子支票等。因此,当交易到达您的PayPal帐户时,您可以自动更新数据库,发送自定义电子邮件通知,点击第三方网络服务等。