微信开放平台手机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' ]. '×tamp=' . $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,如需转载请自行联系原作者
微信开放平台手机APP支付相关推荐
- 新版支付宝开放平台 手机网页支付 整个流程
新版支付宝开放平台 手机网页支付 整个流程 在支付宝签约如下产品 然后,使用支付宝最新的签名工具生成商户的私钥和公钥 值得注意的是,如果是.net c# 请选择PKCS1,我只采用1024密钥长度. ...
- uniApp APP端 支付/分享 微信开放平台的Android 包名签名的坑
在开放平台配置好包名和签名后是会"立即生效" 网上看2种解决方法能立即生效 1.微信重新登录 2.卸载微信重新安装 原因:当你在你的APP上使用微信登录/分享/支付等,微信客户端会 ...
- 第三方App接入微信登录 解读 (微信开放平台)
http://www.cnblogs.com/linjunjie/p/6249989.html 微信开放平台 和 微信公众平台 概念不同. 1.首先需要注册微信开放平台,然后获取开发者认证.审批 ...
- 微信开放平台unionID 的利用(app推广转化率的解决方案)
打开微信公众号开发文档,开幕就是这段话.微信开放平台提供了unionID 一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID ...
- 微信开放平台申请移动应用时如何获取已经安装的第三方app的应用签名
一.问题描述 当我们在微信开放平台申请移动应用时,进行到了如下步骤,需要获取应用签名,下面给出解决方案 二.问题解决 先来到微信提供的获取应用签名网页下载获取应用签名的app,网址如下: https: ...
- 微信开放平台商户申请步骤(APP支付方式)
第一步:注册开放平台账号 登录开放平台(open.weixin.qq.com),注册成为微信开放平台开发者. 第二步:认证开放平台并创建APP 开放平台需进行开发者资质认证后才可申请微信支付,认证费: ...
- 微信开放平台分享功能的app签名怎么获取
微信开放平台需要的签名如果直接使用eclipse打包生成的MD5签名是不行的. 需要把这个eclipse打包生成MD5签名做一些处理: (1)冒号:去掉 (2)大写字母换成小写字母 (做以上处理的时候 ...
- 微信开发 - 第三方网站接入微信登录、微信支付时,本地 redirect_uri 参数错误导致无法调试的解决方案(微信开放平台)完美解决每次都需要部署到线上测试,在本地使用本地 ip 就能轻松调试
问题描述 网上的教程都非常乱且无效,本文将站在新手的角度,超级详细的讲解. 本文提供 在微信开放平台,接入微信登录和微信支付时,本文无法调试 redirect_uri 回调错误 的解决方案, 仅需几个 ...
- ios App支付宝开放平台申请支付宝支付具体步骤
本文章主要介绍支付宝开放平台接入支付宝支付的过程,不涉及支付宝支付sdk代码的导入 1.支付宝支付平台注册账号 2.资料登记 3.企业认证 选择法定代表人支付宝验证(通知法人支付宝登录认证)
最新文章
- 翼方健数曹华:构建数据和计算互联网的必由之路
- 10个不太为人所知的,但实用的PHP函数
- Linux查看utmp文件,linuxc操作utmp和wtmp文件接口
- 软件工程进度条-第十五周
- MapReduce算法–了解数据联接第1部分
- 【热烈祝贺】我刊主编郑纬民教授荣获中国存储终身成就奖!
- CSAPP-C1-计算机系统漫游
- JDBC操作数据库的基本步骤:
- Python题库(100例)第一天
- excle表格导出到本地
- python中自定义标识符_python标识符
- 一文读懂矩估计、极大似然估计和贝叶斯估计
- 什么样的人适合参加IT编程培训?
- 入职程序员从选电脑开始
- 《Python深度学习从零开始学》简介
- 华为鸿蒙系统到底能否使用,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可
!【手机吧】_百度贴吧...
- JDK1.8源码分析:阻塞队列LinkedBlockingQueue与BlockingDeque(双端)的设计与实现
- 127.0.0.1、0.0.0.0和本机IP地址的区别和使用
- 论文的总体结构及质量控制
- py学习9——linux常见指令