1、微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。
因为之前用的是v版,现在用的是v3版,所以在参数上发现不一致。后来看了最新文档才发现这个问题,得与时俱进啊,否则随时掉到坑里。
2、app开发文档
http://kf.qq.com/faq/120911VrYVrA150906F3qqY3.html
找了半天没找到v3的服务器端sdk,原来app的文档没游直接提供服务器端的sdk,最后发现是在微信公众号的开发文档里边,有点晕菜。
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
从这里下载对应的php服务器端sdk。
3、给客户端用的签名方法
private function getWechatpayStrByV3($total_fee,$body,$out_trade_no){
ini_set('date.timezone','Asia/Shanghai');
$notify_url = ROOT_URL."/wechatpay/notify_url_v3.php";
$input = new WxPayUnifiedOrder();
$input->SetBody($body);
$input->SetOut_trade_no($out_trade_no);
$input->SetTotal_fee($total_fee);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetNotify_url($notify_url);
$input->SetTrade_type("APP");
$input->SetProduct_id($total_fee);
$unifiedOrderResult = WxPayApi::unifiedOrder($input);
if($_GET['os']=='iOS'):
$timestamp = time();
else:
$timestamp = $this->getMillisecond();
endif;
$data = array(
"appid" => $unifiedOrderResult['appid'],
"partnerid" => $unifiedOrderResult['mch_id'],
"prepayid" => $unifiedOrderResult['prepay_id'],
"noncestr" => $unifiedOrderResult['nonce_str'],
"timestamp" => (string)time(),
'package' => 'Sign=WXPay',
);
//$this->getMillisecond()
$input = new WxPayUnifiedOrder();
$input->SetAppid($data['appid']);
$input->SetPartnerid($data['partnerid']);
$input->SetPrepayid($data['prepayid']);
$input->SetNoncestr($data['noncestr']);
$input->SetTimestamp($data['timestamp']);
$input->SetPackage($data['package']);
//将下单获取的信息重新签名
$data['sign']=$input->SetSign();
return $data;
}
ps:ios使用的timestamp对应的值要是秒,否则会出错。这个也有点坑。
4、异步通知使用WxpayAPI_php_v3/example/notify.php
重写回调处理函数
public function NotifyProcess($data, &$msg){}
处理自己的业务即可。
5、异步通知接收不到xml
解决方式
//获取通知的数据
$xml = $GLOBALS['HTTP_RAW_POST_DATA'];
if(empty($xml)):
$xml = file_get_contents("php://input");
endif;
6、curl出错,错误码:60
解决方式
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
改为
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
分享到:
相关推荐
本文实例讲述了PHP实现的微信APP支付功能。分享给大家供大家参考,具体如下: 1.进行支付请求 他给的DEMO 用的时候有时候会报错 1)我遇到的情况 把 WxPay.Api.php这个文件的 postXmlCurl 这个 方法里 // curl_...
这份资源主要包含了我对微信支付的经验的积累的以及解决微信各种坑坑坑(重要的话说三遍!!!!!!!!)一种记录,包括微信调取支付,微信支付的回调,微信支付的查询,微信支付的退款,...结合着写代码保证你 遇到的问题都是毛毛雨
微信公众号支付 1. 使用jssdk调用微信支付,具体查看开发文档; 使用的vuex,在mutations中 wechatPay (state, data) { state.payObject = data console.log('微信支付开始请求') if (wechat) { wx....
支付是各位Android开发者们在日常工作中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于如何在Android App中集成支付宝和微信支付功能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友下面随着小编...
第一个问题:商户号的问题,微信app支付与微信小程序支付的商户号不同,微信app内支付与微信开放平台内的商户号绑定,微信小程序支付是与微信公众平台内的商户号绑定。 第二个问题:签名错误, 第一次签名需要的...
使用比较简单,但是还是遇到了一些问题。在此记录一下。 官方文档:MQTT Github 官方MQTT测试工具:MQTTX。测试工具使用说明 MQTT的js文件:mqtt.min.js 先上一点注意事项: (1)MQTT.js 一个 MQTT 协议的客户端库...
然后可以看到下面的页面,这个就是微信支付商户平台的开发文档,很多东西是可以查阅和了解的,在开发使用微信SDK支付功能的时候,遇到了问题也可以到这找找相关须知信息: 然后,还要告诉读者,点击这个开发...
与普通的手机页面不同的是,微信页面提供给你了调用微信APP内置功能的接口,可以实现更复杂的功能。 jssdk的前端使用 前端页面调用jssdk首先要通绑定“公众号设置”的“功能设置”里填写“JS接口安全域名” 然后在...
遇到需要输入的时候全部输入y 3.安装完毕,打开搭建的网站,打开CloudAPI文件找到appssettings.json,将里面的数据库信息改为刚刚搭建的网站的 4.修改完毕保存,启动进程,目录选择这个CloudAPI目录,启动命令为:...
使用过程遇到的问题,可以提交给网站,并能查阅联系方式; I.支持二维码扫描下载并安装到手机。 2、 企业会员可以将简历导出为WORD格式保存到自己电脑,如下图。 3、 企业发布职位,新增设职位福利标签,可同时...
野火IM解决方案 野火IM是一套跨平台、核心功能开源的即时通讯解决方案,主要包含以下内容。 仓库 说明 备注 野火IM Android SDK源码和App源码 可以很方便地进行二次...如果遇到问题,特别是返回errorCode = 22,请微信
HaSog幻神商城 建成项目运营2年,遇到了无数的难题和痛点,苦于市面并没有相似需求的项目,此项目专...多种支付方式随意切换(微信支付,支付宝支付,APP支付,线下付款,收款码转账支付) 精确到街道且更加强大的发货
使用过程遇到的问题,可以提交给网站,并能查阅联系方式; I.支持二维码扫描下载并安装到手机。 2、企业会员可以将简历导出为WORD格式保存到自己电脑, 3、企业发布职位,新增设职位福利标签,可同时选择多个标签,...
如果在使用过程中遇到问题,也可以加入我们的相关交流群进行交流。 本作品中提供了各类常用的移动端交互界面模板,以及微信小程序和支付宝小程序相关界面模板。其中包含的首页、分类页、消息列表、用户中心、注册...
2018国家网络安全宣传周网络安全知识:这些网络安全秘籍你必须懂 2018的主题是"网络安全为人民,网络安全靠人民",那么关于以下的网上安全问题 你真的明白吗?遇到以下的情况的时候千万要注意了,这些网络安全秘籍你...
PaxosStore在微信支付业务的实践-郑建军.pdf Zuul-Beijing-Qcon.pdf 【可公开】黄东旭-12.6-TiDB_on_k8s_AS2018.pdf 【可发布】余汶龙-12.4-2018ArchSummit北京_滴滴余汶龙.pdf 【可发布】张杰-12.8-美团酒旅客户端...
E-Invoice_v1 介绍 基于SASS化的一套多商户线上电子发票系统,支持所有行业的普通增值税发票开具。 软件架构 软件架构说明 ...在使用过程中遇到什么问题,欢迎再提出问题,我们很乐意为您解答。 一米市集IT团队
陌生人发微信红包勿乱点 现象: 不法分子将手机病毒伪装成微信红包诱导消费者领取,遇到陌生人发送"红包"不要乱点,很可能带有病毒。 建议: 如果点开红包需要填写个人信息等, 肯定是骗局,要第一时间关闭手机网络...
现象: 不法分子将手机病毒伪装成微信红包诱导消费者领取,遇到陌生人发送"红包"不要乱点,很可能带有病毒。 建议: 如果点开红包需要填写个人信息等, 肯定是骗局,要第一时间关闭手机网络,修改网银、支付宝等...