支付宝担保交易接口 php,2015 thinkphp支付宝担宝交易接口源码示例
先到支付宝官网下载,担宝交易程序,然后集成thinkphp
class PayAction extends Action{
public function doalipay(){
require_once(VENDOR_PATH."Alipay/alipay.config.php");
// require_once("lib/alipay_submit.class.php");
require_once(VENDOR_PATH."Alipay/lib/alipay_submit.class.php");
//$alipay_config=C('alipay_config');
/**************************请求参数**************************/
$payment_type = "1"; //支付类型 //必填,不能修改
$notify_url = ""; //服务器异步通知页面路径
$return_url = ""; //页面跳转同步通知页面路径
$seller_email = "xxxxx@139.com";//卖家支付宝帐户必填
$out_trade_no = $_POST['trade_no'];//商户订单号 通过支付页面的表单进行传递,注意要唯一!
$subject = $_POST['ordsubject']; //订单名称 //必填 通过支付页面的表单进行传递
$price = $_POST['ordtotal_fee']; //付款金额 //必填 通过支付页面的表单进行传递
$quantity = "1"; //商品数量//必填,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品
$logistics_fee = "0.00"; //物流费用 //必填,即运费
$logistics_type = "EXPRESS"; //物流类型 //必填,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
$logistics_payment = "SELLER_PAY"; //物流支付方式
$parameter = array(
"service" => "create_partner_trade_by_buyer",
"partner" => trim($alipay_config['partner']),
"payment_type" => $payment_type,
"notify_url" => $notify_url,
"return_url" => $return_url,
"seller_email" => $seller_email,
"out_trade_no" => $out_trade_no,
"subject" => $subject,
"price" => $price,
"quantity" => $quantity,
"logistics_fee" => $logistics_fee,
"logistics_type" => $logistics_type,
"logistics_payment" => $logistics_payment,
"body" => '',
"show_url" => '',
"receive_name" => '',
"receive_address" => '',
"receive_zip" => '',
"receive_phone" => '',
"receive_mobile" => '',
"_input_charset" => trim(strtolower($alipay_config['input_charset']))
);
//建立请求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestForm($parameter,"get", "确认");
echo $html_text;
}
/******************************
服务器异步通知页面方法
其实这里就是将notify_url.php文件中的代码复制过来进行处理
*******************************/
function notifyurl(){
require_once(VENDOR_PATH."Alipay/alipay.config.php");
require_once(VENDOR_PATH."Alipay/lib/alipay_notify.class.php");
//$alipay_config=C('alipay_config');
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyNotify();
if($verify_result) {
$out_trade_no = $_POST['out_trade_no'];
//支付宝交易号
$trade_no = $_POST['trade_no'];
//交易状态
$trade_status = $_POST['trade_status'];
if($_POST['trade_status'] == 'WAIT_BUYER_PAY') {
//该判断表示买家已在支付宝交易管理中产生了交易记录,但没有付款
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//如果有做过处理,不执行商户的业务程序
$data['status'] = 0;
// echo "success"; //请不要修改或删除
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
else if($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {
//该判断表示买家已在支付宝交易管理中产生了交易记录且付款成功,但卖家没有发货
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//如果有做过处理,不执行商户的业务程序
$data['status'] = 1;
// echo "success"; //请不要修改或删除
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
else if($_POST['trade_status'] == 'WAIT_BUYER_CONFIRM_GOODS') {
//该判断表示卖家已经发了货,但买家还没有做确认收货的操作
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//如果有做过处理,不执行商户的业务程序
$data['status'] = 2;
// echo "success"; //请不要修改或删除
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
else if($_POST['trade_status'] == 'TRADE_FINISHED') {
//该判断表示买家已经确认收货,这笔交易完成
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//如果有做过处理,不执行商户的业务程序
$data['status'] = 3;
// echo "success"; //请不要修改或删除
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
else {
//其他状态判断
// echo "success";
//调试用,写文本函数记录程序运行情况是否正常
//logResult ("这里写入想要调试的代码变量值,或其他运行的结果记录");
}
$data['trade_no']=$trade_no;
M('orderinfo')->where(array('order_sn'=>$out_trade_no))->save($data);
echo "success";
}
else {
//验证失败
echo "fail";
}
}
function returnurl(){
require_once(VENDOR_PATH."Alipay/alipay.config.php");
require_once(VENDOR_PATH."Alipay/lib/alipay_notify.class.php");
$alipayNotify = new AlipayNotify($alipay_config);//计算得出通知验证结果
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {
//请在这里加上商户的业务逻辑程序代码
//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
//商户订单号
$out_trade_no = $_GET['out_trade_no'];
//支付宝交易号
$trade_no = $_GET['trade_no'];
//交易状态
$trade_status = $_GET['trade_status'];
if($_GET['trade_status'] == 'WAIT_BUYER_PAY') {
$data['status'] = 0;
}
else if($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {
$data['status'] = 1;
}
else if($_GET['trade_status'] == 'WAIT_BUYER_CONFIRM_GOODS') {
$data['status'] = 2;
}
else if($_GET['trade_status'] == 'TRADE_FINISHED') {
$data['status'] = 3;
}
else {
}
$where['order_sn']=$out_trade_no;
M('orderinfo')->where($where)->save($data);
showmessage('付款成功.继续购其它物品',U(GROUP_NAME.'/Index/index'));
}else {
showmessage('支付失败',U(GROUP_NAME.'/Index/index'));
}
}
}
转载请注明来自88导购: ~~~
支付宝担保交易接口 php,2015 thinkphp支付宝担宝交易接口源码示例相关推荐
- 用户与用户互发红包/支付宝C2C/B2C现金红包php源码示例/H5方式/兼容苹果/安卓
现金红包,是支付宝为移动应用和 H5 场景提供现金收发通道的一款产品,现金红包功能主要应用于 C2C(用户与用户互发红包) <?phpclass AlipayBossFncInvmodeCrea ...
- thinkphp整合极验滑动验证码源码演示下载
thinkphp整合极验滑动验证码源码演示下载-二当家的php源码下载 <!DOCTYPE html><html lang="en"><head> ...
- 活动报名小程序源码/thinkphp后台管理报名小程序源码
介绍: 活动报名小程序源码,基于thinkphp开发的报名小程序源码,带有后台管理,用户发布活动信息.报名可以后台管理,基本都还是可以的. 不过需要注意的是,用户注册部分是发送手机短信,但是短信验证码 ...
- 微商php源码,Thinkphp内核微商新零售平台源码
Thinkphp内核微商新零售平台源码 产品营销推广神器 一个新零售的派单工具,有了平台,会让客户主动加你买货,100%成交,还会积极帮你转介绍,让你不仅仅获得派单,还能建立自己的商友圈,积累强大的 ...
- thinkphp多用户在线客服系统源码-thinkPHP内核 附使用教程
介绍: 步骤 1 请使用宝塔面板安装 上传源码并且解压到网站很目录 设置运行目录为public 测试环境为php5.6 mysql5.5 伪静态选择为thinkphp 宝塔 安全 放通: 2080 ...
- php恋爱,ThinkPHP校园恋爱微信表白墙源码
ThinkPHP校园恋爱微信表白墙源码 本源码亲测可用!若有问题不能成功搭建包退! 您自己搭建的过程中遇见技术问题可以免费咨询. 已经修补好了几个出现的代码bug. 程序简介 本程序使用的是 Thin ...
- 修复采集接口版云开发表情包微信小程序源码下载增加制作等功能
大家好,相信很多人对这个界面的表情包小程序肯定不陌生吧 不错之前该款小程序是属于独立后端的,不管今天所发的这款是云开发的哟 运营着这个表情包的用户应该发现了,最近很多表情包图片都失效了 所以呢,今天小 ...
- Thinkphp装修装饰设计公司网站源码
Thinkphp装修装饰设计公司网站源码,基于Thinkphp二次开发的装修公司.装饰公司.装潢公司等室内装修设计企业网站源码.程序支持多城市,有能力的可再次做下开发! 文件:590m.com/f/2 ...
- Thinkphp开发微信商城小程序源码拼团小程序源码带后台+前端小程序拼团源码仿拼多多
码说明:Thinkphp开发微信商城小程序源码拼团小程序源码带后台+前端小程序拼团源码仿拼多多 其它说明: 基于小程序的拼团应用,用户可通过拼团,随时发起拼团活动并分享给好友 拼团是商品营销和售卖的一 ...
最新文章
- 独家 | 虚假疫苗网站如何获取你的个人信息
- 【转载】如何:为 Windows Phone 创建警报和提醒
- OC的项目网址(自己编写的项目)
- inherits java_JAVA内部类和组合的区别
- 计算差分方程的收敛点_数值计算(五十九)热传导方程组的差分数值求解
- ThinkPHP框架在linux服务器nginx环境下跑出现溢出缓存问题解决方法
- mooc c语言第三周作业,2017moocC语言第七周答案
- 有1000阶的台阶,一个人每次只能走一阶或两阶,用一个递归算法求出共有多少种走法。...
- html5实现微信支付宝接口,支付宝H5开放文档
- 【HTML5CSS3进阶学习01】气泡组件的实现
- 南京邮电大学《管理学原理C》2019/2020 学年第 2 学期期末试卷
- R语言——双因素方差分析
- 腾讯云CDN加速COS图床
- JavaWeb之路02--请求与响应
- 汽车洒水器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- APP推广|小众APP推广渠道,总有适合你的。
- C语言初学者环境配置
- 【FPGA】Verilog编程实现SDRAM读写(一) ----- 初识SDRAM
- 搭建hexo博客与yilia主题优化
- BTC的历史背景及历程
热门文章
- 微信小程序-自定义NavBar组件
- shell 脚本学习笔记
- 红客专用电脑安全工具箱 V 1.8
- DataSource数据源简单理解
- 【AI PC端算法优化】二,一步步优化自然饱和度算法
- html5 营销小游戏,HTML5 营销:三种玩法+案例
- python输入一个自然数、判断是否为素数_Python编程判断一个正整数是否为素数的示例代码分享...
- iOS 打包 Found an unexpected Mach-O header code: 0x72613c21报错
- Java实现经典算法题:兔子产仔
- Ansible 条件判断 循环 handlers 任务失败 文件管理的使用