
php如何接入paypal支付?
第一步、打开https://www.paypal.com/官网,申请一个paypal账号。
第二步、登录账号,并进入https://developer.paypal.com/developer/accounts/。可以看到你申请账号自动配属的两个测试账号,账号类别分别是:BUSINESS和PERSONAL,PERSONAL的账号里面有$9999。
第三步、给两个账号设置密码,点击账号展开,然后点击Profile,弹出账号信息框,进行设置密码等属性。
第四步、在项目支付页面写入下面代码
立即学习“PHP免费学习笔记(深入)”;
(paypal的测试环境域名为www.sandbox.paypal.com,正式域名为www.paypal.com。)
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="paypal"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="paypal收款账号"> <input type="hidden" name="item_name" value="商品名称-PCB Online Payment"> <input type="hidden" name="item_number" value="可以写入订单ID(备选项)"> <input type="hidden" name="cancel_return" value="取消支付返回url"> <input type="hidden" name="notify_url" value="支付完成返回url"> <input type="hidden" name="return" value="支付完成返回url"> <!-- 货币种类,USD为美元 --> <input type="hidden" name="currency_code" value="USD"> <!-- 支付金额 --> <input type="hidden" name="amount" value="8.88"> <input type="submit" value="立即支付" class="sbtn4" /> </form>
第五步、处理返回信息
《PHP设计模式》首先介绍了设计模式,讲述了设计模式的使用及重要性,并且详细说明了应用设计模式的场合。接下来,本书通过代码示例介绍了许多设计模式。最后,本书通过全面深入的案例分析说明了如何使用设计模式来计划新的应用程序,如何采用PHP语言编写这些模式,以及如何使用书中介绍的设计模式修正和重构已有的代码块。作者采用专业的、便于使用的格式来介绍相关的概念,自学成才的编程人员与经过更多正规培训的编程人员
341
确认“payment_status”为“Completed”,因为系统也会 为其他结果(如“Pending”或“Failed”)发送 IPN。
检查“txn_id”是否未重复,以防止欺诈者重复使用旧的已 完成的交易。
验证“receiver_email”是已在您的PayPal账户中注册的电子邮件地址,以防止将付款发送到欺诈者的账 户 。
检查其他交易详情(如物品号和价格),以确认价格未改变完成了以上检查后,您可以使用 IPN 数据更新您的数据库,并处理购物。
如果收到“无效”通知,则应将其视为可疑通知,并应对其进行调查。
/**
*处理返回信息的方法
*/
public function notify(){
if ($this->user_id == false){
$this->redirect('user/login');
}
$result = $_POST;
$order_id = $result['item_number'];
if ($order_id){
$order = D('order')->find($order_id);
$this->assign('order_num',$order['order_num']);
//1、先更新订单状态
if (($order['pay_status'] == 0) && ($result['payment_status'] == 'Completed') ){// 支付成功
$this->update_order($result);
}
//2、才能添加支付记录
if ($order['pay_status'] == 0){
$this->add_payment_logs($result);
}
}
$this->assign('order_id',$order_id);
$this->assign('payment_status',$result['payment_status']);
$this->assign('payment_gross',$result['payment_gross']);
$this->assign('seo_title','notify');
$this->display();
}更多相关知识,请访问PHP中文网!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号