【问题标题】:Trying to Submit Paypal Form with cURL...尝试使用 cURL 提交 Paypal 表单...
【发布时间】:2011-07-28 20:52:44
【问题描述】:

我一直在研究如何在无需用户单击结帐按钮的情况下自动提交 Paypal 表单。这是我必须这样做的代码:

<?php
$post_data['cmd'] = '_xclick';
$post_data['business'] = 'myemail@website.com';
$post_data['item_name'] = 'The Items You are Purchasing';
$post_data['amount'] = '25';
$post_data['no_shipping'] = '1';
$post_data['no_note'] = '1';
$post_data['currency_code'] = 'USD';
$post_data['bn'] = 'PP-BuyNowBF';

foreach ( $post_data as $key => $value) {
$post_items[] = $key . '=' . $value;
}
$post_string = implode ('&', $post_items);

$curl_connection = curl_init('https://www.paypal.com/cgi-bin/webscr');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1); 

curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string); 

$result = curl_exec($curl_connection);

curl_close($curl_connection); 
?>

据我所知,这应该将值传递给 Paypal,并要求用户为“您正在购买的物品”支付 25 美元到“myemail@website.com”。但是由于某种原因它无法正常工作,您知道为什么吗?

【问题讨论】:

    标签: php forms curl paypal form-submit


    【解决方案1】:

    如我所见,您正在使用“立即购买”按钮。它不能与 curl 一起使用,因为用户(客户)应该参与付款过程:登录到他(她)的 PayPal 帐户,或者如果他没有,请输入付款和账单信息,确认付款并返回到您的手动“购物”。用户如何使用 curl 做到这一点?所有 PayPal 行为都将存储在 curl 变量中(如果我们可以这样说的话) javascript。或者您可以将用户重定向到 PalPal 并通过 GET 传递所有参数。它也应该工作。否则,您应该使用 PayPal Payments Pro。具体来说 - 直接付款。用户将在您的网站上填写表格(信用卡、账单信息等),您可以使用curl 完成付款。

    抱歉英语不好。我试着说清楚。我希望它会有所帮助。

    【讨论】:

    • 我了解客户必须登录 paypal 并输入付款和账单信息。我只需要这个来让用户进入带有供用户结帐的信息的贝宝页面。我将研究使用 GET 参数,看看是否可行。感谢您的回答。
    • 我正犹豫着要问,但无论如何,我的英语怎么样?满意吗?不要犹豫与 cmets :)
    • 谢谢 :) 你的问题解决了吗?通过 GET 传递参数可以正常工作吗?
    • 我似乎无法通过 GET,因为这些值已加密。
    【解决方案2】:

    查看您的要求,您只需将发布信息保留在最后一页,然后再将客户重定向到贝宝。

    类似

    <!-- Display all items etc. -->
    
    <form action='https://www.paypal.com/cgi-bin/webscr' method='POST'>
    POST DATA
    
    Submit button
    </form>
    

    您还可以在一个额外的页面中将所有信息发布到一个页面中并使用 javascript 自动提交表单。

    【讨论】:

    • 如果您要投反对票,最好发表评论 - 为什么?
    • 我没有否决您的回答。我将研究您提到的 javascript 选项,看看是否可行。谢谢。
    • @Presto,我正在向投反对票的人讲话。无论如何,祝你的问题好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2012-04-16
    相关资源
    最近更新 更多