微信开放平台手机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,如需转载请自行联系原作者







相关文章
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
549 7
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
661 1
|
1月前
|
移动开发 前端开发 Android开发
开发指南059-App实现微信扫描登录
App是用uniapp开发的,打包为apk,上传到安卓平板中使用
|
1月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
245 3
|
1月前
|
移动开发 安全 API
微信H5支付--微信JS-SDK支付--点金计划
本文详细介绍了微信H5支付和JS-SDK支付的原理、配置和开发流程,涵盖了H5支付在移动端浏览器外唤起微信支付的细节,以及JS-SDK支付在微信内置浏览器中完成支付的相关注意事项。文章还针对微信支付常见问题,提供了解决方案和代码示例。最后,文章深入解析了微信支付点金计划,包括商家小票的自定义开发、API接口以及支付成功后的页面展示逻辑,为开发者提供了完整的开发参考。
56 0
微信H5支付--微信JS-SDK支付--点金计划
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
209 1
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
644 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
1月前
|
Web App开发 移动开发 前端开发
H5微信外支付(移动端浏览器)
H5微信外支付(移动端浏览器)
40 0
 H5微信外支付(移动端浏览器)
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
1月前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
364 0