1

编辑:

让我重新表述我的问题。我试图在重定向到贝宝之前将订单插入 mysql 数据库。现在,我必须分两步完成。按下将重定向到存储订单的另一个页面的按钮,然后重定向到包含 Paypal Checkout 按钮的另一个页面。

贝宝按钮本身就是一个带有隐藏输入的表单。我想知道是否有办法一步到位。即当我按下paypal 按钮时,它会在重定向到paypal 之前将我的订单输入到mysql 数据库中。

4

2 回答 2

3

是的,您可以发出一个header()更新Location:

header('Location: https://www.paypal.com/cgi-bin/webscr?' . http_build_query($vars));

$vars所有必要的变量在哪里:

    $vars = array(
            'cmd' => '_xclick',
            'business' => $paypal_email,
            'lc' => 'GB',
            'item_name' => $item_name,
            'item_number' => $item_number,
            'amount' => number_format($amount, 2),
            'notify_url' => $notify_url,
            'return' => $return_url,
            'currency_code' => 'USD',
            'button_subtype' => 'goods',
            'no_note' => 0,
            'tax_rate' => 0,
    );

这将导致浏览器在没有页面加载的情况下重定向到 PayPal。

于 2012-06-30T16:05:48.347 回答
0

在您的选择付款页面中,当点击提交时,将订单保存在您的订单表中,但将状态设置为 0 或未完成。然后,创建一个可用于在 paypal 中返回 url 的另一个文件。你可以称之为confirmation.php。在其中编写一个代码,将状态更新为 1,这意味着付款成功,现在可以处理订单了。

在您的贝宝连接脚本中,将返回 url 设置为 Confirmation.php 以便执行更新状态。

差不多就是这样。

于 2012-06-30T16:03:26.770 回答