0

我正在尝试将用户重定向到 Paypal 以进行付款,但我编写了此代码的常用 html 表单(我需要该表单将数据提交到我的网站,然后我重定向到 Paypal)

    ($sandbox) ? $url = "https://www.sandbox.paypal.com/cgi-bin/webscr" : $url = "https://www.paypal.com/cgi-bin/webscr";
    ($sandbox) ? $button = "XXXXX" : $button = "YYYYY";

    $notify_url = urlencode($site_url . "index.php?act=member-pn&mid=" . $ld['member_id']);
    $return_url = urlencode($site_url . "index.php?act=member-ps");
    $cancel_url = urlencode($site_url . "index.php?act=member-pc&mid=" . $ld['member_id']);

    $url .= "/?notify_url=$notify_url&return=$return_url&cancel_return=$cancel_url&cmd=_s-xclick&hosted_button_id=$button";

    header("Location: $url");

为什么只有取消 URL 有效?返回和通知似乎不起作用。

4

3 回答 3

1

我认为您需要将值作为 POST 请求发送。看起来您正在从代码中执行 GET 请求。

至于 notify_url 和 return_url 我假设这些功能已经在您的 Paypal 帐户中启用。

一个可能的解决方案是,您可以使用 jQuery Validate(例如)捕获表单提交,然后将初始数据发送到您的服务器以注册您的用户,然后一旦完成,您就可以将表单提交到贝宝。

于 2012-04-04T15:16:58.250 回答
0

几天前我们做了一些非常相似的东西。我们考虑过 ajax 和 jquery....但现在我们使用 2 种形式,这是最简单的方法。用户在商店结账时点击(1. 表单)-> 发布到我们的服务器-> 我们保存在数据库中-> 用户点击“使用 paypal 付款”(2. 表单)-> 重定向到 paypal -> 支付 ->我们的服务器得到确认 -> 我们的服务器向商店发送确认

这种方式呢?

于 2012-04-05T09:46:46.430 回答
0

所以......我的问题的答案很简单:永远记住,如果您对正在处理的站点进行了 htaccess 身份验证。Paypal 的 IPN 从来没有机会访问我的脚本 :)

而且,是的,您可以对一个简单的按钮而不是 POST 执行 GET 请求。

于 2012-04-05T07:56:50.547 回答