PayPal付款回拨

End*_*vde 7 php paypal callback

我已经搜索了超过4个小时的关于如何在付款完成后使用PayPal进行回拨的问题.

问题是,我有一个网站销售LAN Party的门票,唯一的支付方式是PayPal.
这是我的PayPal购买按钮代码:

<form target="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="add" value="1">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="_MY_PAYPAL_EMAIL_">
<input type="hidden" name="item_number" value="<?php echo mktime(); ?>">
<input type="hidden" name="cn" value="<?php echo $_SESSION['userid']; ?>">
<input type="hidden" name="return" value="http://80.202.213.240/apps/tickets/buy/success/" />
<input type="hidden" name="cancel_return" value="http://80.202.213.240/apps/tickets/buy/cancelled/" />
<input type="hidden" name="notify_url" value="http://80.202.213.240/apps/tickets/buy/ipn/" />
<input type="hidden" name="lc" value="NO">
<input type="hidden" name="item_name" value="BitHack - Standard Ticket">
<input type="hidden" name="amount" value="100.00">
<input type="hidden" name="currency_code" value="NOK">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="button_subtype" value="Tickets">
<input type="hidden" name="add" value="1">
<input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHostedGuest">
<input type="submit" value="Add to Cart" class="ticketShowButton submit" title="Payment via PayPal">
Run Code Online (Sandbox Code Playgroud)

然后应将信息插入到数据库中,我已完成该部分.只需要回调系统就可以了.有谁知道任何好的回调脚本示例?

BTW,是否可以使用自定义输入?

Jho*_*lla 10

return和notify url变量中指定的回调函数是程序员的责任.为什么?因为每个网站都有自己的订单表结构.试试这个作为指南:

在您的Paypal资料中设置您的偏好,在订单后自动重定向.您还需要设置默认的返回网址.如果您忘记在订单上指定退货网址或发送到Paypal的查询字符串,则会使用此功能.

接下来,将您的rm字段/变量设置为"2"(这将告诉Paypal API在订单后自动重定向到您的返回URL并以POST格式传递订单信息)

您可以通过执行var_dump($ _ POST)或print_r($ _ POST)来查看Paypal的响应.

响应中的一个重要变量是$ _POST ['payment_status'],它将告诉您订单的结果.成功的交易是"已完成".需要Paypal或商家方验证的交易是"待定".

最后,请不要忘记在Paypal字段/请求中指定"发票",以便更新订单状态.就像是:

$status = $_POST['payment_status'];
$invoice = $_POST['invoice'];
mysql_query("UPDATE Orders SET status='$status' WHERE order_id='$invoice'");
Run Code Online (Sandbox Code Playgroud)

我知道这是糟糕的编码,但至少你可以用最简单的形式得到一般的想法.

同样,不要依赖其他代码.网络中的代码仅供参考,而不是上帝的手工.只有你有能力创造自己的杰作:D

我希望有所帮助.如果你喜欢,请投票.如果没有,请忽略.