微信支付踩坑记录

参考官方文档

微信的支付文档写的是真的反人类,关键点都不带提的,强迫别人跟着前人一个坑接着一个坑踩;微信接口请求及返回的数据格式都是xml形式;

大体流程

  1. 服务器请求https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey,获取沙箱密钥,作为沙箱环境下的商户支付密钥(KEY),这步操作只在沙箱环境测试时才有
  2. 服务器请求https://api.mch.weixin.qq.com/pay/unifiedorder,统一下单,微信支付服务后台生成预支付交易单,根据返回的参数重新计算签名
  3. app根据上一步的参数,进行支付操作(这部分参考官方给的sdk跟demo)
  4. app支付成功后,微信会根据第二步中设置的回调地址进行回调,需要在回调中做响应的数据校验及业务处理
  5. 上面提到APP支付模式统一下单时,服务器会根据微信返回的预支付交易单重新计算签名并发送给客户端APP,但是使用NATIVE下模式一统一下单时,如果重新计算签名并处理成xml返回给微信,微信会报系统繁忙的错误提醒

1.step1沙箱环境

如果是正式支付环境,只需要用将商户支付密钥(KEY)设置为商户平台上(账户中心→API安全→设置密钥)上的API密钥即可;如果是使用沙箱环境进行测试,根据官方文档-最佳实践-支付验收指引:你需要请求微信借口 https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey 获取沙箱密钥并替换商户支付密钥;
如果使用微信sdk的话,这里还需要注意的是,每次计算签名时,使用的KEY要用沙箱密钥

2.302 found

沙箱环境调用微信接口会经常返302 found的一段html代码,而微信支付常规的输入输出都是xml格式的,校验接口返回的xml数据时就会解析出错,ErrorException: simplexml_load_string(): Entity: line 6: parser error : Opening and ending tag mismatch: hr line 5 and body,官方也没给出具体原因,应该是沙箱环境不稳定吧,只能多试几次了

3. step2 统一下单

接口链接: https://api.mch.weixin.qq.com/pay/unifiedorder 这部分请求参数需要注意total_fee在沙箱环境下不能随意设置金额,否则会报沙箱被扫支付金额(x)无效,请检查需要验证的case,官方也没有看到在哪里有说明,目前只知道app支付是101(分),由于最近沙箱用不了,其他的暂时还没法测;

4.step3 回调

这里需要注意的是,app支付成功后,会一直往服务器回调地址发通知,这里需要根据数据库中的订单信息对接收到的参数进行签名对比,金额对比,并做相应业务处理,最终给微信返回固定格式的成功信息,否则微信会一直发通知,通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 总计 24h4m)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容