【发布时间】:2011-08-03 03:56:13
【问题描述】:
我已经为此苦苦挣扎了好几个小时,并且无法理解在用户单击“购买”按钮时在何处/如何调用 php 函数以将订单详细信息插入 MySQL(此时这样做可以让我跟踪转到 Paypal 然后被放弃的订单。
我想把它放在<form action=> 标记中(例如<form action='addToMySQL.php' method='post'>),但这就是Paypal 网址所在的位置,是吗?函数必须在服务器端运行,所以不能用js……那……怎么办?
cURL 已被推荐,我之前也看到过推荐,但用户是否仍会被重定向到 Paypal 的支付页面,然后返回我的网站?谁能推荐一个相关的网络教程?
我是网络编程新手,希望能提供详细信息。
创建要发送到 PayPal 的表单的函数是:
function create_paypal_checkout {
return "
<form action='".PAYPAL_URL."' method='post'>
<input type='hidden' name = 'business' value='".PAYPAL_ID."' />
<input type='hidden' name = 'cmd' value='_cart' />
<input type='hidden' name = 'upload' value='1' />
<input type='hidden' name = 'currency_code' value='USD' />
<input type='hidden' name = 'lc' value='US' />
<input type='hidden' name='rm' value='2' />
<input type='hidden' name='cancel_return' value='http://www.mydomain.com/'>
<input type='hidden' name='notify_url' value='http://www.mydomain.com/ipn-listener.php'>
<input type='hidden' name='return' value='http://www.mydomain.com/thankyou.php?custIP=".$custip."' />
" . render_shopping_cart($shopping_cart) . "
<table class='formBuyButton'>
<tr id='sc_total'>
<td> </td>
<td> </td>
<td id='ppbutt'>
<input type='image' name='submit' src='https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/btn/btn_buynowCC_LG.gif' border='0' alt='PayPal - Buy Now' />
</td>
</form></tr></table>" ;
}
【问题讨论】:
-
您想要的是“回发”。表单直接提交到 Paypal,然后 Paypal 连接到您的服务器以传递交易详细信息。如果没有额外的后台处理以通过 CURL 将数据重新提交到 Paypal,您尝试执行的操作将无法正常工作。
-
我的 paypal 的 IPN 系统工作正常(所有 4 个通信),thankyou.php 登陆页面工作正常,返回的 $_POST 值被解析并更新 mysql 表。但是,这些仅在用户完成贝宝交易时才会执行。我还希望跟踪从未完成的订单,因此需要在初始提交到贝宝时输入到 mysql。我不熟悉 CURL - 那么在这种情况下是这样吗?
-
我不知道贝宝结帐过程的细节,但基本上你必须先以某种方式发布到你的网站以捕获数据,然后重定向/重新发布到贝宝。你如何做到这一点取决于你。 CURL 是从一台服务器向另一台服务器发出 http 请求的一种方式,但不是唯一的选择。