php生成android端支付宝请求参数
来源:互联网 发布:刀剑神域小说淘宝 编辑:程序博客网 时间:2024/06/02 04:13
alipay_config.php
<?php $alipay_config['appid']='appid';//商户密钥 $alipay_config['rsaPrivateKey']='rsaPrivateKey';//私钥 $alipay_config['alipayrsaPublicKey']=''; $alipay_config['partner']='partner';//(商家的参数;新版本的好像用不到) $alipay_config['input_charset']=strtolower('utf-8');//编码 $alipay_config['notify_url']='http://www.xx.com/api/alipay/notify_url.php';//回调地址(支付宝支付成功后回调修改订单状态的地址) $alipay_config['payment_type']=1;//(固定值) $alipay_config['seller_id']='xx@xxx.com';//收款商家账号 $alipay_config['charset']='utf-8';//编码 $alipay_config['sign_type']='RSA';//签名方式 $alipay_config['version']="1.0";//固定值 $alipay_config['url']= 'https://openapi.alipay.com/gateway.do';//固定值 $alipay_config['method']= 'alipay.trade.app.pay';//固定值 ?>alipayapi.php
<?php header("Content-type:text/html;charset=utf-8"); require_once dirname(__FILE__).'/'.'alipay_config.php'; require_once dirname(__FILE__).'/'.'aop/AopClient.php';function getAlipayParamsToString($subject,$body,$out_trade_no,$price,$timeout_express='30m'){global $alipay_config; //构造业务请求参数的集合(订单信息) $content = array(); $content['timeout_express'] = $timeout_express;//该笔订单允许的最晚付款时间 $content['product_code'] = 'QUICK_MSECURITY_PAY';//销售产品码,商家和支付宝签约的产品码,为固定值QUICK_MSECURITY_PAY $content['total_amount'] = floatval($price);//订单总金额(必须定义成浮点型) $content['subject'] = $subject;//商品的标题/交易标题/订单标题/订单关键字等 $content['body'] = $body; $content['out_trade_no'] = $out_trade_no;//商户网站唯一订单号 $con = json_encode($content);//$content是biz_content的值,将之转化成字符串 //公共参数 $param = array(); $Client = new AopClient();//实例化支付宝sdk里面的AopClient类,下单时需要的操作,都在这个类里面 $param['app_id'] = $alipay_config['appid'];//支付宝分配给开发者的应用ID $param['biz_content'] = $con;//业务请求参数的集合,长度不限,json格式 $param['charset'] = $alipay_config['charset'];//请求使用的编码格式 $param['method'] = $alipay_config['method'];//接口名称 $param['sign_type'] = $alipay_config['sign_type'];//商户生成签名字符串所使用的签名算法类型 $param['timestamp'] = date('Y-m-d H:i:s', time());//发送请求的时间 $param['version'] = $alipay_config['version'];//调用的接口版本,固定为:1.0 $param['notify_url'] = $alipay_config['notify_url'];//支付宝服务器主动通知地址 $paramStr = $Client->getSignContent($param); $sign = $Client->alonersaSign($paramStr,$alipay_config['rsaPrivateKey'],'RSA'); $param['sign'] = $sign; return $Client->getSignContentUrlencode($param);}?>
notify_url.php
<?phpheader("Content-type:text/html;charset=utf-8");require_once 'alipay_config.php';require_once 'aop/AopClient.php';$json=array();parse_str(file_get_contents("php://input"),$json);$Client = new AopClient();$check=$Client->rsaCheckV1($json,"rsa_public_key.so");//第一次验证成功if($check==true){$url="https://mapi.alipay.com/gateway.do?service=notify_verify&partner=".$json["partner"]."¬ify_id=".$json["notify_id"];//第二次验证成功if(file_get_contents($url)==true){if($json["trade_status"]=="TRADE_SUCCESS"){//收款的账号或APPID对不起来if($json["seller_email"]!=$alipay_config['seller_id']||$json["app_id"]!=$alipay_config["appid"]){echo "fail";return;}echo "success";//判断该笔订单是否在商户网站中已经做过处理//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序//请务必判断请求时的total_fee、seller_id与通知时获取的total_fee、seller_id为一致的//如果有做过处理,不执行商户的业务程序 //注意: //退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知 //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");}else if($json["trade_status"]=="TRADE_FINISHED"){//收款的账号或APPID对不起来if($json["seller_email"]!=$alipay_config['seller_id']||$json["app_id"]!=$alipay_config["appid"]){echo "fail";return;}echo "success";//判断该笔订单是否在商户网站中已经做过处理//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序//请务必判断请求时的total_amount、seller_id与通知时获取的total_amount、seller_id为一致的//如果有做过处理,不执行商户的业务程序//注意://退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知 //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");} } else{ echo "fail"; }}else{echo "fail";}?>
阅读全文
1 0
- php生成android端支付宝请求参数
- 支付宝APP支付-php后台生成请求参数
- php支付宝支付接口参数详解
- iOS 支付宝快捷支付 请求参数错误
- iOS 支付宝快捷支付 请求参数错误
- 支付:分析支付中的请求参数
- android 微信扫码支付模式一生成二维码 原生支付url参数错误
- 支付宝快捷支付ios集成,请求参数错误的一大陷阱
- 支付宝android/ios端和php端配合支付功能
- JAVA生成客户端需要的支付宝参数
- 如何使用fiddler查看https请求数据,如查看支付宝请求参数、返回结果等
- android接入支付宝移动端支付
- android支付宝支付
- Android 支付宝【支付】
- android 支付宝支付
- Android 支付宝支付
- Android支付宝支付
- android支付宝支付
- Monocular slam 中的理论基础(2)
- MVC Bundle
- 算法——排序之堆排序
- C++学习-运算符重载
- strchr函数详解
- php生成android端支付宝请求参数
- Java中抽象类和接口的区别
- WPF次线程激活主线程UI相应
- 全面介绍Android Studio中Git的使用
- Android_设备隐私获取,忽略6.0权限管理
- 求树中两个节点的最近公共祖先(版本2)
- xml的校验
- 【如何快速的开发一个完整的iOS直播app】(原理篇)
- 优秀框架介绍(一):twoway-view,解决你想要的各种列表网格的布局