PayPal付款回访

问题描述 投票:7回答:2

我已经搜索了4个多小时了,如何在付款后用PayPal进行回拨。

事情是这样的,我有一个网站,出售一个局域网聚会的门票,而唯一的支付方式是用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">

然后,信息应该被插入到数据库中,这部分我已经完成了.只是需要回调系统工作.任何人都知道任何好的回调脚本的例子?

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

php callback paypal
2个回答
10
投票

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

在您的Paypal个人资料中,设置您的偏好为订单后自动重定向。您还需要设置一个默认的返回网址。如果您忘了在您的订单表格或发送到Paypal的查询字符串中指定一个返回网址,这将被使用。

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

你可以通过var_dump($_POST)或print_r($_POST)来查看Paypal的响应。

其中一个重要的变量是$_POST['payment_status'],它将告诉你订单的结果。一个成功的交易是'Completed'。一个需要从Paypal或商家那边验证的交易是'Pending'。

最后,别忘了在你的Paypal字段request中指定'invoice',这样你就可以更新订单的状态。比如说

$status = $_POST['payment_status'];
$invoice = $_POST['invoice'];
mysql_query("UPDATE Orders SET status='$status' WHERE order_id='$invoice'");

我知道这是个糟糕且不安全的编码 但至少你能从最简单的形式中了解到大致的意思。

再次强调,不要依赖别人的代码。网络中的代码是为了参考而存在的,而不是上帝的手笔。只有你才有能力创造自己的杰作 :D

希望对大家有所帮助。喜欢就投上一票。不喜欢就忽略。


0
投票

一个商业但低成本的解决方案是LinkLokIPN脚本,网址是。

http: /www.vibralogix.comlinklokipn

除了作为一个满意的PHP版本的客户之外,没有其他关系。有时,购买(也许是适应)一个可行的解决方案比重新发明轮子要容易得多。

© www.soinside.com 2019 - 2024. All rights reserved.