微信开放平台手机APP支付

简介:

            PHP对接APP微信支付


微信开放平台手机APP支付总结

1. 微信开放平台手机APP支付总结

支付功能链接https://pay.weixin.qq.com/wiki/doc/api/index.html

APP支付功能文档https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3

Demo下载地址https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

    首先了解微信手机APP开放平台文档支付流程, 虽然个人感觉微信给出的文档没有支付宝官方给出的文档详细, 但是认真研究还是可以克服困难的, 有的问题在网上也是可以找到解决方案的. 微信开放平台和微信公众平台的所使用的demo使用的都是同一个JsApi的demo,业务流程是一样的, 只要服务端做好处理将业务参数传给客户端即可. 还有一个要注意的问题, 是在退款时需要用到商户的证书. 


2.  传递商户交易号和价格去微信进行生成预支付订单

利用微信统一下单方法生成预申请id

1
2
3
4
5
6
7
8
9
10
11
$input  new  WxPayUnifiedOrder();
$input ->SetBody( $body );  
$input ->SetAttach( '' test”);    
$input ->SetOut_trade_no( $order_sn );  
$input ->SetTotal_fee( $price ); 
$input ->SetTime_start( date ( "YmdHis" ));  
$input ->SetTime_expire( date ( "YmdHis" , time() + 60*10));     //订单失效时间,报错可不写
$input ->SetGoods_tag( "tag" );        //设置商品标记,说明详见代金券或立减优惠
$input ->SetNotify_url( $notify_url );    //设置接收微信支付异步通知回调地址
$input ->SetTrade_type( "APP" );       //设置类型如下:JSAPI,NATIVE,APP
$order_data  = WxPayApi::unifiedOrder( $input );   //统一下单


注释:$order_data 为微信返回的订单生成结果。如下所示
appid    mch_id    nonce_str    prepay_id   result_code   return_code    return_msg
sign (签名,此时返回的签名不能给APP端调用,需要重新生成签名) 
trade_type      prepay_id (数据最重要。)


3.  将微信返回的prepay_id数据再次签名,再返回给APP端。 

获取到 prepay_id 后,将参数 appid、noncestr、package(注意:Sign=WXPay)、partnerid、prepayid、timestamp 签名后返回给 APP。

1
2
3
4
$order_data [ 'timestamp' ] = time();
$str  'appid=' . $order_data [ 'appid' ]. '&noncestr=' . $order_data [ 'nonce_str' ]. '&package=Sign=WXPay&partnerid=' .WxPayConfig::MCHID. '&prepayid=' . $order_data [ 'prepay_id' ]. '&timestamp=' . $order_data [ 'timestamp' ];
$order_data [ 'sign' ] =  strtoupper (md5( $str . '&key=' .WxPayConfig::KEY));
echo  json_encode( $order_data );

4.  支付完成回调处理

可参考demo回调处理方法notify.php进行业务逻辑处理即可.



支付完成!  可根据自己的业务流程修改业务逻辑 .



参考链接: http://blog.csdn.net/shihunzhe/article/details/53535838



      本文转自噼里啪啦啦 51CTO博客,原文链接:http://blog.51cto.com/pilipala/1917634,如需转载请自行联系原作者







相关文章
|
25天前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
1月前
|
存储 小程序 API
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
|
1月前
|
小程序 开发工具 git
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
|
1月前
|
存储 小程序 前端开发
基于APP的微信点餐小程序的设计与实现
基于APP的微信点餐小程序的设计与实现
28 3
|
1月前
|
开发框架 移动开发 小程序
【微信小程序】-- 配置uni-app的开发环境(四十八)
【微信小程序】-- 配置uni-app的开发环境(四十八)
|
1月前
|
数据采集 测试技术 API
python爬虫之app爬取-微信朋友圈
搭建appium环境,appium基本使用,API操作等等
66 0
|
1月前
|
移动开发 数据安全/隐私保护
HC05蓝牙模块与手机APP连接
HC05蓝牙模块与手机APP连接
34 1
|
1月前
|
小程序 安全 JavaScript
【微信小程序】-- uni-app 项目创建 & 目录结构讲解(四十九)
【微信小程序】-- uni-app 项目创建 & 目录结构讲解(四十九)
|
1月前
|
Java 关系型数据库 MySQL
社区便利店销售微信APP的设计与实现(源码+论文)_kaic
社区便利店销售微信APP的设计与实现(源码+论文)_kaic
|
2月前
|
开发框架 小程序 JavaScript
微信小程序和uni-app的区别
微信小程序和uni-app的区别
41 1

热门文章

最新文章