- APP调起支付返回:-1
请按照以下几点进行排查: 1、使用签名检查工具校验签名算法是否有误 V2版本(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)V3版本(https://pay.weixin.qq.com/docs/merchant/sdk-tools/signature-verification-tool.html)2、确认加密用的秘钥/证书是否正确 V2版本确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)V3版本确认证书是否有误(服务商模式使用服务商商户的商户API证书)3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查) 4、确认参数的大小写,参数名与接口文档一致 5、签名原串的参数值使用原始值,不需要encode 6、接口需要使用UTF-8编码 7、IOS正常,安卓异常的情况下,请排查包名与包签名 8、未注册APPID 9、项目设置APPID不正确 10、注册的APPID与设置的不匹配 11、服务商模式下,统一下单中的sub_appid是否有传入 12、“唤起支付接口”中的签名类型是否与“统一下单接口”的类型一致
09-11 - Android 接入微信支付返回 -1?
请按照以下几点进行排查: 1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误 2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题) 3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查) 4、确认参数的大小写,参数名与接口文档一致 5、签名原串的参数值使用原始值,不需要encode 6、接口需要使用UTF-8编码 7、IOS正常,安卓异常的情况下,请排查包名与包签名 8、未注册APPID 9、项目设置APPID不正确 10、注册的APPID与设置的不匹配 11、服务商模式下,统一下单中的sub_appid是否有传入 12、“唤起支付接口”中的签名类型是否与“统一下单接口”的类型一致
2021-03-16 - 商家转账到零钱问题 ?
PHP SDK 调用接口返回 {"code":0,"msg":"Client error: `POST https:\/\/api.mch.weixin.qq.com\/v3\/transfer\/batches` resulted in a `400 Bad Request` response","data":null,"debug":"#0
10-16 - 小程序交易体验分介绍&案例解析
小程序交易体验分介绍&案例解析 一、一、 背景和运作机制 小程序交易体验分是为保障小程序平台用户的交易体验,促进商家向用户提供更好的服务,帮助商家更好的评估自身服务水平的系统机制,覆盖商业交易行为中的所有争议场景,并在分值节点触发平台预警/管控治理 二、二、 产品路径 登陆微信公众平台——功能——交易保障——交易投诉 [图片] 三、三、 争议场景及案例解析 1,1、 商品介绍与收到实物差距较大 指商家实际销售的商品/提供的服务与其对该商品/服务的展示、描述明显不符,包括但不限于商品/服务的性质、价值、外形、物流方式、运费、售后服务等要素不符。 案例: [图片][图片] 此案例中商家对于商品的描述严重超出一般消费者的认知,收到货物与图片无法匹配 2,2、 商品质量不合格或无法提供质量 指商品/服务质量不符合国家标准、行业标准或平台相关规则要求,或因商品/服务品质问题影响用户对其使用功能、目的的实现。 案例: [图片][图片] 途中商品收到货后为三无且商家无法提供举证 3,3、 商家拒绝答复平台举证 商家在售后,平台纠纷介入环节拒绝提供平台要求的举证材料解决用户问题。 案例: [图片] 平台下发商家补充凭证,而商家答复超时(答复时效为48H) 4,4、 发货超出约定时效 指商家超过承诺发货时限仍未进行发货;如商家未约定发货时限,平台以支付后72小时内发货为准进行判定。 案例: [图片][图片][图片] 5,5、商家引导用户使用线下支付或其他支付方式 指商家诱导用户通过转账、红包等方式进行支付。 案例: [图片] 案例中商家后续引导用户使用微信红包进行付款 6,6、 交易中出现辱骂等行为 指商家对用户、举报人或平台工作人员、检测机构工作人员等人实施威胁、恐吓、诽谤、骚扰、跟踪、诋毁、谩骂等行为,或使用引起他人不满的字句等行为 [图片][图片] 7,7、 商家拒绝服务 指在客服会话应答环节、审核处理售后、平台纠纷介入环节,商家存在未与用户核实确认,自行无故/批量驳回、无理由关闭用户的服务单、拒绝响应回复用户举证等消极处理的行为。商品存在必须涉及的安装/维修等附属服务,商家拒不履约或拖延履约 案例: [图片] 四:扣分申诉及规则链接 申诉路径:登陆微信公众平台——功能——交易保障——交易投诉——违规记录[图片] 交易体验分规则链接:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/jiaoyitiyanfen.html Q&A 1,1. 对规则的进一步理解是否有其他沟通渠道 交易投诉已经开通了在线咨询客服渠道,在登陆微信公众平台——功能——交易保障——交易投诉,可以直接与平台客服进行交互咨询 2,2. 如果出现上述情况后,是否会触发能力限制 在不好的服务行为被判定后,会依据严重程度进行扣分,不同节点会触发不同的能力限制 3,3. 如果出现不可抗力导致服务行为违规,如何进行报备 快速处理交易投诉并解决用户问题,可以规避大量的违规判定,如果问题无法进行解决,可以在申诉模块中进行详细阐述 4
2022-08-04 - 2023 社区年度颁奖|“兔” 开心遇见你,“龙” Time See you Again!
各位社友: Long Time No See!一年一度的社区年度颁奖又跟大家见面啦! 回顾过去的 2023 年,微信开放社区与各位社友一起许愿新年「兔」Do List,一起体验新能力,一起学习新知识,一起用心分享内容、解答疑惑,让 15 万条帖子找到答案。 我们非常感谢各位社友的真诚发问、认真解答、用心分享,让知识得到传播、技术得到提升、开发者朋友们得到成就感与满足感。每一位社友都为社区贡献自己的力量,每一条回复都是对同路人的支持,每一篇文章都是对技术的积累与沉淀。 同时微信开放社区为社区专家用户以及突出贡献者们准备了年度答谢礼物,表彰与感谢他们对社区的突出贡献。他们当中有连续 3 年荣获突出贡献者称号的 “老朋友”,也有今年加入社区 “升级打怪” 的 “小萌新”。他们或幽默有趣或严谨实诚,但都怀着对技术的热爱与真诚,为广大社友分享自己的技术积累,感谢他们的用心付出! 2023年 “兔” 开心遇见各位社友,期待 2024 年 “龙” Time See You Again! 最后预祝各位社友 龙年新气象,代码一级棒! 社区专家用户[图片] 2023 年度社区突出贡献者注:每位个人突出贡献者获得 1 套新年礼包,每位企业突出贡献者获得 2 套新年礼包 Hlxuan.、Memory、拾忆、北京热点互动教育科技有限公司:2023 年共获得 12 次社区月度突出贡献者(排名不分先后) 社区将为以上 4 位突出贡献者分别颁发专属新年礼包,礼物包括: 马歇尔音响、龙年生肖公仔、微信有钱花礼盒套装、微信开放社区突出贡献者红包封面 [图片] 立十、青寒、上海微盟企业有限公司:2023 年共获得 9 次及以上社区月度突出贡献者(排名不分先后) 社区将为以上 3 位突出贡献者分别颁发专属新年礼包,礼物包括: 马歇尔 4 代耳麦、龙年生肖公仔、微信有钱花礼盒套装、微信开放社区突出贡献者红包封面 [图片] Jianbo、Mr.Zhao、showms、陈宇明、那一抹笑😃穿透阳光、一笑皆春、西安众邦网络科技有限公司、辛集启年网络科技有限公司:2023 年共获得 5 次及以上社区月度突出贡献者(排名不分先后) 社区将为以上 8 位突出贡献者分别颁发专属新年礼包,礼物包括: JBL FLIP6 蓝牙音箱、龙年生肖公仔、微信有钱花礼盒套装、微信开放社区突出贡献者红包封面 [图片] BOBO、Jerry、optimistic、大山、大熊、风清雾云开见日出、圣殿骑士、睡前原谅一切、四哥派、正青春、吴川市菜虫网络科技有限公司:2023 年获得过社区月度突出贡献者(排名不分先后) 社区将为以上 11 位突出贡献者分别颁发专属新年礼包,礼物包括: 怪企鹅半边绒毛毯、龙年生肖公仔、微信有钱花礼盒套装、微信开放社区突出贡献者红包封面 [图片] 具体实物礼物款式可能有细微调整,以实物为准,预计 1 个月内联系发出。 微信团队 2024年02月01日
02-01 - 二级商户进件查询的时候,有一个签约状态,签约状态什么?会对用户产生什么影响?
[图片]
2023-09-15 - 做餐饮的客户,为什么也需要接入“发货信息管理”?
做餐饮的小本生意,强制接入“发货信息管理”,冻结2天资金,请问做餐饮的怎么活?
2023-04-13 - 微信支付实名信息小程序授权接口能力【监管原因,暂停开放】
备注说明:接口因为监管原因,2019年11月10日起停止开放。 一、能力背景 互联网+国家战略发布以来,各行业紧锣密鼓推进改革。其中,众多政府民生服务,例如社保查询、公积金查询提取、医疗机构挂号、公用事业缴费等均需要用户提供实名信息。此外,手机卡实名办理、火车客运实名购票、酒店实名入住等行业实名制都在推行。 基于此,为了让用户有更好的体验,让各行业的互联网+服务更顺畅,基于微信支付实名用户基础,提供微信支付实名支付账户信息授权接口。即经过用户的授权,小程序的服务提供者可以获得用户在微信支付认证的姓名以及身份证信息。 二、接入必读 名称: getRealnameAuthInfo 功能: 经过用户授权,可获得用户在微信支付认证的姓名以及身份证信息(非身份证的其他证件信息暂不提供授权) 验证方式: 因为需要用户主动触发才能发起获取实名信息接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发。且需要用户输入微信支付密码验证后,方可算授权。 兼容的微信版本: iOS6.5.22及Android6.5.22 及以上版本 调用必备条件: (1)小程序appid获得内测邀请后提交资质经平台审核通过; (2)小程序开通了微信支付账号; (3)向微信支付工作人员申请证书 开放范围: 现为内测邀请阶段,白名单开通。务必需按下述内容,及第三节指引,申请开通权限后再按照接口文档开发,否则无效。 开放说明: 针对小程序的业务方,小程序的主体以及类目,需要在限定的类目范围内。开展的业务也需要是国家相关法规、政策规定的需要“实名办理”的相关业务。 现阶段微信支付实名信息授权接口能力开通的主体类目限定包含: 政务:政府机构或事业单位 医疗:公立医疗机构 教育:公立教育机构 轨道交通:铁路官方,地铁官方 三、接口申请 满足第二节中描述的开放类目的小程序,可申请微信支付实名授权接口。请按照如下描述,进行接口申请。 必须完成以下两步的描述才算申请成功: 第一步. 邮件申请,开通小程序后台接口能力入口: 申请邮件请发送至腾讯工作邮箱wx_city@tencent.com。腾讯工作人员会邮件回复资料是否准确无误,并说明是否已开通小程序后台入口。 可通过通过以下路径查看是否已开通入口:通过mp.weixin.qq.com登录小程序,在设置->接口设置中,查看是否有“实名授权”的能力卡片。 邮件申请入口的资料内容如下: 微信支付实名信息授权接口内测申请表 [图片] 第二步. 线上入口申请权限: 接收到已开通线上入口的邮件回复后。可登录小程序后台,(登录mp.weixin.qq.com的小程序账号,在设置-接口能力中)完成接口权限的申请。 包括:使用类目的配置、填写相关的申请信息等。然后等待线上审核通过。 完成以上两步工作,且线上审核通过后,即可按照后续的接口文档进行开发调用。 备注:此接口一直处于内测邀请阶段。但由于近期申请流程和方式,需要根据合规监管及用户敏感隐私信息加强审核的要求,进行修改调整。因此申请流程修改调整期间,此接口暂不接受新的小程序申请;已经在使用此接口的小程序,暂不受影响。(建议正在使用的小程序,限于自身业务使用,并加强用户隐私信息保护); 正在申请中的小程序,近期请留意wx_city@tencent.com官方邮件的回复,以进一步增加说明材料。 四、接口文档 4.1使用方法及参数 使用方法为: 需要将 <button> 组件 open-type 的值设置为 getRealnameAuthInfo,当用户点击并同意之后,可以通过 bindgetRealnameAuthInfo事件回调获取到微信服务器返回的auth_token,再用auth_token调用API来获取用户加密过后的实名信息 示例: <button open-type=“getRealnameAuthInfo” bindgetRealnameAuthInfo=“authinfo” category-id="{{[99, 904]}}">实名授权</button> 调用参数为: [图片] 错误码说明: errCode:40003 errMsg:category id not exist 错误说明:添加的类目ID有误(需检查类目ID是否准确。仅需使用一级和二级类目ID即可) 4.2获取小程序类目 本节主要描述如何获取授权小程序账号的可选类目。 (1)请求方式: get(请使用https协议) https://api.weixin.qq.com/wxa/get_category?access_token=TOKEN (2)参数说明 access_token (3)返回说明(正常时返回的json示例): { “errcode”:0, “errmsg”: “ok”, “category_list” : [ { “first_class”:“工具”, “second_class”:“备忘录”, “first_id”:1, “second_id”:2, } { “first_class”:“教育”, “second_class”:“学历教育”, “third_class”:“高等” “first_id”:3, “second_id”:4, “third_id”:5, } ] } (4)返回参数说明: 参数 说明 category_list 可填选的类目列表 first_class 一级类目名称 second_class 二级类目名称 third_class 三级类目名称 first_id 一级类目的ID编号 second_id 二级类目的ID编号 third_id 三级类目的ID编号 (5)错误码说明: 返回码 说明 -1 系统繁忙 4.3获取实名信息 说明 根据小程序返回的auth_token获取用户加密过后的实名消息 使用方法 通过https POST请求,数据为json格式 请求url https://api.weixin.qq.com/cgi-bin/wxopen/getrealnameinfo?access_token={access_token} access_token说明 详见公众号开发文档, api使用的appid必须和小程序的appid保持一致 请求参数 [图片] 返回参数 [图片] 示例: #!/bin/bash TOKEN=‘xxxxxxxxxxxx’ URL=‘https://api.weixin.qq.com/cgi-bin/wxopen/getrealnameinfo’ JSON=’{ “auth_token”: “xxx”, “mch_id”: “xxx”, “cert_serialno”: “xxx”, “timestamp”: 1234444, “sign”: “xxx” }’ curl “${URL}?access_token=${TOKEN}” -d ${JSON} 返回码 返回码说明: [图片] 4.4数据加密文档说明 说明 由于实名信息属于敏感数据,不能以明文数据传输,所以开发者需要用私钥对请求进行签名(sha256后base64编码). 微信支付会对用户的姓名和身份证信息用开发者的公钥加密 ,开发者可以使用私钥解密出明文. 加密的padding算法为RSA_PKCS1_PADDING 商户号、证书序列号和私钥文件的获取详见第五部分微信支付证书指引 签名原串 cert_serialno={cert_serialno}×tamp={timestamp} 签名示例 #!/bin/bash cert_serialno='1234567890’ timestamp=[代码]date +%s[代码] private_key_file=“1900006511_rsa_private_key.pem” ori_content="cert_serialno=${cert_serialno}×tamp=${timestamp}" echo $ori_content sign=[代码]echo -n $ori_content | openssl dgst -sha256 -binary -sign $private_key_file | base64 -w 0[代码] echo “sign: $sign” 解密示例 #!/bin/sh encryted_real_name="BtqSM3KOyt+mDhJhyLCS9vsEoo3gTBupZHwS3i8daCyrUGxlEv+k7cE6U+9eiTo2DPNMouZnPSqv5vRERvwvm//JwkKdrV/xvSB4Ak7mJB+/t4Y4lV6gfeyggzN4xtdWoJfkgm0wa4V7oZGrpnexdwYuwyJYTMoz+87qJRwUfWAgF7U7trJ+b5DvCk9Y6KwT0N4j6PtDAk23k0zg06rTANzU3Mq1IWF7LVBcvSvR9nkNAPzcv06LQ70kxqQqVj5z+H+ERuILwBjuIQozCh6pO37Q3slz8UNnl7r48vw7uZe6be1fSDyf0hYE43n2DMpljnATQOMeJxp7nBrsvwDdPQ==" private_key_file=“1900006511_rsa_private_key.pem” echo -n $encryted_real_name | base64 -d | openssl rsautl -decrypt -ssl -inkey $private_key_file | iconv -f gbk -t utf-8 4.5微信支付商户申请指引 敏感数据需要使用权威CA颁发的API证书来加密。 如果已经获取到了权威CA颁发的API证书,可直接使用。 未获取到的话, 可按下面的方法操作: 证书申请或升级: 登录商户平台申请或者升级到权威CA颁发的证书。 申请指引 升级指引 查看证书序列号: 登录微信支付商户平台:pay.weixin.qq.com,进入【账户中心】->【账户设置】->【API安全】,点击“查看证书”文字按钮。 [图片] 点击查看证书,即可看到证书序列号。 [图片] 五、案例展示 案例:粤省事小程序,实名信息登录。 粤省事小程序是广东省政务一站式服务小程序,为了给用户便捷的体验,使用了微信支付实名授权功能。一方面校验使用者的身份,一方面便捷的获取用户信息,以便为用户提供个性化的政务服务。 具体实现的效果截图如下: [图片]
2022-11-22 - 违规案例:盲盒
盲盒,当前市面上新兴的消费产品:购买前完全不知道里面是什么,打开后才能“真相大白”的盒子,其不确定性因素极大的刺激了消费者的购买欲望。 而这种不确定性,也导致不少小程序开发者走上“歧途”,使用非正常方式售卖盲盒产品,进行非法获利,此类情况无异于赌博,违反了《微信小程序平台运营规范》6.1.5:微信小程序不得发布、传送、传播、储存国家法律法规禁止的以下信息内容,否则视为违规:包含赌博、竞猜和抽奖信息等。 常见违规案例如下: 违规情形1: 原价9元(新人1元)抽取一次盲盒,拆盒后可随机获得其中一款(包括手机、电脑、耳机等)商品,涉嫌以小博大; [图片] 违规情形2: 盲盒内商品价值相差较大,有价值高于价格的产品,也有价值远远低于价格的产品; [图片] 对于上述盲盒违规行为,为确保用户良好的使用体验,建议整改指引如下: 将盲盒调整为售卖商品的形态;明确公示商品参考价格,最小商品价格不能低于出售价格;抽取不同类型的产品,需标注获得概率。 正常盲盒参考案例: 1、盲盒是商品形态,且有抽取商品价格展示; [图片] 2、不同类型的产品抽取,标注了可获取的概率。 [图片] [图片] 若小程序涉及上述盲盒不合规的内容,请开发者重视并及时整改,若到期未整改且再次出现违规内容,平台将对小程序进行相关限制。 规范售卖盲盒,拒绝“赌博”,回归盲盒产品本身,勿盲目而为。
2022-01-24 - 万物皆可“盲盒”但不能盲目
盲盒,当前市面上新兴的消费产品:购买前完全不知道里面是什么,打开后才能“真相大白”的盒子,其不确定性因素极大的刺激了消费者的购买欲望。 而这种不确定性,也导致不少小程序开发者走上“歧途”,使用非正常方式售卖盲盒产品,进行非法获利,此类情况无异于赌博,违反了《微信小程序平台运营规范》6.1.5:微信小程序不得发布、传送、传播、储存国家法律法规禁止的以下信息内容,否则视为违规:包含赌博、竞猜和抽奖信息等。 常见违规案例如下: 违规情形1: 原价9元(新人1元)抽取一次盲盒,拆盒后可随机获得其中一款(包括手机、电脑、耳机等)商品,涉嫌以小博大; [图片] 违规情形2: 盲盒内商品价值相差较大,有价值高于价格的产品,也有价值远远低于价格的产品; [图片] 对于上述盲盒违规行为,为确保用户良好的使用体验,建议整改指引如下: 1、将盲盒调整为售卖商品的形态; 2、明确公示商品参考价格,最小商品价格不能低于出售价格; 3、抽取不同类型的产品,需标注获得概率。 正常盲盒参考案例: 1、盲盒是商品形态,且有抽取商品价格展示; [图片] 2、 不同类型的产品抽取,标注了可获取的概率; [图片] [图片] 若小程序涉及上述盲盒不合规的内容,请开发者重视并及时整改,若到期未整改且再次出现违规内容,平台将对小程序进行相关限制。规范售卖盲盒,拒绝“赌博”,回归盲盒产品本身,勿盲目而为。
2021-08-20 - 微信支付分通用化常见技术问题
商户小程序跳转支付分小程序问题: 1, Q:商户小程序跳转支付分小程序确认订单页报错“商户请求错误,错误码:4190”怎么解决? A:1)错误码271314190的原因:商户package中的服务订单号非法 2, Q:商户小程序跳转支付分小程序确认订单页报错“商户请求错误,错误码:4185”怎么解决? A:1)错误码271314185的原因:商户package为空,如果调的是调起支付分小程序-确认订单接口,请检查传入businessType或path是否按照文档要求规范传入 3, Q:商户小程序跳转支付分小程序确认订单页报错“商户请求错误,错误码:4186”怎么解决? A:1)错误码271314186的原因:商户package非法 4, Q:商户小程序跳转支付分小程序确认订单页报错“商户请求错误,错误码:4108”怎么解决? A:1)错误码271314108的原因:商户package中appid非法 2) 错误码271314108的原因:获取package中的appid与实际拉起支付分小程序时的appid不一致 5, Q:商户小程序跳转支付分小程序确认订单页报错报错“商户请求错误,错误码:4189”怎么解决? A:1)错误码271314189的原因:商户package中serverid非法 6, Q:商户小程序跳转支付分小程序报错“商户请求错误,错误码:4188”怎么解决? A:1)错误码271314188的原因:商户账号信息不匹配,或appid没有开通权限(传入的mchid、appid与实际service_id(服务ID)里配置不一致) 7, Q:商户小程序跳转支付分小程序报错“商户请求错误,错误码:3961”怎么解决? A:1)错误码271313961的原因:服务ID不正确或单号不存在 8, Q:商户小程序跳转支付分小程序(确认页、详情页,授权页)报错“体验版小程序无体验权限,请联系小程序管理员”怎么解决? A:1)检查下envVersion参数用的是否是release,目前只支持打开支付分小程序正式版 9, Q:商户小程序跳转支付分小程序确认订单页后,怎样确认用户点击的是确认按钮,而不是返回按钮? A:1)因为只有用户点击微信侧小程序页面内确认按钮或者返回按钮时,才会带上返回参数;如果用户点击页面左上角的返回图标按钮,则不会带上返回参数 ,所以如果用户点击了确认订单按钮,商户会在app.js中的onshow的res中收到query_id,商户可以使用query_id去查询订单状态,如果订单状态是USER_ACCEPTED:用户成功使用服务,表示用户点击的是确认按钮 10, Q:用户点击确认按钮后,支付分小程序返回商户小程序,商户没有收到返回参数,怎么处理? A:1)onshow的代码是定义在全局app.js中的,不能定义在页面中的js 11,Q:假如用户拉起支付分确认页面之后,没有点击确认,还可以再次请求吗 A:1)不可以,进入确认页面就已经绑定用户了,拉起支付分package只能使用一次 12,Q:商户小程序navigator组件点击后就直接跳转微信支付分小程序了,商户怎样实现在点击的时候商户先调用商户的接口创建支付分订单呢? A:1)这里的跳转小程序有两个方式:1. navigator组件2. api调用(wx.navigateToMiniProgram),如果商户有以上诉求,可以用api调用这种方式 13,Q:用户确认订单页授权不了支付分,点击返回,回到商户小程序产品页,然后商户支付系统调微信查询接口进行轮询查状态,比如10秒或者15秒,再跳到押金页进行押金支付,造成了用户体验不好,这里可以怎么优化? A:1)这里分为两种情况,一种点击左上角返回,这时没有extraData参数返回,商户可以让用户进行押金支付,一种点击页面下的返回,这时有extraData参数返回,商户需要调用查询接口判断下,因为用户没有点击确认使用服务按钮返回商户小程序,微信侧订单状态不会更新为USER_ACCEPTED,这里商户一直轮询来查询微信侧的订单状态并不会改变,所以只要返回商户小程序,用户就没有入口确认使用服务,商户查到订单状态不为USER_ACCEPTED时直接进行押金支付即可 14,Q:支付分小程序返回商户小程序后,场景值1038,appid也可以获取到,但是到我们的小程序后无论哪个页面,从后台切到前台,场景值1038,appid都不会变 ,这就会造成前端无法准确识别是从后台来的还是支付分小程序来的。 A:1)原因请参看文档链接https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html,这里建议商户通过返回值1038+appid+extradata值主动查询的方式,如果没有用户确认订单状态,就出押金入口 15,Q:商户小程序跳转支付分小程序(确认页、详情页,授权页)报错“未通过申请,当前服务未上线? A:1)检查测试微信是否开通白名单,提供服务id和微信号联系运营开通白名单 [图片] 16, Q:商户小程序跳转支付分小程序(详情页)报错“无法查看他人的服务订单”怎么解决? A:1)商户跳转的订单号不属于这个微信用户的订单号,商户内部订单号关联可能混乱了,请商户自行检查 17, Q:商户小程序、jsapi、APP跳转支付分小程序(确认页、详情页、授权页)报错“系统繁忙,请重新尝试”怎么解决? A:1)检查下商户号和appid是否入驻支付分(必须和申请支付分服务权限时提供的信息保持一致) 2)检查下extraData参数的子参数是否少了字段 3)检查下签名是否正确,这里的sign是前端自己的,不能用后台的sign,可以让后台按前端的参数协助生成下,商户key要参与签名,并且key用的是api秘钥,不是apiv3秘钥,请注意api秘钥是32位的。签名方式和api秘钥设置路径参看文档指引https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3,商户可以用在线工具自行校验,工具地址https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1 4)跳转支付分小程序的appid要和创建订单请求的appid保持一致 5)检查下timestamp是否是string类型 18,Q:开启服务支付分小程序android返回了openid,ios不返回,sdk能力没有对齐吗? A:1)目前android确实是会返回,但建议商户自己可以维护一个唯一字段来维护。 19,Q:开启服务支付分小程序返回errcode为-2是什么意思? A:1)-2表示用户是通过左上角返回按钮返回的 20,Q:商户小程序跳转支付分小程序报错“非法的参数,请返回商户重新发起”怎么解决? A:1)检查下extraData参数的子参数里是不是少了mch_id参数 2)检查下timestamp是否是string类型 21,Q:调起支付分小程序授权页后展示解除授权页的原因是什么? A:同一用户微信号在商户同一服务ID下重复签约会直接拉起支付分解除授权页。 商户h5跳转支付分小程序问题: 1, Q:商户小程序跳转支付分小程序确认订单页后,怎样确认用户点击的是确认按钮,而不是返回按钮? A:1)因为只有用户点击微信侧小程序页面内确认按钮或者返回按钮时,才会带上返回参数;如果用户点击页面左上角的返回图标按钮,则不会带上返回参数 ,所以如果用户点击了确认订单按钮,商户会在app.js中的onshow的res中收到query_id,商户可以使用query_id去查询订单状态,如果订单状态是USER_ACCEPTED:用户成功使用服务,表示用户点击的是确认按钮 2,Q:假如用户拉起支付分确认页面之后,没有点击确认,还可以再次请求吗 A:1)不可以,进入确认页面就已经绑定用户了,拉起支付分package只能使用一次 3,Q:用户确认订单页授权不了支付分,点击返回,回到商户小程序产品页,然后商户支付系统调微信查询接口进行轮询查状态,比如10秒或者15秒,再跳到押金页进行押金支付,造成了用户体验不好,这里可以怎么优化? A:1)这里分为两种情况,一种点击左上角返回,这时没有extraData参数返回,商户可以让用户进行押金支付,一种点击页面下的返回,这时有extraData参数返回,商户需要调用查询接口判断下,因为用户没有点击确认使用服务按钮返回商户小程序,微信侧订单状态不会更新为USER_ACCEPTED,这里商户一直轮询来查询微信侧的订单状态并不会改变,所以只要返回商户小程序,用户就没有入口确认使用服务,商户查到订单状态不为USER_ACCEPTED时直接进行押金支付即可 4,Q:商户H5跳转支付分小程序(开启页)报错“请在合法渠道打开页面”? A:1)检查下调错接口没,小程序,app,h5应调对应场景的接口 2)检查下queryString是对值做urlencode编码,不是对整个url编码 5,Q:开启服务支付分小程序返回errcode为-2是什么意思? A:1)-2表示用户是通过左上角返回按钮返回的 6, Q:商户h5跳转支付分小程序(确认页、详情页、授权页)报错“商户请求错误,错误码:4188”怎么解决? A:1)错误码271314188的原因:商户账号信息不匹配,或appid没有开通权限 7,Q:调起支付分小程序授权页后展示解除授权页的原因是什么? A:同一用户微信号在商户同一服务ID下重复签约会直接拉起支付分解除授权页。 商户app跳转支付分小程序问题: 1, Q:商户小程序跳转支付分小程序确认订单页后,怎样确认用户点击的是确认按钮,而不是返回按钮? A:1)因为只有用户点击微信侧小程序页面内确认按钮或者返回按钮时,才会带上返回参数;如果用户点击页面左上角的返回图标按钮,则不会带上返回参数 ,所以如果用户点击了确认订单按钮,商户会在app.js中的onshow的res中收到query_id,商户可以使用query_id去查询订单状态,如果订单状态是USER_ACCEPTED:用户成功使用服务,表示用户点击的是确认按钮 2,Q:假如用户拉起支付分确认页面之后,没有点击确认,还可以再次请求吗 A:1)不可以,进入确认页面就已经绑定用户了,拉起支付分package只能使用一次 3,Q:用户确认订单页授权不了支付分,点击返回,回到商户小程序产品页,然后商户支付系统调微信查询接口进行轮询查状态,比如10秒或者15秒,再跳到押金页进行押金支付,造成了用户体验不好,这里可以怎么优化? A:1)这里分为两种情况,一种点击左上角返回,这时没有extraData参数返回,商户可以让用户进行押金支付,一种点击页面下的返回,这时有extraData参数返回,商户需要调用查询接口判断下,因为用户没有点击确认使用服务按钮返回商户小程序,微信侧订单状态不会更新为USER_ACCEPTED,这里商户一直轮询来查询微信侧的订单状态并不会改变,所以只要返回商户小程序,用户就没有入口确认使用服务,商户查到订单状态不为USER_ACCEPTED时直接进行押金支付即可 4,Q:商户app、小程序、公众号跳转支付分小程序(授权页、确认订单页、订单详情页)报错“暂无法使用此服务,微信支付分逐步开放中”? A:1)没在微信白名单内,配置微信白名单指引参考:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter3_1_5.shtml 2)在白名单内仍然不行,请换个实名了的并绑银行卡了的账号来申请白名单再测试,这账号要经常使用微信支付并且无违规记录,以免综合评估不通过 [图片] 5,Q:开启服务支付分小程序返回errcode为-2是什么意思? A:1)-2表示用户是通过左上角返回按钮返回的 6,Q:商户app调用openBusinessView接口返回errcode为0是什么意思? A:1)商户app调用openBusinessView接口返回errcode为0只代表调用接口成功,支付分申请是否成功和这里无关 7,Q:商户app跳转支付分小程序报错“非法的参数,请返回商户重新发起”怎么解决? A:1)检查下query参数的子参数是不是少了mch_id参数 2)检查下timestamp是否是string类型 8, Q:商户app跳转支付分小程序(确认页、详情页、授权页)报错“商户请求错误,错误码:4188”怎么解决? A:1)错误码271314188的原因:商户账号信息不匹配,或appid没有开通权限 9,Q:调起支付分小程序授权页后展示解除授权页的原因是什么? A:同一用户微信号在商户同一服务ID下重复签约会直接拉起支付分解除授权页。 10,Q:调用跳转微信支付分小程序接口调不起来微信客户端,手动切换到微信客户端才能正常跳转到支付分小程序是什么原因? A:请检查当前使用的opensdk版本,建议使用最新的opensdk版本后再进行重试。opensdk资源下载地址:https://developers.weixin.qq.com/doc/oplatform/Downloads/iOS_Resource.html 查询用户是否可使用服务问题: 1,Q:app怎么获取用户openid? A:1)可以使用微信OAuth2.0登陆方式,参看app获取openid文档指引https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=&lang=zh_CN 2,Q:公众号h5怎么获取用户openid? A:1)参看文档指引https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 3,Q:小程序怎么获取用户openid? A:1)参看文档指引https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 支付分接口问题: 1,Q:创建支付分订单返回{"code":"NO_AUTH","message":"商户暂无权限使用此服务"}? A:1)检查商户号和appid是否和申请支付分权限时填写的appid和商户号一致(必须和申请支付分服务权限时提供的信息保持一致) 2)如果商户开通的是免确认订单权限,创建订单时need_user_confirm只能传false,如果商户开通的是含确认订单权限,创建订单时need_user_confirm只能传true 3)如果商户开通的是免确认订单权限,创建订单时风险金名称name只能用先享模式,如果商户开通的是需确认订单权限,创建订单时风险金名称name只能用先免模式 2,Q:创建支付分订单返回{"code":"PARAM_ERROR","message":"订单风险金额不符合要求"}? A:1)检查商户号开通的是哪种模式的权限,目前只有需确认模式和免确认模式,可以联系微信侧运营确认和配置 2)免确认模式只能传:“ESTIMATE_ORDER_COST:预估订单费用” 3)需确认模式可传先免模式中的:“DEPOSIT:押金,ADVANCE:预付款,CASH_DEPOSIT:保证金”任意一个 3,Q:创建支付分订单返回{"code":"INVALID_REQUEST","message":"非支付分通用场景的订单"}? A:1)检查订单是否用的通用化文档接口创建的订单,order_id为100000开头是通用化订单,order_id为000开头是非通用化订单 4,Q:支付分开启/解除授权服务回调通知、确认订单回调通知、支付成功回调通知一直收不到该怎么处理? A:1)没设置apiv3秘钥是不发送回调的,需要在商户平台设置APIv3密钥,服务商模式下需要用服务商商户号登录服务商平台设置apiv3密钥,详情参考文档指引。http://kf.qq.com/faq/180830E36vyQ180830AZFZvu.html 5,Q:需确认订单模式,同一个用户可以下多少笔免押订单,如果该用户有未完结的支付分订单,会不会影响用户下一笔订单免押 A:1)同一个用户可以确认免押订单进行中的笔数是3笔,待支付的笔数是1笔(未完结&未支付的订单笔数,产品策略,可能会调整);如超过限制则需交押金使用 6,Q:免确认订单模式创建支付分订单报错{"code":"INVALID_REQUEST","message":"综合评估不通过"}是什么原因? A:1)免确认流程创单用户被不对外风控拦截 7,Q:商户调用完结支付分订单接口,金额传0元会有支付成功回调吗? A:1)有收款成功回调 8,Q:商户调用修改订单金额接口,金额传0元会有支付成功回调吗? A:1)有收款成功回调 9,Q:商户调用同步服务订单信息接口,会有支付成功回调吗? A:1)没有收款成功回调 10,Q:商户调用完结支付分订单返回{"code":"INVALID_REQUEST","message":"付费项目size不在1,100之间"}? A:1)可检查下post_payments后付费项目参数是否符合文档要求规范传参 11,Q:apiV3签名失败,报错{"code":"SIGN_ERROR","message":"错误的签名,验签失败"} A:签名要注意: 1) 签名与生成Authorization用的同一个时间戳跟随机串 2) 构造签名串时,里面的url不需要ToLowCase(),不用UrlEncode(),商户请求的url后缀是什么,签名用的url后缀就是什么 3) 查询订单使用的是GET,构建签名串时,里面用的请求报文为空(但是那个换行符还是要有哈) 4)检查证书和商户号是否正确,这里用申请的商户号和此商户号的证书(特约商户别用错成服务商的证书了) 5) 具体可参考该文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay7_1.shtml 12,Q:创建支付分订单,报错{"code":"INVALID_REQUEST","message":"存在未完结订单\n"}是什么原因? A:1)是否待完结的订单超过限制(3条),待支付的订单超过限制(1条),用户可进入微信点击【我->钱包->支付分->全部订单类型->进行中】,进行查询。 13,Q:查询支付分订单报错{"code":"PARAM_ERROR","message":"参数或字段"商户服务订单号"不接受设置多次值,但是被设置了多次。请检查请求数据包中(包括但不限于URL/QueryString/Header/Cookie/包体)中是否多次设置了此字段"}是什么原因? A:1)商户服务订单号(out_order_no)传参有误,该参数只需在请求URL中传参,无需再次在body中的json传参 14,Q:支付分的订单是否支持退款?用哪个接口发起退款? A:1)支持,需用V2或者V3版本的申请退款接口发起。 15,Q:支付分的订单能否用商户服务单号发起退款 A:1)不支持,需要用支付分微信支付交易单号( transaction_id)发起退款, 只有单据状态为USER_PAID,且收款成功渠道为支付分渠道,收款金额大于0,才会返回微信支付交易单号。 16,Q:调用支付分创单接口报错返回“mch_id和appid未绑定”如何处理? A:1)请商户自行检查mch_id和appid是否有对应的绑定关系。绑定步骤参考:https://kf.qq.com/faq/1801116VJfua1801113QVNVz.html 17,Q:完结支付分报错返回“实际结束时间不能晚于使用完结接口的时间”如何处理? A:1)请保证接口传入的服务结束时间<调用接口时间。 2)请确认调用方本地时间或服务器是否准确。 18,Q:创建支付分订单返回:{"code":"INVALID_REQUEST","message":"待支付订单过多"} A:用户待支付订单超出限制,需用户完成待支付订单后才可创建新的支付分订单。默认限制待支付1笔,但策略可能会有调整,请以实际情况为准 19,Q:为什么对账单中以及商户平台看到的商户订单号与创建订单时传入的商户服务单号不一致? A:商户订单号是微信支付分在轮询扣款时主动生成,商户服务单号是商户在调用创建支付分订单时传入,所以不一样是正常的。具体可下载支付分对账单详情了解 20,Q:为什么商户后台看到很多订单的交易状态都是已撤销? A:支付分在轮询扣款失败时产生,商户侧应以交易对账单的交易成功数据或支付分查单接口查询到的状态为准,商户平台展示撤销的订单商户侧可不用关注。 [图片] 21:Q:对账单中没有商户服务单号,商户应该如何对账? A:可通过对账单中的微信订单号及商户号关联对账单文件中商户数据包里的第三个数据,第三个数据就是创单时传入的商户服务单号。 [图片] 22:Q:支付分的账单示例可以在哪里下载? A:1)支付分账单示例 23:Q:支付分查询用户授权记录接口返回{"code":"ORDER_NOT_EXIST","message":"请求操作的授权记录不存在"}是什么原因? A:这个是正常的返回,用户从未产生授权记录:返回状态码 404,错误码为ORDER_NOT_EXIST,用户授权过后解除授权,当前未授权时:返回状态码200,返回参数中”授权状态 authorization_state“为【UNAVAILABLE】。 24:Q:调用支付分完结接口报错返回"{"code":"PARAM_ERROR","message":"订单重入参数校验失败"} "如何处理? A:当前这次请求改变了第一次调用完结成功传入的参数,也就是首次成功调用这个接口后,后续再次请求时改变了首次请求成功的入参,请商户自行确认下订单状态,如果是已完结待支付的状态,建议商户等待微信侧轮询扣款或定时查单即可,扣款失败后微信侧会按照一定频率进行重试扣款,直到成功。重复调用完结订单接口并不会起到催收作用,所以重复完结并没有任何意义。 25;Q:调用支付分创单或创单结单合并API报错返回{"code":"APPID_MCHID_NOT_MATCH","message":"总金额超过此服务的服务风险金额"} A:创单或创单结单合并传入的总金额(total_amount)超过了服务风险金额。 26;Q:用户微信被封了,导致微信支付分订单无法收款成功,需要怎么处理。 A:商户侧可通过非支付分渠道进行收款,收款成功之后可调同步订单接口来结束该订单。 27;Q调用完结订单接口报错返回”服务真实结束时间非法“如何解决? A:请检查完结时传入的结束时间格式是否与创单传入预计的结束时间格式一致。 28;用户微信上显示有进行中的支付分订单,点击进去没有查看到任何订单信息需要怎么处理? A: 用户实名下有多个微信号,订单在用户的另一个微信号上,可让用户自行核实 29;Q:{"code":"INVALID_REQUEST","message":"非支付分通用接口创建的订单,请使用对应的行业化接口"} A:老接口创建的订单只能用老的支付分接口完结、取消等操作。 30;Q:用户微信被封了,导致微信支付分订单无法收款成功,需要怎么处理。 A:商户侧可通过非支付分渠道进行收款,收款成功之后可调同步订单接口来结束该订单。 31;Q:跳转支付分小程序-授权返回页面停留时间过长,请重试该如何解决? A:传入的apply_permissions_token 失效了,预授权获取到的apply_permissions_token 有效期只有一个小时。 32;Q:用户开通支付分返回暂无法查看微信支付分,当前未满足查看条件,请保持稳定的实名信息,多使用微信支付进行消费是什么原因? A: 用户不满足使用支付分的条件,请保持稳定的实名信息,多使用微信支付进行消费 33;Q:支付分查询订单接口返回{"code":"INVALID_REQUEST","message":"与现有记录冲突,且service_id与已存在记录不同"}是什么原因? A:同一商户创建和查询支付分订单时的service_id不一致导致,查询时的service_id需和创单时保持一致 34;Q:用户在微信内解约支付分协议或商户主动调解约接口解约,接收解约回调地址在哪里配置? A:1)解约回调地址目前默认取的是用户授权成功的回调地址,即请求预授权时传入的notify_url 35;Q:微信支付分是否支持使用代金券? A:1)目前完结接口的goods_tag 只支持全场券 36;Q:调用完结订单接口报错:实际服务开始时间不得早于或等于创建订单填写的服务开始时间 A:1)完结时传的实际服务开始时间不能<=创单传入的服务开始时间,如与创建订单填写的“服务开始时间”一致时,不填写。请调整时间后重试。 37;Q:调用完结接口报错返回:创单时填写了服务开始地点,结单才能传入服务结束地点。 A:1)只有创单时传了start_location(服务开始地点),完结的时候才可以传入end_location(服务结束位置) 38;Q:调用同步接口报错返回:用户实际付款成功时间不能早于商户“完结订单"时间 A:1)请求传入的收款成功时间paid_time 需要>完结订单时间 配置及其他问题: 1,Q:模版消息的内容是怎么生成的? A:1)模版消息的内容是商户入驻的时候指定的。 2,Q:联系公众号在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 3,Q:如果支付分订单扣款失败,微信支付会重试扣款吗? A:1)微信支付会按照一定频率持续扣款直到成功 4,Q:apiv3秘钥怎么设置? A:1)请联系微信侧运营帮忙开通商户后台设置入口,然后参照指引文档设置http://kf.qq.com/faq/180830E36vyQ180830AZFZvu.html 5,Q:开通支付分输入密码时有超时时长吗? A:1)输入密码有15分钟有效期,超时后会让用户重新开通,重新输入密码 6,Q:押金什么时候退回? A:1)零钱支付10min以内到账,银行卡支付3天内到账 7,Q:后台没看到apiv3秘钥设置按钮,怎么解决? A:1)需要联系微信侧开通白名单才会出现apiv3秘钥设置按钮 8,Q:安卓手机有个物理返回键,点击这个物理返回键,支付分小程序会有extraData参数返回吗? A:1)不会 9,Q:appid-mchid在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 10,Q:服务名称在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 11,Q:服务logo在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 12,Q:行业归属在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 13,Q:分数标准在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 14,Q:权益说明在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 15,Q:用户开启服务成功通知的回调地址在哪里设置? A:1)请联系微信支付的运营同学填写入驻申请表配置。 16,Q:service_id怎么获得? A:1)请联系微信侧运营协助配置获取 17,Q:商户登录微信商户管理后台,为什么看不见“证书升级”的按钮? A:1)权威CA证书目前在灰度中,如果商户看不见证书升级按钮,可以把商户号发给微信侧运营配置升级入口白名单。 18,Q:调用支付分接口是否必须要升级证书,证书升级会影响交易吗? A:1)调用支付分接口必须升级证书,只影响原来调用接口的时候使用了API证书的接口,证书升级之后,需要在14天内替换原来旧的API证书,详情参看文档指引http://kf.qq.com/faq/180824BrQnQB180824m6v2yA.html 19,Q:哪里可以查询到商户私钥证书序列号? A:1)管理员帐号登录微信商户管理后台,在API安全里面点击“查看证书” 20,Q:支付分支持使用分账吗? A:1)支持,商户需要在完结订单时传入分账标识profit_sharing,然后再调用分账的接口进行分账 21,Q:支付分商户后台上的商户订单号是商户传的out_order_no字段吗 A:1)不是,微信商户平台上支付分订单中的商户订单号是由微信侧生成的,与商户创单时的商户服务订单号无关 22,Q:支付分支持下载对账单接口吗? A:1)支持 23,Q:退款金额有包括企业打款吗? A:不包含,企业打款不算退款 24,Q:小程序BUG怎么上传日志给微信侧定位问题? A:客户端上传日志步骤: 1)ios:“通讯录”--右上角“添加好友”按钮--在输入框里输入“:up”--“上传日志” 2)Android:“我”--“设置”--“帮助与反馈”--右上角“工具”按钮--“上传日志” 25,Q:怎样调用支付分小程序、h5的wx.openBusinessView和wx.navigateToMiniProgram,wx.openBusinessView接口不成功,报错devchongdianviph5.winbons.com“err_msg":"openBusinessView:fail_the permission value is offline verifying"怎么解决? A:1)按步骤引入,具体参数文档指引https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#3 [图片] 26,Q:用户微信零钱里有钱,但扣款失败是什么原因? A:这个case是支付分轮询到银行卡上了,银行还在处理中未明确结果,暂时无法轮询零钱,辛苦指引一下用户,在微信-我-支付-右上角...-扣费服务-微信支付分免密支付-扣款方式,修改为零钱优先,然后再到,微信-我-支付-钱包-支付分-订单列表里找到这笔待支付订单,重试扣款 27,Q:你好,请问支付分相关接口,每个接口大概时间响应是多长,建议的超时时间是多少? A:大部分API请求会在500ms内返回,商户可以参考该数值,并考虑网络耗时配置超时时间。 28, Q:android手机上商户app跳转支付分小程序不能原路返回,apple手机可以,怎么解决? A:1)检查下是不是少配置了android:taskAffinity,android:launchMode等参数,请参看文档https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN [图片] 29,Q:商户跳转支付分小程序报“当前服务未上线”,怎么解决? A:1)检查是否更换了serviceid 2)是否使用的测试白名单中的微信号,请联系微信侧运营开通白名单 30,Q:商户如果有3个端:h5、app、小程序,对应的openid是不同的,怎么实现相同微信号,在某个端已经授权,在其他端可以共同享有授权的方案? A:1)方案一:用户微信授权是绑定在唯一的服务id下的,每个商户的服务id不同,商户需要将商户号和appid配置在同个服务id下,即可享受不同场景的共同授权 31:Q:如果用户零钱余额不足的情况下,支付分是否会尝试从客户绑定的其它卡种扣费? 如果用户默认的扣款方式扣款失败,微信会依次按以下顺序扣费:零钱、信用卡、借记卡。 32:Q:订单风险金额该怎么传比较好? A:1)、订单风险金额不宜比服务订单结算总金额高过多:订单风险金额越高,可获得权益的用户将越少,用户可享受权益的通过率将越低。 2)、订单风险金额不宜比服务订单结算总金额低过多:对于用户是否能享受权益,是基于订单风险金额来评估的,因此,订单风险金额预估比服务订单结算总金额越低,收款成功率可能会越低。因此,尽量准确、合理预估订单风险金额,以保证通过率和收款成功率 3)、完结订单金额小于或等于风险金额,但必须小于此服务风险金额的最大值 4)、风险金额必须小于此服务风险金额的最大值
2022-03-30 - CloudPay.unifiedOrder()报错sub_mch_id与sub_appid不匹配
接口:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html 问题: 1.批量代云开发环境的云函数中调用CloudPay.unifiedOrder()一直报错:"sub_mch_id与sub_appid不匹配" 2.经检查APPID和商户号已成功绑定且已经授权给小程序云开发,如下: [图片][图片] 3.批量代云开发的环境和小程序之间是一种跨账号环境共享的关系,APPID在cloud.getWXContext()中需要拿FROM_APPID字段传值,CloudPay.unifiedOrder()开发文档的请求参数里并没有要求传APPID的相关字段,subOpenid字段的描述里虽然写了“openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid”,但是请求参数里并没有体现这里的sub_appid该怎么传值,如图: [图片] 4.如果把云开发支付理解为一个微信支付服务商,逻辑上sub_mchid传了的话,sub_appid和sub_openid是必传的啊,如果CloudPay.unifiedOrder()在这里做了相关处理,是不是没有考虑跨环境共享的情况,导致上述1的报错? 5.强烈建议官方把这个接口的文档完善一下,描述字段和请求参数不匹配,看的人很困惑;openid字段描述里的商户和subOpenid字段描述里的子商户有什么区别,该怎么理解?
2021-09-07 - 小程序用户头像昵称获取规则调整公告
更新时间:2022年11月9日由于 PC/macOS 平台「头像昵称填写能力」存在兼容性问题,对于来自低于2.27.1版本的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称。 更新时间:2022年9月28日考虑到近期开发者对小程序用户头像昵称获取规则调整的相关反馈,平台将接口回收的截止时间由2022年10月25日延期至2022年11月8日24时。 调整背景在小程序内,开发者可以通过 wx.login 接口直接获取用户的 openId 与 unionId 信息,实现微信身份登录,支持开发者在多个小程序或其它应用间匿名关联同一用户。 同时,为了满足部分小程序业务中需要创建用户的昵称与头像的诉求,平台提供了 wx.getUserProfile 接口,支持在用户授权的前提下,快速使用自己的微信昵称头像。 但实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。如果用户拒绝授权,则无法使用小程序或相关功能。在已经获取用户的 openId 与 unionId 信息情况下,用户的微信昵称与头像并不是用户使用小程序的必要条件。为减少此类不合理的强迫授权情况,作出如下调整。 调整说明自 2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),用户头像昵称获取规则将进行如下调整: 自生效期起,小程序 wx.getUserProfile 接口将被收回:生效期后发布的小程序新版本,通过 wx.getUserProfile 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。自生效期起,插件通过 wx.getUserInfo 接口获取用户昵称头像将被收回:生效期后发布的插件新版本,通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的插件版本不受影响,但如果要进行版本更新则需要进行适配。通过 wx.login 与 wx.getUserInfo 接口获取 openId、unionId 能力不受影响。「头像昵称填写能力」支持获取用户头像昵称:如业务需获取用户头像昵称,可以使用「头像昵称填写能力」(基础库 2.21.2 版本开始支持,覆盖iOS与安卓微信 8.0.16 以上版本),具体实践可见下方《最佳实践》。小程序 wx.getUserProfile 与插件 wx.getUserInfo 接口兼容基础库 2.27.1 以下版本的头像昵称获取需求:对于来自低版本的基础库与微信客户端的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称,开发者可继续使用以上能力做向下兼容。对于上述 3,wx.getUserProfile 接口、wx.getUserInfo 接口、头像昵称填写能力的基础库版本支持能力详细对比见下表: [图片] *针对低版本基础库,兼容处理可参考 兼容文档 请已使用 wx.getUserProfile 接口的小程序开发者和已使用 wx.getUserInfo 接口的插件开发者尽快适配。小游戏不受本次调整影响。 最佳实践小程序可在个人中心或设置等页面使用头像昵称填写能力让用户完善个人资料: [图片] 微信团队 2022年5月9日
2023-09-26 - 支付接口的下单接口的签名,为什么我用工具都验证签名通过了,但是还是报错:签名错误,请检查后再试?
[图片][图片] 明明签名都用官网的软件验证过了,但是一提交又报错,我已经是严格按照文档在写代码了,感觉支付这一块的坑真的太大了
2022-01-31 - 【微信支付新人必读】智慧的提问,快速的解答
写在开头 在技术社区里,你技术提问的解答情况,很大程度上取决于你提问的方式与解决此问题的难度。 智慧的提问就是好的提问习惯和好的提问规范的结合,它能让你事半功倍。至少在微信支付社区,它是真实成立的 如果您没有时间读完全文,请务必读完微信支付社区提问智慧 首先来看一下,微信支付社区的智慧提问法则: 微信支付社区提问智慧 好的提问习惯 如果你有以下几个提问习惯,能直接解决大部分你想问的问题~ [代码]1. 尝试在搜索框中搜索答案; 2. 尝试阅读相关官方文档以找到答案; 3. 尝试阅读FAQ以找到答案; 4. 尝试自己检查或试验以找到答案; [代码] 好的提问规范 好的提问规范,能在最快的解决让你得到最优效的解答~ [代码]请用陈述句准确描述问题 1. 标题定位到微信支付具体业务,比如:支付分、代金券、普通支付、合单支付等; 2. 50+字详细准确描述问题的症状: 3. 包含必要的错误信息、期待的结果; 4. 包含必要的截图或代码等细节; 5. 请描述已经尝试过的方法。 [代码] 如果期望得到微信支付技术支持,请参考以下模板:(有敏感信息可私信提供) [代码]1. 请求的具体API接口(提供文档地址和请求的URL): 2. 问题发生时间【必填】 3. 商户号【必填】: 4. 商户订单号【必填】: 5. 相关报错信息文案: 6. 完整的请求和返回参数以及单号: 7. 问题截图或视频: 8. 已经尝试过的方法: [代码] 如果你已做了上述事情,我们会非常乐意回答比较规范的优质提问,也会在最快的时间推送到支持组进行针对性的回答。 当然为了维持社区的内容质量,无效提问(空泛、偏离技术讨论、软文传播、推广引流等内容),我们也有有权进行删除处理。 下面跟着大家看一下通用的技术社区提问智慧,仅供参考~ 通用技术社区提问智慧 量不在多,精炼则灵 简单的将一大堆代码或数据罗列在求助信息中达不到目的。如果你有一个很大且复杂的测试样例让程序崩溃,尝试将其裁剪得越小越好。 描述问题而不是猜测 提问中描述是什么导致了问题是没用的(如果你的诊断理论是对的,或许你就不会来这儿咨询求助了?)。所以,确保只要描述问题的原始症状,而不是你的解释和理论,让社区名人或官方支持来解释和诊断。如果你认为陈述自己的猜测很重要,应清楚地说明这只是你的猜测并描述为什么它们不起作用。 错误的示范: 我在XX时遇到了YY错误,怀疑是ZZ原因,这个问题怎么解决? 智慧的提问: 我组装的电脑(电脑信息)最近在开机20分钟左右,做内核编译时频繁地报SLG11错,但在开头20分钟内从不出问题,重启动不会复位时钟,但整夜关机会。更换所有内存未解决问题,相关的典型编译会话日志附后。 按时间先后罗列问题症状 刚出问题之前发生的事情通常包含有解决问题最有效的线索。所以,问题描述中尽可能的描述在问题出现之前都做了什么。在命令行处理的情况下,有会话日志(如运行脚本工具生成的)并引用相关的若干(如 20)行记录会非常有帮助。 提问应明确 漫无边际的问题通常也被视为没有明确限制的时间无底洞。最有可能给你有用答案的人通常也是最忙的人(假如只是因为他们承担了太多工作的话),这些人对于没有止境的时间无底洞极其敏感,所以他们也倾向于不太喜欢那些漫无边际的问题。 如果你明确了想让回复者做的事(如指点方向、发送代码、检查补丁或其它),你更有可能得到有用的回复。(因为)这样可以让他们集中精力并间接地设定了他们为帮助你需要花费的时间和精力上限。 结语 提问的智慧就是一个敲门砖,它会让你了解到一个事实,为什么那些看起来很牛的人几乎从不提问,似乎他们一进入这个行业就是牛人了。不是的,他们也有问题,但是通常在提问之前就自己解决了;不是因为他们本来就懂得怎么解决,而是解决问题的经历让他们成为牛人;最终,你只会看到网络上多了一篇文章:关于解决 某某 问题的方案。 最后,祝你在微信支付开发的路上,早日晋升为大神~希望未来有一天,您也能将在社区得到的帮助回馈给更多需要帮助的“微信支付新人”。
2020-11-12 - 境外支付FAQ
(目录)1常见问题 2退款 3风控 4小程序 5普通支付(v2接口)6支付测试 7商户平台问题 8公众平台和开放平台问题 9营销和代金券 10结算、对账单和换汇 11服务器和IP 12回调和域名 13证书和秘钥 14文档和字段 15香港钱包和V3接口 16合单、代扣和分账 17报关 18刷脸 19小微商户 20入驻和子商户进件 1、常见问题 Q:香港商户默认结算币种为港币,需要添加其他的结算币种作为结算,请问怎么添加? A:现在香港商户都是固定必须走港币结算,如果要走美元或者其他币种得经过特批,然后产品这边开通相应的入口 Q:推荐关注配置方法? A:现在在商户平台可以直接配置推荐关注 Q:App秘钥是什么,修改App秘钥对交易有没有影响? A:App秘钥在获取openid的时候需要用到,如果有需要获取openid的交易还是会有影响的 Q:香港商户请求微信支付时对应的接口域名是什么? A:香港商户一般使用apihk.mch.weixin.qq.com。注意和境内的api.mch.weixin.qq.com的不同 Q:支付后推荐关注这个功能在国内钱包和香港钱包都能用吗? A: 跨境钱包已支持、香港钱包待支持 Q:商户权限处罚申诉方法? A:商户被处罚后,如对处罚有争议,可以进行申诉。1、 标准申诉流程:发送邮件到 weixinpay@tencent.com:邮件标题为【申诉/Appeal】+机构 MID+子商户 MID,邮件内容:提供商户注册资质文件、业务模式证明材料(门店照片(线下)、网站/app 截图(线上))、交易详情及凭证,交易详情及凭证说明:如果商户是调单后被处罚,则提交被调订单的交易详情及凭证。如果商户未被调单即处罚,则商户可以选近一个月内的任意三笔交易提供交易详情说明及交易凭证 Q:下单的时候报受理关系不存在? A:可以检查一下统一下单的sub mchid和机构号是否匹配 Q:境外公众号支付支持支付后跳转吗,需要配置什么关联的权限吗? A:支持,可以直接跳转不需要配置权限 Q:APP支付报特约子商户商户号未授权服务商的产品权限? A:需要线下授权,需要发邮件给对接的BD运营申请 Q:不能够正常检测到用户输入密码错误或者取消支付的信息,就报空指针异常了是什么原因? A:输入密码错误无法检测是商户key错了 Q:微信支付时,能设置只能用某一类的卡才能支付的吗?就是设置一个银行卡的白名单,白名单内的银行卡或卡BIN才能支付? A:这个功能没有对外, 目前对外的只有限制信用卡 Q:服务商模式支付怎么设置支付后推荐关注的公众号头像为子商户头像? A:服务商模式支付,如果统一下单传了子商户APPID,就会显示子商户绑定的公众号账户头像。如果没有传子商户APPID,默认就显示服务商绑定的公众号账户头像 Q:不同地区的付款码有什么特征和区别? A:付款码是按照code128标准,一般是18位纯数字,15开头的一般是香港地区的 其他大部分是13开头。The WeChat barcodes are constructed with 18 numbers, with the start value of 10, 11, 12, 13, 14 or 15. Barcodes with 10-14 are for the China mainland users, while barcodes with 15 are for the China Hong Kong users, who cannot use WeChat cross-border pay Q:申请绑定主体不一致的APPID(限定资格开放),这种情况说限定资格开放,哪些商户有这样的资格? A:费率千六及以上且为直连商户 公众号、小程序可以网上自助绑定,可参考以下链接:http://kf.qq.com/faq/1801116VJfua1801113QVNVz.html 其他费率或者子商户号,找运营申请 Q:刷卡支付PAYERROR原因是用户没有输入支付密码,但是用户侧为什么没有输入密码的界面? A:可能用户侧超时,导致没能拉起收银台。目前境外商户开通了卡包功能后,会成为卡包的子商户。上述情况主要会影响:在系统查单时,系统识别出它有父商户,就会带着父商户信息一起查,但实际上,大单系统里是没有这个父的,最终会导致这笔单查不出来。 解决办法:把上述两个号码列入 “不带父商户号查询”名单,就可解决 Q:APP支付输入密码的时限是多久? A:正常是2个小时 Q:怎样关闭自动提现,或者设置预留固定金额后提现? A:老资金流没有这个功能,都是前一天的交易全部自动提现。如果你想账户里留一定的金额。你也可以充值进去,因为充值的资金不会被自动提现 Q:请问下境外的appid如何能得到境内公司的微信支付授权? A:不可以绑定境内的 Q:刷卡支付用户手机的付款码的有效时间是多久呢? A:一般来说6分钟后会失效 Q:刷卡支付多久之内可以被支付? A:刷卡支付如果45s内没有支付,订单就会自动被撤销 Q:支付失效时间设置有什么规则? A:刷卡至少1分钟,其他5分钟 Q:有没有为商户公众号支付设置静态二维码的API? A:There is no such kind of direct APIs, you can generate the static qr based on a h5 page developed by you and integrate Official account payment Q:对于不同地区的商户,香港钱包和大陆钱包用户付款有什么规定呢? A:1.大陆钱包,分身份证实名用户,和非身份证(港澳回乡证,台胞证,护照)实名用户,前者可以在境内,以及任何已支持微信跨境支付的境外区域付款,后者只支持在大陆付款。2.香港钱包,都是香港实名用户,只支持在香港本地或大陆消费,其他区域都不支持。(境内商户开通香港钱包收款权限,需要找BD评估,然后找橘子申请开通) Q:商户父子授权产品权限被冻结,该如何申请恢复? A:请商户提供注册证书,说明实际业务范围,若为线上业务:请提供商户官方网址或(售卖商品链接)/APP在第三方应用市场的下载链接等;若为线下业务:请提供门店外景照片(店名、地址、悬挂于店内的注册证书需清晰可见)、店内商品陈列照片、收银台照片、第三方地图定位截图等。Please provide the merchant with the registration certificate, indicating the actual business scope. For online business, please provide the merchant's official website or (product selling link) /APP download link in the third-party application market, etc.;For offline business: please provide store location photos (store name, address, registration certificate hanging in the store should be clearly visible), store product display photos, cashier photos, third-party map location screenshots, etc. Q:查询汇率接口查到的汇率和支付页面展示的汇率是不一样的吗? A:是的,查询汇率接口返回的只是一个参考汇率,具体的汇率,还是需要以查询订单返回的汇率为准 Q:目前境外是否开放微信支付成功页面关联小程序? A:这个是需要特殊申请的,而且非常难。QA之前提供的appid是我们内部的appid,是方便你们接入刷卡支付,不适用于公众号支付 Q:服务商可以同时是子商户吗? A:不可以 Q:微信的user agent是什么? A:MicroMessenger,但user agent本身有一个风险,就是它其实并不唯一,有时候可能两个完全不相关的app可能useragent是一样的,虽然这种情况出现的几率非常非常低 Q:商户已经开通了香港钱包,双开机构商,进件的商户既可以在大陆钱包里面收单,也可以在香港钱包收单,但是实际中使用内地钱包可以成功支付,但是使用香港钱包就失败了? A:可以按照以下几点逐一检查: 1 国内商户仅直连和服务商模式下的商户支持香港钱包。 银行和机构下的子商户不支持香港钱包。 2 用户的下单接口中,传了limit_pay等参数时,且用户是香港钱包的时候,就会报这个错误,具体要看看商户的下单参数(除了limit_pay外,也有可能是合单,或者有要发票,反洗钱等特殊标记) Q:限额问题? A:通过绑定的银行卡支付的,按银行自己设定的限额为主, ——》通过绑定的银行卡支付的,根据不同用户支付的银行卡不同而不同,基本在3万元-5万元/单笔限额为主。 零钱支付限额另外有相关的文档可以参考 Q:境外可以申请渠道号吗? A:暂时还没开放 2、退款 Q:有一笔交易要退款但商戶法务不同意签退款授权书? A:每一次都要做退款授权是不可能的,退款授权一般都是机构给子商户只授权一次权限 Q:境外退款的规则是什么,退款的有效期是多久,为什么退款会被关闭了? A:主要有两个资金池,人民币池和结算币种池,T日交易资金都在前者,T+1都会到后者且不可逆,达到结算起点,就会从后者到商户银行账户。退款都用前者即未结算的人民币的资金。如果商户的未结算人民币资金一直余额不足,超过8天没钱退款就自动关闭了 Q:退款关闭之后再发起退款需要使用什么退款单号? A:需要使用新的退款单号 Q:退款使用什么汇率? A:如果是外币标价,退款用交易日汇率,那当时给商户结算多少,退款时也就扣除多少,用户当时支付了多少,也就会返回多少; 人民币标价的情况,正向结算还是用交易日汇率,负向结算用的是退款日的汇率 Q:融合商户的退款规则是什么样的? A:融合商户有三个资金池,CNY收款资金池,港币收款资金池,结算资金池,大陆用户的交易T日进CNY收款池,香港钱包的用户直接进港币收款池,T+1日全部进结算资金池。如果T+1日做退款,需要对应的收款资金池里有新进的交易资金,比如大陆人退款,就要求CNY收款池有资金,香港人退款,就要求港币收款池有资金,但是注意这里不能使用结算池的资金用作香港用户的退款 Q:境外商户支持商户平台余额退款吗? A:支持。只要有人民币资金,就可以在商户平台退款 Q:非交易日当天发起的退款,系统在什么时候发起处理? A: 如果不是交易日当天的退款,在当天中午12点以前发起的退款系统都会在中午12点后再处理 Q:境外退款的资金是用机构还是用子商户的资金来退呢? A:以机构的维度,资金池从来不会以子商户做划分,都是机构层级的 Q:Query Order API发起request时、trade_status是・NOTPAY ・CLOSED ・REVOKED ・PAYERROR时、都作为失败处理、没有再实施Revoke Order API的必要了对吗? A:所有的交易都要完成闭环,最终状态保证为close或revoke,也就是必须对刷卡订单调撤销,其他支付订单调关闭 Q:退款报交易未结算资金不足? A:退款只能使用当天商户平台的所有交易的特定该币种的订单的总资金,而且需要原路退回,用户支付的是港币退款也需要用港币 用户支付的是人民币退款也需要用人民币,你们累加一下今天商户平台该币种所有的交易的总资金看看是否满足退款所需金额 Q:申请退款报金额错误? A:可以检查一下申请退款的金额兑换为结算币种的金额后是否满足结算币种的最小单位,比如说订单金额是1CNY,退款金额是0.04,商户结算币种是AUD,0.04CNY兑换成AUD后不足0.01AUD,所以这里会报金额错误 Q:香港商户按照港币标价的订单退款的时候怎么计算汇率? A:港币标价是我们承担汇损,商户测和用户侧都是按比例退,没有汇差。需要退多少HKD订单金额,就按照比例退多少CNY给用户 Q:退款发起通知是通过什么接口配置的呢? A:这是我们默认带的服务,不需要配置 Q:由于余额不足导致的退款单关闭后,原单重试不成功怎么办? A:现在是关单时没有修改退款的幂等(商户退款单号与微信退款单号的映射)。所以部分情况下,退款关闭之后,用原来的退款单号重试是可以成功的;但是,由于余额不足导致的退款单关闭后,原单重试一定不成功。在明确退款关闭的情况下是可以更换退款单号的。通过查询订单接口确定退款已经关闭了之后,可以更换退款单号重试 3、风控 Q:你已在当前商户支付过一笔相同金额的订单,请确认是否继续支付? A:这是最近产品侧上的一个策略,重复支付提示(弹框版本) 商业支付1分钟内,同用户同商户同金额无回调和查单判断 Q:什么是疑似重复支付? A:商业支付,1分钟内 同用户同商户同金额,有回调判断 (重复支付提示:在重复支付提示的基础上,若满足无回调无查单,则出现全页面提示(否则还是弹框) 此外,预埋刷卡能力,刷卡相关报表建设OK后再规划放量) Q:同一个交易调用统一下单去分别得到qrcode,jsapi和ios/android对应的order,但是最终只会使用其中一个。这个会被当做支付成功率太低的异常支付行为来处理吗? A:同一个订单,按照不同渠道支付业务上是可以的,从订单转换率上来说肯定是有一定的影响,不过你们业务系统能够辨识并接受就可以 4、小程序 Q :小程序A获取openID,并生成支付连接,在小程序B里用这个支付连接,可以成功支付吗? A :不能实现,小程序B里一定要用自己的参数才能下单,别的小程序的参数是不能支付的 Q:小程序可以内嵌H5支付吗? A: 不可以,小程序内嵌的h5完全无法拉起支付 Q:小程序支付需要设置支付目录吗? A:不需要的,只有JSAPI支付需要设置支付目录 Q:小程序调起微信支付就闪退是什么情况? A:检查下是不是参数有问题, 可能是造成内存溢出了。小程序被封也有可能造成这个情况 Q:机构模式下小程序拉起付款码失败是什么原因? A:原因是目前还不支持机构模式 5、普通支付(V2接口) Q:境外APP支付和刷卡支付调起支付请求报系统繁忙? A:可以先检查一下统一下单中传的参数“fee_type”是否正确填写,大小写也要填对,一般只能使用大写的字母表示货币类型 Q:支付目录是如何配置的,有什么规则? A:支付目录配到二级或三级是不行的,一定要配到最后一级 支付授权目录是网站发起请求的页面所在目录,并且必须是能通过url地址访问的(与真实物理目录路径无关)。注意这个目录在注册填写时,需要精确到最细一级的且使用名称后直接加文件名,不可再增加 or 删减目录。 支付目录的设置,首先要看你支付的当前页面URL,严格区分大小写。 比如当前页面是:http://www.taidupa.com/wxpay/js_api_call.php 那么就必须填写支付授权目录为: http://www.taidupa.com/wxpay/ Q:服务商公众号支付商户没有配置支付目录,也能支付成功 ,查到服务商子商户下都没有和商户提供的支付页面url一样的支付目录,这个怎么解决? A:那可能是服务商的公众号 , 一定要配置子商户自己的 才行 (子商户的公众号支付才需要配置支付目录url 服务商的不需要配置) Q,签名错误怎么排查? A:可以按照以下几点排查: 1,参数格式大小写可能不对。 2,参数的长度也需要满足文档要求。 3,商户的key是否正确。 4,需要确认接口是否有特殊签名类型要求 Q:境外商户标价币种支持什么类型? A:支持人民币或者结算币种。每个机构号或直联商户号只能有一个结算币种 Q:APP支付报:服务商商户号未开通该产品的受理权限? A:机构模式下 子商户需要申请授权APP支付权限才行 Q:H5支付域名和JSAPI分别怎么配置,H5支付域名可以和JSAPI支付目录一样吗? A:可以相同,也可以不同,但h5支付只需要配置到域名,jsapi则是需要配置到目录 Q:支付成功返回的sub_openid与统一下单传的sub_openid不一致? A:1,传了错误的sub_openid没有报错,这个是内部历史遗留问题,后续会逐步修复 2,现阶段,商户按照文档要求,正确上传就好 3,如果商户传的字段是openid,并不是sub_openid,是强校验的 Q:APP支付报-1错误,其他原因都检查过了,还是查不出原因怎么办? A:可以使用ios调试看看,安卓的可能会有不稳定 Q:JSAPI支付QR code怎么生成? A:静态二维码需要商户基于JSAPI支付的h5页面url用随意一个生成二维码的工具或类生成 (please try to create the QR CODE based on the H5 page of the JS API payment with any tool or class on your program system.) Q:关闭订单最多可以关闭多久以前的交易呢? A:主要是未支付的订单都可以关闭 ,没严格的时间限制 Q:APP支付成功无法收到回调,改了一个回调地址就可以接收到是怎么回事? A:回调URL的设置有限制 不支持类似xxx.xxx.org.cn, 这样的三级域名。 只支持xxx.org.cn这样的二级域名 Q:境外NATIVE支付请求报系统繁忙? A:请按照以下几点检查: 1)xml格式是否正确。 2)没用的字段不传,不能传null,比如err_code_des。 3)签名出问题也会显示系统繁忙的,注意要设置完所有参数后才进行签名。 4)是否有在对应的商户平台设置扫码支付回调url Q:公众号支付报此公众号并没有这些scope的权限,错误码:10005? 你好, 请按照以几点检查:1)建议检查一下公众号的功能。比如是不是在订阅号/未认证的公众号里面尝试调用认证服务号的功能。2)微信支付认证过期或者APPID填写错误。3)请使用snsapi_userinfo的授权登录方式即可解决 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_9&index=8 6、支付测试 Q:境外支付的测试商户号是什么样的,测试商户号可以下载对账单吗? A:测试商户号是1900开头的,测试商户号不支持下载对账单,因为测试商户号没有结算功能 Q:境外的测试用户号是什么样的,有什么作用? A:测试用户号只能配合测试商户号使用 Q:小程序支付支持使用测试商户号吗? A:测试商户号不能用在小程序支付上 Q:测试的商户号账号可以登录微信支付商户平台吗? A:测试商户号不提供登录credential,无法登录商户平台 Q:测试商户号需要设置扫码支付回调url吗? A:不需要,测试商户号这个参数无效,可以不用设置 Q:这个测试商户号, 和真正的production的商户号,是不是有完全一样的支付功能权限? A:只能测试quick pay和native pay。 In-App Web-based Payment (Official Account Payment) 和 In-App Payment 不能使用。测试商户号都是多家共用的,且互不影响 Q:境外商户只有一个正式商户号,如何进行支付测试? A:可以申请一个sub_ mchid 专门用于测试 7、商户平台问题 Q:子商户的个数现在有限制吗? A:没有 Q:商户平台提示安装安全控件但是始终无法安装成功怎么办? A:You can use the Chrome browser, and do the following setting: 1:log on to: chrome://flags/#enable-nacl 2: try to find the Native Client, and change the status into Enable 8、公众平台和开放平台问题 Q:公众号文章里怎么放置公众平台外部链接? A:微信公众号文章有时候会有添加超链接的需求,这些超链接一般是公众号平台内部的链接,当然如果想要添加外部平台的链接也可以,但是会有条件限制:首先进入微信公众平台编辑页面,选中要添加超链接的文字或者图片,然后点击菜单栏中的超链接按钮; 境外的商户不支持在公众号文章中放置外部链接 Q:公众号主体支持修改吗? A:你好,账号主体不支持修改,除非符合链接中的几种特殊情况才能支持修改,http://kf.qq.com/faq/171212aAfIRb171212q2MJ7J.html 1.若符合上面链接中的特殊情况,可重新发起认证来申请修改(在认证环节提供新的主体证件等材料); 2.如果主体有工商变更证明,可在公众号后台,主体详情入口页提交材料申请纠正 Q:境外商户支持开通订阅号吗? A:不支持。根据相关政策规定,境外商户主体不支持开通订阅号相关服务 Q:已经有openid了,如何获取用户的union ID? A:可以通过授权登陆获取 Q:开放平台的app拉起小程序权限已获得,但是没有绑定选项,是怎么回事? A:这个功能调整过了,不需要app去绑定小程序。可以点详情进去看新调整后的内容 Q:一个公众号可以设置几个网络授权域名? A:目前可以设置2个 Q:公众号授权第三方如何操作? A:公众号授权第三方平台参考文档:https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Authorization_Process_Technical_Description.html 9、营销和代金券 Q:境外可以自己创建代金券吗? A:现在境外不支持自己创建活动 Q:商户怎么发券? A:只能公众号和小程序的appid去发券,不能用app的 Q:之前接口是升级到支持单品优惠退款的V2接口了,在境外使用单品优惠和指定金额退款失败,是什么问题? A:单品优惠和指定金额退款的接口, 目前还不支持境外,需要商户切换回原来版本的退款接口 10、结算 对账单和换汇 Q:怎么查询商户未结算的人民币资金是否充足? A:只能看当天的订单的人民币总金额 Q:换汇时间? A:一般在凌晨,3-9点都可能 Q:换汇的时候人民币换成外币是四舍五入吗? A:RMB转外币,不四舍五入 [图片] Q:结算给商户时间? A:日切是0点,从0点到早上10点之间出账。具体到账时间根据结算银行的处理情况,可能会有延迟。 (满足800美金等值外币起结算点后 T+1日结算银行会处理打款给商户 日切是0点 从0点到早上10点之间出账) Q:商户平台提现手续费? A:商户平台提现无需支付手续费,交易时会按照商户申请入驻时选择的类目按笔收取手续费,类目请参考:http://kf.qq.com/faq/140225MveaUz1501077rEfqI.html Q:微信支付收费方式? A:开通微信支付商户不需要付费,但通过微信商户平台交易时,微信支付会按照商户的费率按笔收取手续费。结算时扣除相应的费率再结余下的资金,结算费率计算方式可参考:http://kf.qq.com/faq/140225MveaUz1504092YFjeM.html温馨提示:充值提现、红包、企业付款到零钱等营销功能均不收取手续费 Q:手续费扣费规则,商家得到的结算外币是如何计算的? A:结算的时候扣手续费。单笔外币结算手续费,并且进行四舍五入 Q:境外支持手动提现吗? A:境外不支持手动提现。商户需要临时暂停支付或结算功能请【<a data-miniprogram-appid="d3hmNzVjZmNiYjU0MTJkYjE1" data-miniprogram-path="cGFnZXMvc3VibWl0L3N0ZXAyL3N0ZXAyLmh0bWw/YmlsbGlkPTE3MTIyMnNlbGZxYTYzZTg0ZGZjJnNjZW5lX2lkPWtmNTQ1MyZhY3Rpb25faWQ9MTU1MzY4NDc0NDEwMDc3" href=" ">点击此处</ a>】提交资料申请,提交后请在3个工作日内留意审核结果。 商户注销请【<a data-miniprogram-appid="d3hmNzVjZmNiYjU0MTJkYjE1" data-miniprogram-path="cGFnZXMvc3VibWl0L3N0ZXAyL3N0ZXAyLmh0bWw/YmlsbGlkPTE3MTIyMnNlbGZxYTFlMDEzYjVhJnNjZW5lX2lkPWtmNTQ1NCZhY3Rpb25faWQ9MTU1MzY4NDc0NDMwMDk0" href="https://kf.qq.com/touch/bill/170622selfqa9669d101.html?action_id=155368474440018">点击此处</ a>】提交资料,注销申请提交成功,不可撤销或修改。若账户内有未结算资金,注销后会将资金结算至可用余额内,请自行登录平台手动提现。温馨提示:新资金流模式商户,暂不支持注销,可关闭支付;小微商户、服务商不支持注销 Q:微信支付可不可以把商户的营业额直接付给商户?手续费单独付给日本机构? A:没办法哦,日本地区暂不支持这种模式,这是日本合规管控要求的 没法这么操作 Q:对账单是什么时候生成的? A:10点以后陆续生成昨天的账单 Q:对账单是以appid为维度还是商户号为维度? A:以商户号为维度 Q:换汇的汇率? A:换汇使用的是交易日的汇率 Q:在23点59分以后的订单有可能出现在下一天的对账单中,即临近凌晨0点的账单有时候不出现在当天的对账单中,这种情况怎么处理? A:建议增加挂账机制 Q:下单回调失败,假如查询也没收到应答的情况怎么办? A:如果确系网络问题导致交易无法正常完成,可以选择其他方式再次支付,当前支付订单通过第二天对账后,进行处理(支付成功的退款) Q:结算是否会对机构维度进行冻结? A:结算权限不会对机构进行冻结,只会对子商户进行冻结 Q:对账单接口在机构模式下,子商户号的作用是什么? A:子商户号的作用是请求特定的子商户号的所有账单,假如不传子商户号,则返回该机构下的所有子商户的对账单 11、服务器和ip Q:服务器是否可以在外国? A:目前这么搞的就adyen一家机构,因为他们是国际gateway,然后又不想在国内去租服务器。其实这样不是很稳定,毕竟国际网络环境很复杂,网络出了问题很难定位而且没法容灾。境内现在因为就两大运营商,而且有完备的容灾体系,所以如果做境内业务,最好还是服务器部署在境内,毕竟境内业务体量要大很多,对服务稳定性要求也高很多 Q: host ip是指交易中的哪个参数? A: 不是,正常请求微信支付接口,都是通过dns解析ip来访问,可以查看下你们是否绑定了固定ip来访问的 Q:香港的接入ip什么调整? A:香港的接入ip有调整,请大家知悉。 https://pay.weixin.qq.com/index.php/public/cms/content_detail?lang=zh&id=74001 Q:打算做监测,判断到微信的连接是否正常,可以掌握和追踪跟微信系接连接出现的问题。用telnet的方法去测试,每隔一分钟连一下,这样做可以吗不会被判定为危险操作吧? A:可以这样做 Q:境外的进出口IP是什么? A:Hello, team, If your request domain is apihk.mch.weixin.qq.com, the entrance IP are 203.205.234.247, 203.205.254.189. And for the exit IP, they are 101.226.103.0/25,140.207.54.0/25, 103.7.30.0/25, 203.205.219.128/25, 183.3.234.0/25,58.251.80.0/25 Entrance IP means when you request our API, the IP of our API domain. Exit IP means when we request your notification url, the exit IP we used. For api.mch.weixin.qq.com and apihk.mch.weixin.qq.com, the entrance IP are different, but we cannot provide the entrance IP for api.mch.weixin.qq.com. For the exit IP, they are all the same. Q:发到apihk的请求有比较多的超时,如何查看微信支付这边的metrics是否有什么异常? A:可以帮忙执行下这个命令,看下统计数据: for i in {1..100};do curl -so /dev/null -w "DNS_lookup:%{time_namelookup}, TCP_handshake:%{time_connect}, SSL_handshake:%{time_appconnect}, TTFB:%{time_starttransfer}, Total:%{time_total}\n" "https://apihk.mch.weixin.qq.com/pay/orderquery" ;done Q:网络出现问题,请求接口耗时比较长怎么办? A:推进安装一下网络工具进行自查,安装指引:http://kf.qq.com/product/wechatpaymentmerchant.html#hid=2857 可以看一下以下指引提高安装效率: [图片] 12、回调和域名 Q:扫码支付回调链接有什么用? A:是扫码支付模式一的回调地址,模式二在统一下单里设置,模式一在商户平台设置。 境外非直连模式不支持模式一(境外的直联商户才支持模式一,但是现在已经实行断直联) Q:小程序的业务域名在哪里配置? A:配置的地方一样,就是小程序内加载webview时开发的页面的域名,在小程序的管理平台里配置 Q:H5支付域名如何增加? A:找对接的运营申请。(为了安全起见,商户运营场景发布功能都是要在测试环境测试无误才可以发布。 该测试网站仅用于实际运营发布前的测试环节,能否单独给开通测试域名,测试成功后关掉) Q:境外网页授权域名可以设置几个? A:境内境外都是一样,可以设置2个 Q:JSAPI支付完成后是否可以实现跳转? A:可以的,可以参考https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 Q:接口地址异常可以怎么排查? A:商户可以检查一下是否绑定了host。由于网络变更,如下接入IP需要裁撤替换的通知:https://pay.weixin.qq.com/index.php/public/cms/content_detail?lang=zh&id=45603 Q:授权报10003redirect_uri域名与后台配置不一致? A:你好, 请仔细检查公众平台配置的网页授权域名与请求的域名是否一致。 配置域名:登录微信公众平台--设置--公众号设置--功能设置--网页授权域名;也有可能是商户对网页授权域名做了两次encode导致报错 这里encode符号的规则,1:正常一次encode冒号是%3a, /是%2f 2:如果做了两次encode前者就变成%253a,后者变成%252f Q:部分商户在2月24日的回调报文出现了异常,外币标价的订单收到的回调的cash fee和total fee数值一样,回调中的total fee显示错误,不是真实外币标价的金额? A:这个问题是是内部版本问题,当天已经做了回退,问题已经修复了 Q:微信回调通知缺少微信订单号的问题? A:这里有一些特殊规则,但不便透露,可以确认是version和sign_type字段会出现在回调中,但是是非必填字段,后续我们在文档里更新一下 Q:微信回调中的通知id对同一个微信订单号是唯一的吗。对于同一笔订单,如果 重复的进行通知,这个id会变化吗? A:通知的唯一标识。x联的支付通知回调,是按微信支付单号生成的回调id,所以是不变的 Q:境外商户现在服务器在国内的是否也是建议使用apihk的那个域名呢? A:如果服务器部署在国内,就用api.mch.weixin.qq.com 13、证书和秘钥 Q:证书私钥的导出方式? A:部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供。也可以使用openssl命令来自己从p12 文件中导出 Q:已经替换了新证书,为什么API安全里还有更换服务器通讯证书的提醒? A:这只是一个提示,没有去检测商户是否有在他的服务器端成功替换旧证书 Q:如何升级证书? A:请参考文档:https://kf.qq.com/faq/180824BrQnQB180824m6v2yA.html Q:证书失效时间是什么? A:1,这里说的情况,是商户已经升级成新的证书了,已经在正常使用了,但使用后,比如说商户换了技术,遗失了新的证书,这个时候,可以在商户平台里面,点更换证书,再生成一个订书,这个时候,遗失的那个证书就会在48小时后会失效。 2,这里的情况,就是你截图中的情况,首次升级成新的版本的证书后,老的版本的API证书会在14天后失效 Q:升级为新的版本的证书后旧的证书的有效期是14天内有效是什么意思? A:申请新的证书后,商户就有两个证书了。从安全角度讲,旧的那个就没有存在得意义了。但从业务连续性讲,我们又不能将旧的证书立即作废。因此我们采用的是限制旧的API证书的有效期 Q:那证书序列号在哪里查看? A:在证书文件,apiclient_cert.pem, 用软件工具进行获取。https://myssl.com/cert_decode.html Q:升级证书时显示商户名称和登录账户不一致? A:商户那边商户名称是从商户平台复制过去的,但是平台上的复制功能只是从网页前端取得,而非从我们后台记录的商户名称取值,我们后台记录的商户实际的名称多了一个空格,所以商户在填写名称的时候报名称和登录账号不符合的错误。后续后台在比较时,连续的空白符压缩成一个空格来比较,以解决空格不匹配的错误,现在已经在优化进程中,会发版本来兼容这种问题 Q:证书验证出错? A:检查商户证书是否匹配或者已经失效 Q:使用证书工具安装证书失败,在第二部的把证书工具中的请求串复制到商户平台后,从商户平台切换到证书工具中点击next的时候,返回:“Error, please copy the correct certificate to the clipboard”? A:检查是否从商户平台把正确的请求串信息复制到了剪切板中 Q:当商户只有自签证书的时候,续期证书的方法是什么样的? A:只有自签证书的情况下,需要做更换。境外的一开始就没有自签证书,申请后让他继续申请CA证书,申请后要部署到他的服务器上面去,替换掉旧的证书 Q:证书还有好多天才到期,在平台点击续期之后,是否需要导出新证书并替换到服务器上? A:不需要,这种只需要在商户平台点击一下续期即可。可以参考文档:https://kf.qq.com/faq/161222nEB7b6161222ArMNFR.html Q:商户原来更新证书的时候没有注意保存证书文件,现在需要重新下载更新的证书,现在不用原来的电脑设备,用wxcertutil工具可以重新获取证书吗? A:可以的。 用这个链接也可以下载 https://wx.gtimg.com/mch/files/WXCertUtilEn.exe 14、文档和字段 Q:什么情况下会返回NOT ENOUGH的错误码?什么情况下返回trade error的错误码? A:如果用户是银行卡余额不足会返回Notenough; 返回trade error则是这里这种情况确实是用户没有可用的支付方式,但是这个不仅仅包括余额不足这一种情况 Q:1.7版本的文档什么时候上线的? A:更新日期2019年10月底。目前的线上文档和1.7版本是一样的 Q:使用了优惠券后,返回的cash_fee金额与total_fee有差异,报关的时候商品的价格传多少呢? A:现在建议您通过汇率和total_fee去计算哈 15、香港钱包和v3接口 Q:V3 支付成功后回调解密报文出现这个javax.crypto.AEADBadTagException: Tag mismatch!,是什么原因? A:商户回调解密key配置错误 Q:融合商户的对账单人民币港币账单展示的情况是什么样的? A:存量升级的账单2种标价的对账单和新接入的香港钱包商户的对账单都是合在一起的,都只展示港币,另外如果用户是用人民币支付的,在cash_fee字段中可以看到用户实际支付的人民币金额。新接入的香港钱包商户fee_type 标价参数都是HKD,新接入的香港钱包商户判断是否是港人用户只能看bank_type类型字段 Q:v3接口返回“PARAM_ERROR”错误,message提示header缺少微信支付平台证书序列号? A:根据错误提示,这边请求头没有进行加入平台证书的序列号,这边需要在请求头中加入wechatpay-serial参数,具体序列号的值,可以进行请求平台证书接口获取。境外的退款资金来源是待结算,而不是余额。境外的资金体系里没有余额 Q:香港钱包商户号(32开头的),交易出现 invalid appid的报错怎么解决? A:如果是纯香港钱包问题需要找一下商户对接的fit的同学查看 Q:融合商户怎么区分用户钱包是什么钱包? A:根据账单里的bank_type区分 Q:如何申请香港钱包新商户? A:申请香港融合钱包新商户账户的申请地址 https://pay.weixin.qq.com/public/wechatpay/apply_guide Q:v2的商户设置了apiv3秘钥,对v2接口的微信支付有没有影响 A:没有影响 Q:查询订单接口验证签名串是什么样的? A:待签证参数: GET /hk/v3/transactions/out-trade-no/12345678901234567?sp_mchid=104556286&sub_mchid=293024388 1560757110 1560757110128 \n Q:v3下载对账单接口验证签名规则是什么? A:按照以下格式: 时间戳\n 随机字符串\n Sha1\n \n 注意最后有2个\n Q:v2和v3版本的实时汇率是会存在差异的吗?微信V3版本接口有没有实时汇率获取API呢? A:有差异,目前v3没有汇率接口,人民币金额根据cash_fee和promotion字段内的优惠金额相加得到 Q:如何判断是否为v3接口商户? A:18年12月以后接入的,mchid和mchcode不一样的就是v3接口商户。 另外商户号和mchcode是否一致,只是用来判断该商户号是否是v3商户号,对于香港地区,如果是v3商户号,那只能使用v3接口。但香港地区老的入驻商户,商户号版本还是v2,做融合升级后,虽然商户号版本还是v2,但是内部做了特殊处理,是即可以使用v2接口也可以使用v3接口的 Q:支付一直报验证签名失败? A:情况一:如果统一下单、调起支付参数和待签名串没问题,主要就是检查证书序列号和商户私钥是否正确。可以检查一下签名原文sign_src 字段是否正确; 情况二:如果不能确定统一下单和调起支付参数是否有问题,可以通过商户的私钥生成签名,然后再利用生成的签名发起请求看看,能不能成功: :可以判断生成签名有没有用小程序的appid来生成;:可以检查调起支付参数是否正确;:记得clear一下项目缓存,有时候项目缓存可能也会导致一些问题。(signtype不影响签名,但是会导致拉起支付时存在不识别的参数值。signtype取值应为RSA,而不是SHA256withRSA。)情况三:查看商户的待签名串代码,是否换行符和报文都没有缺少 [图片] Q:v3在线文档中的wechatpay-apache-httpclient工具可以自动做应答验签吗 A:这个只是个demo,参数名都是固定的,不是适用于每个接口 [图片] 16、合单、代扣和分账 Q:国内商品和国外商品合并支付了,真正支付的时候,走的是跨境支付的接口,还是国内支付的接口呢?境外合单规则? A:合单只能走国内的商户号发起,境外商户号为被合方,但合单要求发起方合被合方的appid相同,所以境外机构模式这里还走不通 17、报关 Q:推给海关或者国检都偶尔有出现这个错误:<err_code_des><![CDATA[[132021059]您的操作已提交,请确认是否已生效? A:国检的国庆前已经暂停了,可以直接推广州总署后即可去清关 Q:报关支持什么币种? A:只支持人民币 Q:报关返回支付人与订购人不一致 但是用户反馈是一致的? A:早期存量用户预留实名为小写x,所以比对不一致,我们这边已经解决了大小写校验问题 Q: 实名信息尾数带X的报错,商户这边需要做什么,现在调用重推接口重推,然后再去清关再看看吗? A:上次报错的订单,分两种情况: 1,如商户是给我们传实名信息的话,先调用“订单附加信息提交接口 ”发修改(action_type=MODIFY)报文在微信侧比对实名一致,然后再调用重推接口重推即可 2,商户如果在昨天调用“订单附加信息提交接口”不传实名信息返回DIFFERENT的,直接调用重推接口重推即可 18、刷脸 Q:刷脸怎么申请? A:找对接的BD申请 19、小微商户 Q:小微商户的提现是什么样的,支持开通手动提现吗? A:小微都是自动提现的 20、入驻和子商户进件 Q:境内的公司需要有境外的商户号,怎么接? A:他们都要注册一个境外主体才能申请 Q:境内的服务商如何才能为境外的做停车场支付的公司接微信支付? A:需要服务商注册一个境外的主体,而且需要服务商在本地有支付牌照 Q:请问最近子商户进件接口做了什么新的变动,我们收到了一版新的报备接口? A:计划对个别地区的机构做强化进件,强化后进件子商户需要提交注册证件、门店照片、负责人的个人信息、UBO信息等。机构可以通过开放平台或API进件 Q:office_phone的长度限制是多少? A:5-25位 Q:service_phone,我这边限制的是长度5-32。 merchant_mobile_phone 手机这个字段有没有加正则校验? A:16个字符以内。contact phone字段是15位以内 Q:进件的时候的境外银行机构需要传channel id吗? A:不是必传,未来这个参数及对应的能力都可能下掉了 Q:商户平台无法进件可能是什么原因? A:有可能是商户的权限被处罚了,机构可以先查看一下自己的权限是否正常 Q:报备完成后发现除了business code外其他参数是错的,我们需不需要改,怎么改? A:建议您把其他的数据,比如商户名字,其他信息等,都修改一下就行了哈 Q:显示无法新增商户是什么原因? A:可能是这个机构的等级被降为C了 Q:当前商户需补齐相关资料后,才可进行相应的支付交易,请商户联系对接的微信支付服务商? A:要登录渠道号补齐资料,或者通过小程序进行认证。也有可能是这个原因:商户进到了“报名了激励项目的商户号”中 Q:子商户进件报签名错误? A:1、首先排查自己的商户key是否正确。(//注:key为商户平台设置的key) 2、排查完了之后,到这个网页https://pay.weixin.qq.com/wiki/doc/api/tools/sp_coupon.php?chapter=4_3 拼接请求,看是否和你代码拼接的请求是一样的
2020-11-18 - 城市服务实名信息校验接口说明【监管原因,暂停开放】
备注说明:接口因为监管原因,2021年11月10日起停止开放。 一、接口说明 城市服务实名校验接口(以下称“本接口”),主要实现的功能是,在用户同意情况下,通过微信城市服务去校验用户(或业务方)输入的实名信息,是否正确且与用户在“开通微信支付”时,预留的实名信息一致。也即,校验输入的信息,是否正确且与微信支付绑卡用户的实名信息一致。 二、使用注意事项(接入必读) 1、本接口暂只支持校验基于大陆身份证 “姓名与身份证开通微信支付”的用户实名信息; 2、由于信息较为敏感,使用此接口校验用户(或业务方)输入的实名信息时,需要在页面前端征得用户的同意。因此调用此接口后,会跳转至微信官方的“用户同意”界面。用户点击同意按钮后方可继续后续调用。 3、请根据开放范围、场景所需及信息校验必要性申请本接口,并请谨慎使用。若后期使用过程中,用户举报较多或被发现在不合理使用,微信有权永久回收该小程序的该接口的权限。 三、接口开放范围及申请方式 3.1、接口开放范围 1、本接口目前为内测邀请开放阶段,免费开放给非个人开发者,且完成了微信认证的小程序(不包含境外主体)。 2、接口的开放的场景及必要性,参考国家法规、政策规定的需要“实名办理”的相关业务。具体的开放主体类目范围如下: 政务(政府和事业单位)公立医疗(含公立医疗机构的互联网医院)公立教育机构交通行业的官方企业或单位(含:航空公司、机场、客运、交通市民卡、铁路、公交、地铁、轮渡)基础运营商合规的保险公司官方快递与邮政(实名校验场景需要与支付相关联)水、电、燃、暖等官方生活缴费机构;如你的小程序主体类目所属范围、支付业务场景等,与上述相符,则可以按照对应方式申请。 3.2、申请方式 请发送邮件至官方邮箱,说明所需的场景及校验必要性,申请开通小程序的该接口的权限。官方邮箱地址:wx_city@tencent.com。邮件内容请参照下述列表: 邮件主题:申请开通“城市服务实名信息校验”接口权限+地区+单位名称 邮件内容: 1、小程序appid或原始id 2、小程序名称 3、小程序使用该接口的场景及必要性描述。 4、其他备注说明(如紧急程度、腾讯公司的对接人等) 申请资料: 1、接口申请表 2、与申请商户名称(商户号主体)完全一致的 信息系统安全等级保护三级证书(简称等保三级证书) 或者 ISO27001证的扫描件 3、签署【数据安全评估应答及承诺文件】,落款应答及承诺人为商户号主体,并盖章 4、签署【合作协议】 附:申请资料中(2)(3)(4)涉及资质,申请主体均需由商户号主体提供、签署;(3)(4),审批时请先提供填写完整的Word文档,待审批完成后再返回盖章。 附件1、微信支付实名校验接口申请表 附件2、数据安全评估应答及承诺文件 附件3、合作协议 邮件申请后,针对符合开放范围及场景必要性的小程序,会提供后续流程指引,因此申请后请留意邮件回复情况。 注意:请根据开放范围、场景所需及信息校验必要性申请本接口,并请谨慎使用。若后期使用过程中,用户举报较多或被发现在不合理使用,微信有权永久回收该小程序的该接口的权限。 四、接口文档 具体的接口文档详情,请点击此处查看详细的接口文档,并参照开发。 备注:如在使用中遇到问题,可通过官方邮箱留言,或社区留言,或评论留言方式反馈。本指引内容不定期更新,敬请留意。
2023-06-05 - 关于收回小程序"用户实名信息授权"接口的相关说明
各位开发者: 保护用户信息一直是平台极重视的工作,因此平台会持续对涉及用户信息的接口规则进行调整、优化。近期根据用户投诉反馈建议,及监管合规指导,结合业务方的使用情况分析,需回收小程序“用户实名信息授权”接口(以下称“本接口”,接口介绍地址可点击此处了解),以进一步提升用户使用的安全体验,并计划于2020年05月31日下线本接口。 一、具体的回收下线计划如下,请各小程序开发者尽快调整方案: 1、目前已不再支持小程序申请和接入本接口; 2、以往已经接入了本接口的小程序,如无相关业务场景或需求,不再使用本接口:请在即日起的两个月内,停止接口调用。两个月后平台将关闭本接口权限,及小程序https://mp.weixin.qq.com/后台的申请入口。 3、以往已经接入了本接口的小程序,但依然有业务场景有相关需求,平台侧建设了替代接口方案——实名信息校验接口,提供给满足一定条件的业务方。请需要对接的小程序开发者,在两个月内接入替代接口。两个月后平台将关闭本接口权限,及小程序https://mp.weixin.qq.com/后台的申请入口。同时,平台还有地址组件、快速填写等推荐接口可配套使用,支持相关需求。 二、相关推荐接口简介: 1、实名信息校验接口。 本接口可实现:在用户同意情况下,校验用户(或业务方)输入的实名信息是否正确(仅支持身份证信息)。详述如下: 对于接入微信城市服务的业务,或满足以下地址中的文档说明的范围,可以申请城市服务实名信息校验接口。申请方式地址: https://developers.weixin.qq.com/community/business/doc/000e06614ac74068f3d9237eb5440d 接口文档地址: https://developers.weixin.qq.com/miniprogram/dev/framework/cityservice/cityservice-checkrealnameinfo.html 2、地址组件接口。 本接口可实现:拉起微信原生的地址选择及编辑界面,可以编辑已有地址,也可以在编辑完成后,返回用户选择的地址。 接口文档地址为:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/address/wx.chooseAddress.html 可以参考此接口调用方式,根据需要开发接入。 3、快速填写组件接口。 本接口可实现: 小程序开发者可以获取用户首次填写过的表单的信息,并快速快速填充本次需要填写的表单。减少用户输入的压力。 接口介绍、开放范围及申请指引,详见如下地址描述:https://developers.weixin.qq.com/community/business/doc/0004c23556c43074dde973aeb5bc0d 接口文档地址可可参考: https://developers.weixin.qq.com/miniprogram/dev/framework/cityservice/cityservice-auto-fill.html 可根据业务需要,开发接入。 微信团队 2020年3月31日
2020-03-31 - 报关接口常见问题Q&A
Q:支付单申报规则是怎样的 A:支付单申报规则有以下几点: 1、如果没有拆单,就以支付时的out_trade_no和transaction_id、原支付单对应的人民币金额(如有部分退款,减去部分退款金额)申报 2、如果拆单了,就以申报接口传的商户子单号sub_order_no和接口返回的子支付单号sub_order_id、申报接口传的order_fee金额申报 3、拆单的判断标准:调用支付申报接口时,商户传了sub_order_no就认为是拆单 Q:报关调用“订单附加信息提交接口”成功后,到海关清关返回:支付信息不存在 A:请按照以下几点检查: 1、新接入的商户:通常是因为商户推送订单使用的海关备案号、商户单号、支付单号与推送支付单使用的不一致(特别关注是否使用了拆单,然后单号不一致) 2、已上线的商户:可能是海关系统出现异常,请商户调用微信支付重推接口重推支付单(重推接口文档:https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=18_4&index=3) Q:报关调用“订单附加信息提交接口”返回:商户不支持该海关 A:请按照以下几点检查: 1、请求参数海关(customs)与商户后台添加的海关类型不匹配 2、请求参数海关备案号(mch_customs_no)与商户后台添加的海关备案号不匹配 Q:报关调用“订单附加信息提交接口”返回:交易单信息有误 A:请求参数中微信订单号与商户号不匹配,请填写该订单号对应正确的商户号 Q:多个商户主体需要开通报关业务,需要用哪个主体 A:如果商户用A主体在海关备案,就用A的主体开报关业务 Q:报关调用“订单附加信息提交接口”返回:商户不支持申报 A:请按照以下几点检查: 1、请登陆商户平台-产品中心-自助清关,检查是否有开通自助清关功能,如果未开通,请开通后再调用接口 2、商户平台没有添加海关备案信息,请按照文档要求,正确添加海关备案信息(添加备案信息指引: https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=17_1&index=1) Q:报关调用“订单附加信息提交接口”返回:签名错误 A:请按照以下几点进行排查: 1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误 2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题) 3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查) 4、确认参数的大小写,参数名与接口文档一致 5、签名原串的参数值使用原始值,不需要encode 6、接口需要使用UTF-8编码 7、签名不需要参数nonce_str,请去掉 Q:报关调用“订单附加信息提交接口”返回:商户海关申报重入信息不一致 A:请按照以下几点检查: 1、如果重复调用订单附加信息提交接口,所有请求参数必须与第一次请求参数一致 2、商户修改请求参数后重新调用“订单附加信息提交接口”,请求接口中的参数action_type需传MODIFY Q:报关的重推接口是哪个 A:重推接口文档如下: https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=18_4&index=3 Q:报关调用“订单附加信息提交接口”返回:您的操作已提交,请确认是否已生效 A:请按照以下几点检查: 1、微信订单号与商户号不匹配,请仔细检查确认 2、重复提交请求,修改了用户实名信息,请求参数中需传action_type为 MODIFY Q:报关调用“订单附加信息查询接口”返回:查询指定记录不存在 A:请按照以下几点检查: 1、请求参数中,微信订单号或商户订单号与商户号不匹配引起,请仔细检查 2、没用“调用订单附加信息提交接口”,请先调用“订单附加信息提交接口”后再调用查询接口发起查询 Q:报关调用“订单附加信息提交接口”返回:支付人与订购人信息不一致 A:请按照以下几点检查: 1、请求参数中,用户实名信息(cert_type,cert_id,name)填写错误,参数修改正确后,请求参数action_type填写为MODIFY,再次调用“订单附加信息提交接口”重新报关即可 2、需要商户联系用户在微信内修改为正确的身份证信息后,再重新下单支付,才可以顺利报关,原订单可以做退款处理 Q:要推送的海关不在接口文档列表里面,要选择哪个海关 A:接口文档列表没有的海关,商户在商户平台新增海关备案信息时选“广州(总署)”,备案号和备案名称填商户在海关登记的信息,然后按商户平台登记的信息调用“订单附加信息提交接口”即可 Q:调用报关接口,拆单的订单只能有一个子订单吗 A:拆单允许出现多个不同的子订单,需要多次调用报关接口 Q:拆单场景下,报关接口的拆单应付金额(order_fee)怎么填写 A:拆单场景的应付金额,只需要不超过原订单金额即可 Q:境内/境外机构服务商模式下的子商户是否支持调用报关接口 A:支持。境内普通直连商户,普通服务商 /境外机构商户,请使用境内/境外机构的商户号调用申报接口,在境内/境外机构的商户后台配置子商户的海关备案信息 Q:境内服务商模式的订单是否支持调用报关接口 A:支持。境内服务商商户,请使用统一下单中的子商户号调用申报接口,在服务商商户后台配置子商户的海关备案信息 Q:报关调用“订单附加信息提交接口”返回:商户未在当前申报的海关进行备案 A:请按照以下几点检查: 1、商户未在海关备案 2、商户没有把海关备案信息添加到商户平台 3、商户在商户平台添加的海关备案信息不正确 Q:部分退款的订单,海关申报规则是怎样 A:部分退款订单的申报规则如下: 1、如果是退款前申报,默认是按照支付订单金额来申报 2、如果是退款后申报,默认就按照退款后剩余的金额来申报 3、如果是申报后发生退款,调用“订单附加信息提交接口”传参数action_type=MODIFY重新推送即可 Q:报关调用“订单附加信息提交接口”,传参数action_type=MODIFY ,可以修改哪些参数 A:可修改的参数为:身份信息、 备案信息、备案号、 金额 Q:报关调用“订单附加信息提交接口”返回:XML参数格式错误 A:请按照以下几点检查: 1、请求参数不符合XML格式要求,请仔细检查 2、请求参数错误,比如把参数APPID填写为原始ID Q:报关调用“订单附加信息提交接口”返回:cert_check_result为DIFFERENT A:请按照以下几点检查: 1、UNCHECKED 商户未上传订购人身份信息 2、SAME 商户上传的订购人身份信息与支付人身份信息一致 3、DIFFERENT 商户上传的订购人身份信息与支付人身份信息不一致 Q:报关调用“订单附加信息查询接口”返回:NO_AUTH A:请检查当前商户号是否已获得此接口的调用权限,请按照以下链接指引申请开通权限(https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=17_1&index=1) Q:报关调用“订单附加信息提交接口”返回:拆单金额不正确 A:子订单金额,以分为单位,不能超过原订单金额,order_fee=transport_fee+product_fee(应付金额=物流费+商品价格) Q:报关调用“订单附加信息查询接口”会返回哪几种状态码 A:返回的状态码有以下几种: 1、UNDECLARED -- 未申报 2、SUBMITTED -- 申报已提交 3、PROCESSING -- 申报中 4、SUCCESS -- 申报成功 5、FAIL-- 申报失败 6、EXCEPT --海关接口异常 Q:报关调用“订单附加信息提交接口”推送广州南沙国检,推送规则是怎样的 A:推送广州南沙国检规则如下:商户需在广州总署备案,并把海关备案信息添加到商户平台,推送广州总署即可 Q:报关调用“订单附加信息查询接口”返回:电商平台未按照海关总署179号公告要求改造 A:这个报错的原因是电商平台没有按海关要求去报关相关数据,导致出错了,商户要按海关要求完成改造后即可正常报关,具体改造可以找海关问下 Q:报关调用“订单附加信息提交接口”返回:用户非身份证实名注册,不允许报关 A:请按照以下几点检查: 1、根据海关的要求,报关只支持大陆身份证实名认证的微信用户(非身份证实名认证的微信用户,不支持报关) 2、用户使用了亲属卡支付,下单人是A,支付人是C,应使用支付人C的实名信息报关 Q:报关调用“订单附加信息提交接口”报关成功后,在海关清单时返回:区内企业名称,需与企业备案时所填写名称一致 A:请按照以下几点检查: 1、商户在海关备案的商户名称,需要正确添加到商户平台 2、添加到商户平台的商户名称有括号的话也要区分清楚是中文括号还是英文括号,包括要区分圆角和半角 3、商户如果更换了主体,旧主体支付的订单可以这样处理即可正常报关(先调用“订单附加信息提交接口”-->再调用“订单附加信息重推接口”-->最后调用“订单附加信息提交接口”传参数action_type=MODIFY即可) Q:报关调用“订单附加信息提交接口”返回:UNDECLARED A:返回这个状态,请注意以下几点: 1、不管是第一次调用申报接口成功,还是调用重推接口成功,初始状态都是UNDECLARED,是待申报的意思。后续微信支付后台会异步批量提交给海关,大概几分钟的时间,状态就会正常 2、报关第一次申报后想看状态结果需要主动调用“订单附加信息查询接口”去查询,如果不查询或者不成功直接重推也ok ,最后清关结果才是准确的 Q:亲属卡支付的订单,是用谁的(下单的和支付的)实名信息报关 A:亲属卡支付的订单,是用付款人的实名信息报关,比如A给B开了亲情卡,B支付,扣A的钱,交易单中留A的信息 Q:报关调用“订单附加信息提交接口”返回:第1个支付节点的电商平台代码填写有误 A:请求参数“海关备案号”不正确,请检查是否在海关变更过备案信息 Q:报关调用“订单附加信息提交接口”返回:无效的海关备案号长度 A:请按照以下几点检查: 1、请求参数mch_customs_no中多了空格 2、海关备案号一般为10位字符串,请检查海关备案号是否正确 Q:报关调用“订单附加信息提交接口”返回交易币种与商户结算币种不一致 A:调用报关接口传入子订单号(sub_order_no)时,币种参数(fee_type)必填,请检查所传币种参数(fee_type)是否为空 Q:报关调用“订单附加信息提交接口”,如果订单发生了部分退款,该怎样申报 A:请按照以下几点提示申报: 1、如果是退款前申报,默认是按照支付订单金额来申报 2、如果是退款后申报,默认就按照退款后剩余的金额来申报 3、如果是申报后发生退款,可以调用申报接口,传报关类型为修改action_type=MODIFY,重新申报推单即可 Q:报关调用“订单附加信息提交接口”,实名不一致的情况下是否会返回:验核机构、验核机构交易流水号 A:请求参数传action_type=ADD或action_type=MODIFY,实名不一致的情况下都会返回上面的两个参数 Q:报关调用“订单附加信息提交接口”拆单场景下,拆单应付金额怎么填写 A:拆单的应付金额,微信报关接口只校验不超过总单号的支付金额,不会子单号一个一个校验 Q:在商户平台添加海关备案信息,有天津国检和天津海关,该添加哪个 A:在微信支付商户管理后台登记备案信息时,天津和天津国检都要登记备案信息,调用接口的时候,只需要报天津海关即可 Q:报关调用“订单附加信息提交接口”返回:132021060您的操作已提交,请确认是否已生效 A:用户实名有问题,请找用户确认是否有实名认证或是否是用户把微信支付账户注销了 Q:报关调用“订单附加信息提交接口”返回:132021058 您的操作已提交,请确认是否已生效 A:这个错误码的意思是: 未配置天津国检,不允许申报。需要推送订单至天津海关时,需要在商户管理后台同时配置天津海关备案信息与天津国检备案信息;调用报关接口时只需推送天津海关,即请求一次报关接口 Q:报关接口,单笔订单拆单数量有上限么 A:有上限的,一个订单,最多拆50个 Q:支付的订单使用了优惠券,请求报关的时候报给海关的金额是多少 A:使用了优惠券的订单,报给海关的金额就是订单支付的总金额(用户实际支付的金额+优惠券金额) Q:报关调用“订单附加信息提交接口”返回:该订单没有申报 A:接口调用错误。没有申报过的订单,请调用订单附加信息提交接口,不要调用重推接口 https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=18_1 订单附加信息提交接口文档 Q:订单附加信息提交接口的请求频率是多少 A:请求频率是600/s Q:订单附加信息提交接口,验核机构(verify_department)和验核机构交易流水号(verify_department_trade_id)的作用是什么 A:海关的要求,表示支付来源,支付渠道,商户需要把这两个信息在清关三单对碰的时候提交给海关
2021-05-13 - 订单支付成功,但是一直未收到微信的支付成功回调通知
微信支付完成后notify_url,没有收到回调通知情况下,可按以下几个步骤排查问题: 确认上送微信回调地址与自己系统实际回调地址是否一致;核实上送回调地址是否可被外网访问,是否有DNS解析;核实是否有安全策略拦截微信支付回调通知;确认回调地址代码的可用性;如果使用V3接口,确认下是否设置加密的秘钥,登录商户平台操作~请参考APIV3秘钥设置。附:回调通知注意事项、支付回调和查单实现指引
2021-04-27 - 签名错误讨论区-V2版
官方的解决方案您好,请按照以下几点排查:1、使用签名检查工具:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误 2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题) 3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查) 4、确认参数的大小写,参数名与接口文档一致 5、签名原串的参数值使用原始值,不需要encode 6、接口需要使用UTF-8编码 如果上面的您都检查了,请按照以下几点排查:7、打印出您请求出去最后的数据与您工具校验正确的数据做一下对比,看是否有大小写不同,或者多余的空格 8、拿现在的参数使用postman进行测试,排除法,避免应用层处理问题导致 9、重置秘钥(支付key) 我们来一一分析一下 一、日常签名错误[图片] 1、缺少数据2、空格3、大小写为啥会有这样的问题,正常来说,如果有这些问题下单是不会报签名错误的,这个是因为本身签名是成功的,但是开发者最终请求出去的数据有变动或写死了一些数据导致,这里需要开发者将自己最终请求出去的数据打印出来使用工具验证一下 二、工具验证sign值一样,但是为何还是报错签名错误?[图片] [图片] 注意:工具只会校验数据签名后的sign是否对应,不会校验支付key是否正确,但是调用下单接口时微信支付官方后台会校验 解决方案: 1、找到正确的key,替换重试(如果还是报签名错误,请参考2) 支付key的位置【账户中心-API安全-API密钥-设置秘钥】 2、重置key(优先,但是注意重置key对其他线上使用到key的业务是有影响的,这里需要业务量小时再去重置,然后替换所有使用到key的地方),替换重试 三、支付结果通知验签失败1、支付结果通知有些开发者测试验签时,将收到的数据通过微信发给其他同事测试,其中有个数据是这样的 <return_msg><![CDATA[OK]]></return_msg> 这个数据通过微信发送会变成这样: [图片] 然后别的开发者复制出来后就会变成这样: <return_msg><![CDATA]></return_msg> 最后在去手动验签就会报错:“签名失败” 2、接收到支付结果通知后,将数据封装后在进行验签,这样也会报:"签名错误",所以一定要使用官方返回的原数据 四、确认秘钥(支付key)是否有误1、服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置【账户中心-API安全-API密钥-设置秘钥】,如果同一商户号调用其它接口成功可排除是秘钥问题 2、使用错误的秘钥,我们商户后台 除了API秘钥还有一个V3API秘钥设置,这里不要设置错误了和使用错误了,当然您可以将V2V3秘钥设置成一样的,我就是这样设置的,避免使用错误 [图片] 3、设置的秘钥在A商户号下,但是下单使用的是B商户号,服务商这个问题比较多,设置在子商户上,但是使用的是服务商模式
2021-04-22 - 微信第一次支付成功,第二次提示包名不对,返回-1?
一、为什么第一次成功了,第二次却返回-1? 这是因为接口的校验规则问题,第一次请求没有对包名、签名进行验证 二、返回-1代表什么意思? 1、返回-1可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。 2、确认manifest文件里面声明,应用使用的注册appid的包名是否与开放平台一致。 3、appid关联的包名和签名需要商户自己登陆商户后台系统查看。 自查地址:OpenSdk包名签名校验失败说明
2021-01-14 - 小程序插件中能否调用会员卡组件?
请问,能否在小程序插件中使用会员卡组件,并完成开卡流程。 谢谢
2021-04-02 - 调用JSAPI接口支付,返回“系统繁忙,请稍后再试”
请按照以下几点检查: 1)xml格式是否正确。 2)没用的字段不传,不能传null,比如err_code_des。 3)签名出问题也会显示系统繁忙的,注意要设置完所有参数后才进行签名。 4)是否有在对应的商户平台设置扫码支付回调url。
2020-12-31 - 微信人脸核身接口能力
一、能力背景 近年来,国家在医疗挂号、APP注册、快递收寄、客运、运营商等多领域规定,需要用户实名才可办理业务,预计后续也会有越来越多的此类法规。因此,微信参照公安部“互联网+”可信身份认证服务平台标准,依托腾讯公司及微信的生物识别技术,建立微信“实名实人信息校验能力” ,即通过人脸识别+权威源比对,校验用户实名信息和本人操作(简称微信人脸核身)。 目前接口限定主体及行业类目开放公测,提供给资质符合要求的业务方,在合适的业务场景内使用。目前仅支持持二代身份证的大陆居民。 由于人脸核身功能涉及到用户的敏感、隐私信息,因此调用此接口的小程序,需要满足一定的条件。即:小程序的主体以及类目,需要在限定的类目范围内,且与小程序的业务场景一致。开展的业务也需要是国家相关法规、政策规定的需要“实名办理”的相关业务(其他未在范围内的业务,则暂不支持)。 以下为接口接入及开发的详细内容。如开发中遇到任何疑问,可以点击此处通过社区反馈,将有工作人员跟进回复。 文档第四部分【再次获取核验结果api】,有助于提高业务方安全性,请务必接入! 现阶段微信人脸核验能力,针对小程序,开放的主体类目范围包含: 小程序一级类目 小程序二级类目 小程序三级类目 使用人脸核验接口所需资质 物流服务 收件/派件 / 《快递业务经营许可证》 物流服务 货物运输 / 《道路运输经营许可证》(经营范围需含网络货运) 教育 学历教育(学校) / (2选1):1、公立学校:由教育行政部门出具的审批设立证明 或 《事业单位法人证书》;2、私立学校:《民办学校办学许可证》与《民办非企业单位登记证书》 医疗 公立医疗机构 / 《医疗机构执业许可证》与《事业单位法人证书》 医疗 互联网医院 / 仅支持公立医疗机构互联网医院(2选1):1、卫生健康部门的《设置医疗机构批准书》;2、 《医疗机构执业许可证》(范围均需含“互联网诊疗”或名称含“互联网医院”等相关内容 医疗服务 三级私立医疗机构 / 仅支持三级以上私立医疗机构,提供《医疗机构执业许可证》、《营业执照》及《医院等级证书》 政务民生 所有二级类目 / 仅支持政府/事业单位,提供《组织机构代码证》或《统一社会信用代码证》。 金融业 银行 / (2选1):1、《金融许可证》; 2、《金融机构许可证》。 金融业 信托 / (2选1):1、《金融许可证》; 2、《金融机构许可证》。 金融业 公募基金 / (4选1):1、《经营证券期货业务许可证》且业务范围必须包含“基金”;2、《基金托管业务许可证》; 3、《基金销售业务资格证书》;4、《基金管理资格证书》。 金融业 证券/期货 / 《经营证券期货业务许可证》 金融业 保险 / (8选1):1、《保险公司法人许可证》;2、《经营保险业务许可证》;3、《保险营销服务许可证》;4、《保险中介许可证》;5、《经营保险经纪业务许可证》;6、《经营保险公估业务许可证》或《经营保险公估业务备案》;7、《经营保险资产管理业务许可证》 ;8、《保险兼业代理业务许可证》。 金融业 消费金融 / 银监会核准开业的审批文件与《金融许可证》与《营业执照》 金融业 汽车金融/金融租赁 / 仅支持汽车金融/金融租赁主体,同时提供:1、《营业执照》(公司名称包含“汽车金融” /“金融租赁”;营业范围包含“汽车金融”/“金融租赁”业务);2、《金融许可证》或银保监会及其派出机构颁发的开业核准批复文件。 交通服务 网约车 快车/专车/其他网约车 (自营性网约车)提供《网络预约出租汽车经营许可证》。(网约车平台)提供与网约车公司的合作协议以及合作网约车公司的《网络预约出租汽车经营许可证》。 交通服务 航空 / (航司)提供《公共航空运输企业经营许可证》。(机场)提供《民用机场使用许可证》或《运输机场使用许可证》。 交通服务 公交/地铁 / 提供公交/地铁/交通卡公司《营业执照》 交通服务 水运 / (船企)提供《水路运输许可证》。(港口)提供《港口经营许可证》 交通服务 骑车 / 仅支持共享单车,提供共享单车公司《营业执照》 交通服务 火车/高铁/动车 / 仅支持铁路局/公司官方,提供铁路局/公司《营业执照》 交通服务 长途汽车 / (2选1):1、《道路运输经营许可证》(经营范围需含客运);2、官方指定联网售票平台(授权或协议或公开可查询文件)。 交通服务 租车 / 运营公司提供《备案证明》与对应公司《营业执照》,且营业执照中包含汽车租赁业务 交通服务 高速服务 / 仅支持ETC发行业务,(2选1):1、事业单位主体,需提供《事业单位法人证书》;2、官方指定的发行单位(一发单位),需提供“官方授权或协议,或公开可查询的文件”; 生活服务 生活缴费 / (供电类)提供《电力业务许可证》与《营业执照》,且《营业执照》且经营范围含供电。(燃气类)提供《燃气经营许可证》与《营业执照》,且《营业执照》且经营范围含供气。(供水类)提供《卫生许可证》与《营业执照》。(供热类)提供《供热经营许可证》与《营业执照》,且《营业执照》且经营范围含供热。 IT科技 基础电信运营商 / (2选1):1、基础电信运营商:提供《基础电信业务经营许可证》;2、运营商分/子公司:提供营业执照(含相关业务范围)。 IT科技 转售移动通信 / 仅支持虚拟运营商,提供《增值电信业务许可证》(业务种类需含通过转售方式提供移动通信业务) 旅游服务 住宿服务 / 仅支持酒店,提供《酒店业特种行业经营许可证》 商业服务 公证 / 仅支持公证处,提供《公证处执业许可证》或《事业单位法人证书》 社交 直播 / (2选1):1、《信息网络传播视听节目许可证》;2、《网络文化经营许可证》(经营范围含网络表演)。 如对以上类目或资质有疑问,可点击参考小程序“非个人主体开放的服务类目”,详细了解小程序开放的服务类目及对应资质。 二、准备接入 (请在小程序发布后,再提交人脸核身接口申请) 满足第一节中描述的类目和主体的小程序,可申请微信人脸核验接口。目前微信人脸核身接口已改为线上自助申请方式,需按照如下图例指引,进行接口申请: 第一步:请通过mp.weixin.qq.com登录小程序账号在后台“功能-人脸核身”的路径,点击开通按钮—— [图片] 第二步:仔细查阅《人脸识别身份信息验证服务条款》后,点击“同意并下一步”—— [图片] 第三步:请正确填写服务信息,并上传该小程序类目下所要求的资质—— [图片] 第四步:请按照业务实际需求填写使用人脸接口的场景和用途—— [图片] 第五步:请完善测试信息和联系人—— [图片] 第六步:提交后请耐心等待1-3个工作日的审核期,审核结果将以站内信通知—— 如申请期间遇到问题,可联系腾讯工作邮箱 wx_city@tencent.com,将会有相关工作人员进一步指引。 三、接口文档: (一)接口描述 名称: wx.startFacialRecognitionVerify(OBJECT) 功能:请求进行基于生物识别的人脸核身 验证方式:在线验证 兼容版本: 一闪:android 微信7.0.22以上版本, iOS 微信7.0.18以上版本 建议在微信官网升级至最新版本 (二)参数说明 1、OBJECT参数说明: 参数 类型 必填 说明 name String 是 姓名 idCardNumber String 是 身份证号码 success Function 否 调用成功回调 fail Function 否 调用失败回调 complete Function 是 调用完成回调(成功或失败都会回调) 2、CALLBACK返回参数 参数 类型 说明 errMsg String 错误信息 errCode Number 错误码 verifyResult String 本次认证结果凭据,第三方可以选择根据这个凭据获取相关信息 注 1:传递用户姓名和身份证有两种方式 业务方没有用户实名信息,用户需要在前端填写身份证和姓名,那么前端直接通过jsapi 调用传递 name 和 idCardNumber。 业务方已经有用户实名信息,后台通过微信提供的 api(详情见文档后面“上传姓名身份证后台 api”)上传用户身份证姓名和身份证,api 返回 user_id_key 作为凭证传给前端,前端再调用 jsapi,用户姓名、身份证信息不需要经过前端,参数只需要传递 userIdKey。Tips:使用该功能需要小程序基础库版本号>=1.9.3。 3、回调结果说明 回调结果请参考以下释义: [图片] [图片] [图片] 4、示例代码 [图片] [图片] (三)上传用户姓名身份证的后台api 1、API说明 1.1说明 业务方上传用户姓名和身份证,获取用户凭证,把凭证给到前端通过 jsapi 调用。 Tips :使用该功能需要小程序基础库版本号>=1.9.3。 1.2请求URL https://api.weixin.qq.com/cityservice/face/identify/getuseridkey?access_token={ac cess_token} 1.3请求方式 POST 2、请求数据格式 [代码]Json { "name" : “张三”, "id_card_number" : "452122xxxxxxx43215" } [代码] 请求示例 [代码]#!/bin/bash TOKEN='xxxxxxxxxxxx' URL='https://api.weixin.qq.com/cityservice/face/identify/getuseridkey' JSON='{ "name": "张三", "id_card_number": "452344xxxxxxxxxxxxx234"}' curl "${URL}?access_token=${TOKEN}" -d "${JSON}" [代码] 参数说明 json 字段 中文显示 是否必传 name 姓名 是 id_card_number 身份证号码 是 out_seq_no 业务方唯一流水号 否 3、返回数据 参数 类 型 说明 errcode int 错误码 errmsg string 错误信息 user_id_key string 用于后台交互表示用户姓名、身份证的凭证 expires_in uint32 user_id_key 有效期,过期需重新获取 [代码]{ "errcode" : 0, "errmsg" : "ok", "user_id_key" : "id_key_xxxx", "expires_in": 3600 } [代码] 4、后台消息推送 如果业务方传入out_seq_no,核身完成后会通过消息推送回调给业务方的服务器,如果回调业务方失败,会在5s尽力推送,超过5s不再推送。 参数说明 参数 类 型 说明 ToUserName string 小程序原始ID FromUserName string 事件消息openid CreateTime uint32 消息推送时间 MsgType string 消息类型 Event string 事件类型 openid string 核身用户的openid out_seq_no string 业务方唯一流水号 verify_result string 核身返回的加密key(凭据) 返回示例 [代码]{ "ToUserName": "gh_81fxxxxxxxx", "FromUserName": "oRRn15NUibBxxxxxxxxx", "CreateTime": 1703657835, "MsgType": "event", "Event": "face_identify", "openid": "oRRn15NUibBxxxxxxxxx", "out_seq_no": "test1234", "verify_result": "XXIzTtMqCxwOaawoE91-VNGAC3v1j9MP-5fZJxv0fYT4aGezzvYlUb-n6RWQa7XeJpQo0teKj8mGE4ZcRe1JI3GqzADBYORBu613rKjKAFfEXTXw_bu1bs7MnmPOpguS" } [代码] 四、再次获取核验结果api 此接口是前端完成人脸核身后,基于前端返回的凭据,通过后台api再次进行核验结果和身份信息的校验,有助于提高安全性,请务必接入! 前端获取结果不可信,存在被篡改的风险,为了保障请求结果安全性,请务必对identify_ret、id_card_number_md5、name_utf8_md5字段进行校验! (一)API说明 1、说明 人脸核身之后,开发者可以根据jsapi返回的verify_result向后台拉取当次认证的结果信息。 2、请求URL https://api.weixin.qq.com/cityservice/face/identify/getinfo?access_token={access_token} 3、请求方式 POST 4、请求格式 json (二)请求数据说明 1、请求 参数 类型 是否必填 描述 verify_result String 是 jsapi返回的加密key(凭据) 2、数据返回 HTTP 头如下 Date: Mon, 06 Feb 2017 08:12:58 GMT Content-Type: application/json; encoding=utf-8 Content-Length: 85 Connection: close json示例 [代码]{ "errcode" : 0, [代码] [代码]"errmsg" : "ok", "identify_ret" : 0, "identify_time" : 1486350357 "validate_data": "8593" [代码] [图片] (三)返回参数说明 1、返回参数 注:errcode和identify_ret同时为0,代表本次认证成功。 参数 类型 描述 errcode int 错误码, 0表示本次api调用成功 errmsg string 本次api调用的错误信息 identify_ret int 人脸核身最终认证结果 identify_time uint32 认证时间 validate_data string 用户读的数字(如是读数字) openid string 用户openid user_id_key string 用于后台交互表示用户姓名、身份证的凭证 finish_time uint32 认证结束时间 id_card_number_md5 string 身份证号的md5(最后一位X为大写) name_utf8_md5 string 姓名MD5 2、错误码对应信息 errcode 备注 84001 非法identity_id 84002 用户信息过期 84003 用户信息不存在 五、小程序辅助接口:检查设备是否支持人脸检测 1、接口名称 接 口 :wx.checkIsSupportFacialRecognition(OBJECT) 功能:检查设备是否支持人脸检测 2、接口说明和使用 小程序调用该接口,可以检测当前手机设备是否具备支持人脸检测的能力,可与以上接口分开使用,为了用户体验,建议调用后对手机设备不支持的用户做对应功能处理。 3、接口说明和使用 01 OBJECT 参数说明: 参数 类型 是否必填 描述 success Function 否 调用成功回调 fail Function 否 调用失败回调 complete Function 是 调用完成回调(成功或失败都会回调) checkAliveType Number 否 人脸核验的交互方式,默认读数字(见表 2) 表 2:checkAliveType 的值和对应的解释: 参数 解释 2 先检查是否可以屏幕闪烁,不可以则自动为读数字 02 CALLBACK 返回参数 参数 类型 说明 errMsg Boolean 错误信息 errCode Number 错误码 03 回调结果说明 回调类型 ErrCode 说明 sucess 0 支持人脸采集 fail 10001 不支持人脸采集:设备没有前置摄像头 fail 10002 不支持人脸采集:没有下载到必要模型 fail 10003 不支持人脸采集:后台控制不支持 回调结果说明仅对Android生效,iOS不返回errcode。 04 示例代码 [图片] 六、安全性说明 为保障业务可用性以及安全性,请详细研读微信人脸核身接口相关基础说明及安全说明文档:https://docs.qq.com/doc/DTFB0YWFIdGV6amly 备注:如开发中遇到任何疑问,可以点击此处通过社区反馈,将有工作人员跟进回复。 七、案例展示及补充说明 安徽医科大学第二附属医院,微信人脸核验登录: 安徽医科大学第二附属医院,是三级甲等综合医院。其小程序为用户提供挂号、门诊费用、住院费用、检查报告、体检等医疗服务,同时也提供停车、餐饮等便民服务,是医疗小程序中完整的案例。 小程序使用了微信人脸核验能力作为登录的核验。满足医院管理要求,也满足国家对于实名就医的管理规则。 案例实现的截图效果如下: [图片] [图片] 针对近期少数小程序方面反馈的两类问题,也在本课程进行补充说明。 1、本接口的开放范围,即:可支持的主体类目,是否可以扩大? 说明:基于本接口整体使用范围的评估、相关法规的参考、监管策略的理解执行等,暂时未立刻进行扩大开放范围的工作。 但我们会持续基于不同行业的法规、政策及监管要求等,逐一进行研究考量,以便确认如何扩大开放范围。 2、小程序如果涉及用户本人的生物特征采集,(如本人人脸照片、人脸视频),或涉及采集用户本人生物特征信息并开展人脸核验功能,则存在被驳回的情况? 说明:近两年“人脸识别”技术在社会上掀起了热潮。人脸识别虽然作为摆脱“中间媒介”或“承载载体”的一种直接技术手段,解决了部分政务、交通、医疗、零售等证明“操作者是本人”的问题,但也因此,引入了新的更大的安全风险。 一是,虚假安全风险。 身份认证领域的安全三因素包括“我知道什么”、“我拥有什么”、“我的特征是什么”,通用的安全做法,是要双因素认证(2FA),人脸识别技术如仅凭“我的特征是什么”这一个因素,则容易被攻破或利用。表象给用户以安全的感觉,但实际并不能达到安全效果。 二是,信息泄漏的风险。 越来越多的组织或个人,在并非必需用户敏感信息、生物特征的情况下,采集并存储此类信息。在信息加密、传输、存储过程中,容易暴漏更多的网络节点,使得此类信息有更大的风险被网络黑客拦截、窃听、窃取,或直接被脱库。 三是,消除风险的难度大。 以往基于“中间媒介”或“承载载体”的方式,如出现丢失、被冒用、恶意盗用等风险,可以通过挂失、更换、使用新载体或新媒介等方式,快速排除一定的风险。C端主动,B端主动,都能解决一部分问题。但人脸识别做为更直接的方式,一旦出现冒用、盗用,受害者将面临更大的财产及人生安全风险,且C端用户更多时候无法主动消除风险。 基于以上问题风险,加之国家出台《网络安全法》、《用户隐私保护条例》等法律法规标准,网信办、公安部、工信部及市场监管总局等四部委发起的app获取隐私整治,结合平台安全、用户敏感隐私信息保护要求及监管,针对部分暂无相关法规或要求,需要采集或生物认证方式进行身份核验的,或以“追热点”或“尝鲜”为目的,采集用户生物特征或进行身份核验的,进行严格审核,必要时不予以支持。
星期一 15:19 - 微信支付成功notify_url同一时间回调两次怎么回事?
微信支付成功notify_url同一时间(相同的时分秒)回调两次怎么回事?[图片]
2021-02-28 - 微信支付返回-1
再三确认过了微信开放平台配置的包名和应用签名没问题。微信分享没问题,微信授权登录也没问题,就是微信支付返回-1,后台的签名算法也是完全按照官方文档来的
2020-03-28 - JSAPI调起支付请求,返回:商户传入的appid 参数不正确,请联系商户处理
该问题可能是以下两个原因: 1、统一下单接口中上传的appid与调起微信客户端进行支付的appid不一致 2、调起微信客户端进行支付的必要参数prepayid有误或者prepayid已经过期(有效期2小时)
2021-01-14 - 【发放代金券API】 常见问题
接口url :https://api.mch.weixin.qq.com/v3/marketing/favor/users/{openid}/coupons 文档地址:发放代金券接口 Q1:商户号A调用接口,可以发放其他商户号(商户号B)创建的代金券吗?如何实现? A1:商户号A默认只允许发放本商户号创建的代金券,如需发放商户号B创建的代金券,可参考以下指引: 商户号A、商户号B需要分别开通“跨商户号发券”权限。开通权限后,商户号A制券时,会出现“可发券商户”配置项。商户号A将商户号B添加为“可发券商户”后,商户号B即可调用发券接口发放该批次代金券。 跨商户发券调用接口时需注意,接口传入的参数中,除stock_creator_mchid、stock_id为制券方提供的数据外,其余数据均为接口调用方的数据。 附:“跨商户号发券”权限申请流程: 申请流程:发邮件给weixincard@tencent.com,抄送himhe@tencent.com、marshalzhou@tencent.com,邮件名称:【跨商户号发券申请】。邮件提供内容:说明申请原因、制券的商户号、发券商户号,批量申请请提供表格附件。权限by商户号申请,已有权限商户号无需重复申请 Q2:通过接口发放的代金券,是否支持插入微信卡包? A2:通过接口发放的代金券,不会自动插入微信卡包, 如需申请自动插入卡包的能力,可向对接的微信支付行业运营同事了解申请流程(仅向部分商户开放)。代金券发券成功后,即使不插入微信卡包,也不会影响使用。 Q3:发放代金券API返回报错“参数错误,请核对文档要求”,是什么原因? A3:请参考文档核对参数,着重核对以下两项: stock_creator_mchid要填写创建批次商户号,且stock_creator_mchid与stock_id是否有对应关系;如不需要,请勿传入coupon_value、coupon_minimum两项参数。 Q4:发放代金券API返回报错“商户号和APPID不匹配”,是什么原因? A4:接口传入的appid需要与调用接口的商户号(即请求头中的商户号)有绑定关系 普通商户可登陆商户平台,在“产品中心-APPID授权管理”中完成绑定,可参考指引, 普通服务商可支持自助绑定同主体appid,绑定总数量为3个,操作指引。 Q5:发放代金券API返回报错“用户非法”,是什么原因? A5:报错“用户非法”的原因是,调用发放的代金券批次开启了安全防刷,且该用户被系统判定为疑似羊毛党、灰产用户、机器账号,故发放失败, 如对发券无风控要求,可在创建代金券时,关闭“安全防刷”选项。 Q6:发放代金券API返回报错“用户已达最大领券次数”,是什么原因? A6:可根据以下两种情况排查: 若该代金券批次未开启“自然人拦截”,则该openid已达到该批次设定的单用户领取上限;若该代金券批次开启了“自然人拦截”,则与该openid绑定了相同身份证/银行卡的所有微信账户合计已达到领取上限。 Q7:发放代金券API返回报错“签名错误”,是什么原因? A7:可参考指引。 以下为代金券V3接口: 商户侧验证微信返回签名的验签示例(PHP) 提取码:yx8o 验证签名工具 提取码:wujv
2023-02-10 - 【分账接口】常见问题
文档地址:「请求分账(直连)」、「请求分账(服务商)」 Q1:调用请求分账接口返回”非分账订单不支持分账“是什么原因? A1:请按照以下几点检查: 微信订单号填写错误,请检查确认统一下单时未上传分账标识(profit_sharing=Y)的订单,是不支持分账的 Q2:调用请求分账接口返回”分账金额不足“是什么原因? A2:请按照以下几点检查: 该订单已全额退款,没有资金可以分账在微信支付中,实际收款之后微信支付会收取一定的结算手续费,在减去手续费后剩余的钱才能分账,详情可参考订单结算手续费说明该订单已解冻,已无分账资金(普通商户分账订单默认冻结期是30天; 电商分账订单默认冻结期是180天)超过订单剩余可分账金额或者该订单已无可分账金额,请检查确认(可调用查询订单待分账金额API确认剩余可分账金额) Q3:调用请求分账接口返回”分账接收方关系不存在,请检查参数中每个接收方的关系“是什么原因? A3:未添加分账接收方,分账接收方在分账之前需要调用“添加分账接收方接口”添加,请添加接收方后再调用请求分账接口。 Q4:调用请求分账接口返回“分账金额超出最大分账比例”是什么原因? A4:请检查分账的金额是否超出在商户平台设置的允许分账的最大比例,设置路径如下: 普通直连商户设置分账比例路径:登陆商户平台-产品中心-分账-分账管理比例普通服务商商户设置分账比例路径:需要特约商户可以登录商户平台-产品中心-授权的产品-分账授权中进行设置比例。电商收付通商户设置分账比例路径:登陆服务商商户平台-产品中心-我的工具箱-电商收付通-供应链分账设置里设置连锁品牌分账商户设置分账比例路径:登陆服务商平台-产品中心-合作工具箱-连锁品牌工具箱-品牌专区-品牌交易-品牌供应链分账-供应链分账管理设置 Q5:调用请求分账接口返回”无分账权限“是什么原因? A5:请按照以下几点排查: 1、未开通分账权限,请开通后再调用分账接口,可参考开通指引 2、请求参数错误,服务商用了普通商户的开发文档提交参数,检查确认 服务商模式请求分账文档 普通商户分账文档 Q6:分账调用“添加分账接收方接口”返回:微信用户姓名与实名不一致 A6:请求中传了字段“个人姓名name”,该字段传了之后会校验用户实名是否正确,请填写正确的用户实名(查看用户实名认证路径:微信-我-服务-右上角三点-实名认证-姓名) Q7:分账调用“请求单次分账接口”返回:分账接收方列表格式错误 A7:receivers中的参数amount类型错误,amount类型是int,请检查确认 Q8:分账接收方类型包括哪些? A8:有以下几个类型: MERCHANT_ID:商户ID PERSONAL_OPENID:个人openid(由父商户APPID转换得到)PERSONAL_SUB_OPENID: 个人sub_openid(由子商户APPID转换得到) Q9:分账调用“请求单次分账接口”,为什么不返回分账结果 A9:分账是异步的,需要调用“查询分账结果”接口查询确认 Q10:分账调用“请求分账接口”返回:订单处理中,请稍后重试 A10:请按照以下几点检查: 请在订单支付成功1分钟后再调用分账接口未结算的订单,请在结算后再调用分账接口请求分账。查看结算周期路径:超级管理员使用电脑登录商户平台(pay.weixin.qq.com),通过【账户中心】->【商户信息】->【结算信息】进行查看老资金流商户的订单,不支持分账(旧资金流流水介绍、新资金流流水介绍)商户开通了收支分离但手续费账户余额不足(手续费账户最低余额要求是100元以上,在充值手续费账户1小时后,订单会正常结算,即可正常调用分账接口) Q11:分账调用“请求分账接口”返回:分账接收方与原请求不一致 A11:商户分账单号填写错误,调用“请求分账接口”多次分账,要生成新的“商户分账单号”,不能使用已经分过账的商户分账单号 Q12:分账调用“请求单次分账接口” A12:请按照以下几点检查: 签名类型错误,分账接口签名类型目前只支持HMAC-SHA256普通商户的分账订单,请使用普通商户分账接口,不能使用服务商分账接口系统超时,请使用原参数尝试再次掉调用API Q13:调用分账接口是否有额外的手续费 A13:没有,商户的交易订单,平台会正常的收取结算手续费。商户使用分账功能没有额外的费用 Q14:分账调用“请求分账接口”返回:分账接收商户全称不匹配 A14:请按照以下几点检查: 分账接收商户全称填写错误,请填写正确的商户全称,商户全称对应进件接口中的字段“商户名称merchant_name”字段值没有加密,该字段值需要加密后上传,请正确加密后再提交。上传的中文全称乱码,请检查接口编码是否正确,接口需要使用UTF-8编码 Q15:分账调用“添加分账接收方接口”返回:账户不存在 ,请先点击充值 A15:账户未开通,请接收方商户在商户平台点击“充值”创建账户(商户平台-交易中心-充值) Q16:分账如果有退款怎么处理,是否可以回退? A16:需注意以下几点: 已分出去的资金,在商户接收方同意的情况下,可以发起分账回退。(接收方可在“商户平台-交易中心-分账-分账接收设置”中开启同意分账回退) 更多分账订单退款逻辑,请查看文档说明 [图片] Q17:分账调用“请求单次分账接口”返回:签名错误 A17:请按照以下几点检查: 使用签名检查工具校验签名算法是否有误确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)确认参数的大小写,参数名与接口文档一致签名原串的参数值使用原始值,不需要encode接口需要使用UTF-8编码 Q18:分账添加接收方接口,是在分账前添加一次,如果接收方无变化,后续是否还需要调用接口再添加 A18:是的,如果接收方没有变化,只需要添加一次即可 Q19:分账调用“查询分账结果接口”返回的分账单状态有几种 A19:有以下几点状态: ACCEPTED—受理成功 PROCESSING—处理中 FINISHED—处理完成 CLOSED—处理失败,已关单 Q20:在商户平台设置了分账动账通知url,为什么收不到通知 A20:请按照以下几点排查: 未设置动账通知url,该链接是通过商户平台【交易中心-分账接收设置】中配置的通知url,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。必须为直接可访问的url,不能携带参数。示例:notify_url:https://pay.weixin.qq.com/wxpay/123456789商户未设置加密的密钥,请登录商户平台操作!请参考什么是APIv3密钥?如何设置?只有分账接收方才能收到分账动账通知,分账方是不会有通知的 Q21:分账调用“请求分账接口”返回:对同笔订单分账频率过高 A21:同笔订单多次分账频率是1秒1次,请降低频率后重试 Q22:分账后资金到可提现是否有中间状态 A22:没有中间状态 Q23:分账后的资金什么时候可提现 A23:分账后钱已经到商户的账户了,可以立刻提现 Q24:分账调用“完结分账接口”的作用是什么 A24: 调用该接口,可以将不需要进行分账的订单金额解冻给商户,解冻后的资金商户可自行发起提现 Q25:分账调用“分账回退接口”返回:参数不正确,请检查参数 A25:return_account与mch_id不能填写为相同的商户号,分账方与接收方商户号一致时,不需要回退 Q26:分账订单调用“申请退款接口”返回:申请退款金额大于剩余未分账金额,请等待分账完成后再试 A26:订单有过部分分账,退款金额不能大于剩余未分账金额,请调用“完结分账接口”解冻剩余资金后再发起退款 Q27:查询分账结果接口里面分账单状态(status)字段,当值为ACCEPTED时是表示分账成功了吗 A27:分账单的状态是表示分账单是否受理成功,并不代表分账是否成功。查看分账是否成功,需要调用查询分账结果接口,查看返回参数“分账接收方列表”里面的字段“分账结果result=SUCCESS”才是分账成功。 Q28:调用“添加分账接收方接口”一次可以添加多个接收方吗 A28:不可以,一次只能添加一个 Q29:请求分账接口返回:分账接收方不允许为分账出资方 A29:请按照以下几点检查: V2接口,“请求单次分账接口”分账接收方不允许为分账出资方,“请求多次分账接口”分账接收方可以为分账出资方V3接口,finish为true的情况,“请求分账接口”分账接收方不允许为分账出资方(这种场景,直接调完结分账API就好)。finish为false的情况,“请求分账接口”分账接收方可以为分账出资方 Q30:调用“请求分账接口”,分账分给多个接收方,会出现分账既有成功又有失败的情况吗 A30:同一次分账请求,会出现有的成功,有的失败的情况。具体请调用“查询分账结果接口”,查看返回参数“分账接收方列表”里面的字段“分账结果result=SUCCESS”才是分账成功。 Q31:“请求分账接口”分账接收方列表中的参数description会体现在分账账单里面吗 A31:在分账方分账账单和资金账单、分账接收方的资金账单里面都会体现 Q32:分账调用“添加分账接收方接口”返回:请求正在处理中,请稍后重试 A32:商户请求并发导致,重新再请求一次即可 Q33:分账调用“添加分账接收方接口”返回:商户已添加的分账接收方个数过多。请先删除多余的分账接收方,并在24小时之后再尝试添加 A33:添加分账接收方的个数限制是2W个,超过这个限制,请按照提示处理 Q34:电商收付通分账调用“请求分账回退接口”返回:可用余额不足,请充值后重新发起 A34:“回退商户号”的账户可用余额不足,需充值后再原单重试才能回退成功。(充值指引:登陆商户平台【交易中心】->【资金管理】->【充值/转入】,根据指引充值即可) Q35:电商收付通分账调用“请求分账回退接口”返回:可用余额不足,请充值后重新发起。这个时候,调用“查询分账回退结果API”却返回:PROCESSING(处理中),这个逻辑是正常的吗 A35:是正常的,逻辑就是这样的。这种情况,商户可以按照提示要求,提醒“回退商户号”充值后再原单重试即可回退成功 Q36:电商收付通分账调用“请求分账回退接口”返回:PROCESSING(处理中),什么情况会返回这种状态 A36:请参考以下几点: 网络抖动导致请求中断商户账户资金转账频繁,导致回退在排队时超时 Q37:电商收付通分账调用“查询分账回退结果接口”返回:TIME_OUT_CLOSED A37:TIME_OUT_CLOSED是fail状态了,也就是处于最终态,是不需要重试的。状态是SUCCESS也同理,也是最终态,不需要重试。返回TIME_OUT_CLOSED时可更换一个回退单,重新分账回退一次即可 Q38:电商收付通分账调用“请求分账接口”返回:分账补贴还未到账,不能受理分账 A38:报这个错误,是因为支付的订单在统一下单里面传了参数“补差金额:subsidy_amount”,传这个参数后,需要调用“请求补差API”完成补差,然后再调用“请求分账接口”即可正常分账 Q39:一笔交易在分账完成之后,将接收方和分账账户的绑定关系解除(删除分账接收方),然后进行分账回退,会成功吗 A39:会回退成功,不受删除分账关系的影响 这里的逻辑有两个: 这笔单曾经分给过了这个商户,且分账成功这个商户开通了分账回退 Q40:分账调用“分账回退接口”返回:PROCESSING A40:过一分钟后原单重试即可 Q41:分账回退有时间限制吗 A41:从订单创建的时间算起,现在分账回退限制180天以内的分账请求 Q42:分账方添加接口,如果相同的分账方重复提交,会返回添加失败,还是覆盖之前的分账方信息 A42:如果系统检测到已经绑定,那么会保留原来的数据,不更新数据,直接返回成功 Q43:在商户平台-管理分账接收方中手动添加分账接收方报错:系统错误,请稍后再试 A43:这个报错的原因是:账户未开通,请接收方商户在商户平台点击“充值”创建账户(商户平台-交易中心-充值) Q44:免充值和预充值的代金券,分账的时候,可分账的金额判断逻辑是一样的吗?比如10-5,使用了免充值代金券,可分账金额是5,使用了预充值代金券,可分账金额是10元还是5元呢 A44:不一样,使用了免充值代金券,可分账金额是5,使用了预充值代金券,可分账金额是10 Q45:电商收付通请求分账接口返回:appid与openid不匹配 A45:请求分账接口里面的APPID必须传电商平台服务商的APPID,所以商户在添加分账接收方时获取的openid,也必须是这个电商平台服务商APPID获取的openid Q46:请求分账回退接口返回:分账指令不存在,请检查是否有对应的分账单 A46:请按照以下几点排查: 分账回退里面的商户分账单号out_order_no,必须是请求分账接口的商户分账单号out_order_no请先调用查询分账回退结果API确认分账是否成功,分账成功的分账单才能调用回退接口正常回退。从订单创建的时间算起,分账回退限制180天以内的分账请求,超过180天不支持回退 Q47:查询订单待分账金额返回:记录不存在 A47:请按照以下几点排查: 记录不存在,可能是单号拼错了,请检查确认订单未结算,请在订单结算后再查询非分账订单,请检查订单支付时是否传了分账标识,传了分账标识的订单,才能正确查询 Q48:商户号能正常完结分账,但是查询分账结果却提示“无分账权限”。是什么原因? A48:分账权限被冻结,请登陆商户平台查看站内信,按照指引申诉处理。 能正常完结分账的原因是:完结分账,就是将这笔订单的剩余的可分账的钱,都解冻给自己,由于这笔钱本来就是自己的,所以分账完结是一个安全的操作(钱没有给其他人,也没有给服务商,给了自己),所以是不会做权限校验的。当前要分出去给到别人时,就会做相关的权限校验了。 Q49:请求分账接口,当提交请求后返回报错SYSTEM_ERROR,这个时候调用查询分账结果接口查询,每10分钟查询一次,共查询3次(共30分钟)。这样的情况下,是否可以不用原单重试?查询后是否可以换单再提交? A19:请求分账返回SYSTEM_ERROR时,调用查询分账结果接口3次(30分钟)后,查询结果仍然是不存在的情况:如果商户能保证在30分钟的窗口期内都不会重试,这样做是安全的。 但我们建议在返回SYSTEM_ERROR 情况下,商户还是原单重试,这种最安全,也不用查询和等待一个窗口期。 Q50:一个微信支付单被退完款,还可以继续分账吗? A50:不可以了,分账是针对该订单冻结的金额进行分账,如果退完款,就不能再分账了。 Q51:比如一个订单支付金额是100.1元,假如手续费是0.1元。分账前先退款了30元,默认分账比例是30%,现在可以分账的金额还是30元,这样理解没有问题吧? A51:没有问题 Q52:比如一个订单支付金额是100.1元,假如手续费是0.1元。分账前先退款了30元,默认分账比例是30%,现在可以分账的金额还是30元,那就是说,可能出现100退了80,分出去30这种情况? A52:不会, 两个相加不会超过订单金额的, 也就是说退款没有超过70元的话,可分账金额是30,超过70,可分账金额是剩下的钱。 Q53:普通服务商分账,添加分账接收方这个APPID,如果服务商商户号绑定了两个APPID“B”和"C",需要分账的订单统一下单中传的APPID是B,这个时候,添加分账接收方中的这APPID可以是“C”吗?还是说必须是“B”? A53:请注意以下两点: 添加分账接收方的时候,B下的openid,C下的openid都可以但是执行分账的时候,一次分账请求里,只能是同一个appid下的openid,不支持一次分账请求里的openid分别是俩appid下的 Q54:查询分账结果接口返回:记录不存在 A54:请按照以下几点排查: 记录不存在,可能是单号拼错了,请检查确认订单未结算,请在订单结算后再查询非分账订单,请检查订单支付时是否传了分账标识,传了分账标识的订单,才能正确查询订单未分账,所以没有记录,请在订单分账后再查询
2022-08-16 - 【委托代扣API】常见问题
文档地址:扣费服务 Q1:商户调用【申请扣款】接口返回"err_code:RULELIMIT,err_code_des:交易金额或次数超出限制,请检查后再试"是什么原因? A1:商户扣款时超出了模板id配置的最大扣款金额或次数,如有需要可以联系微信运营申请提升额度或次数。 Q2:申请扣款周期说明 A2:请参考以下几点: 自动续费周期一般是以月、季度为周期,具体扣款发起时间不受模版内容的周期影响;委托代扣额度初始额度:单笔500、单日2500;授权扣款和免密支付,在额度限制内可以每天扣款5次(同一个用户在一个签约协议下;扣款失败不计算次数);自动续费模版需要按模版内容设定的周期扣款,且同一个用户在一个签约协议下每天仅可以扣款一次,如上线前需多次测试签约扣款,请申请测试模版(模版名称标明为测试,测试模版限额为每次0.1元,每天可扣款100次)。 Q3:签约和解约信息是通过什么路径通知给商户的? A3:签约通知是通过签约接口上传的notify_url参数所填写的地址回调通知的(签约失败不通知)。解约信息是通过创建模版ID时填写的解约通知URL来回调通知的。 Q4:申请扣款接口已经返回成功,为什么还会扣款失败? A4:申请扣款接口返回成功仅代表申请受理成功,不代表最终的扣款结果,扣款结果应以支付结果通知接口通知的结果为准,无论扣款是否成功都会返回扣款结果及原因。 Q5:商户调起微信纯签约报错“参数构造错误”如图,是什么原因? [图片] A5:检查下文档要求的必填参数有没漏传,或者文档中没有的参数有没多传。 Q6:商户调用H5纯签约返回“签约参数签名校验错误”是什么原因? A6:请参考以下几点: 检查下签名是否正确,商户签名使用的key是否正确,并且key用的是api秘钥,不是apiv3秘钥,签名方式和api秘钥设置路径参看文档指引,商户可以用在线工具自行校验,工具地址;检查下商户传的notify_url参数文档是否有要求encode,如文档要求encode,则商户签名时需要使用encode之前原样的notify_url进行签名,encode只需一次即可。检查下文档要求的必填参数有没漏传,或者文档中没有的参数有没多传。 Q7:委托委托代扣模板id停用后会有什么影响? A7:已签约用户可以继续扣费或解约,不能新增签约,停用模板id后无法恢复使用,商户自行评估风险 Q8:公众号纯签约跳转签约页面后用户点击开通自动续费没反应是什么原因? A8:引导用户更新一下微信或清除下微信缓存,这种一般是偶现的,杀死进程重新启动再试试。 Q9:商户使用预扣费通知模式场景下,对于没有发送微信预扣费通知的用户,商户调用申请扣款接口后,微信端会返回什么错误? A9:接口会返回错误码INVALID_REQUEST,商户需要先下发扣费前通知才能发起扣费,若当前签约扣费期已结束,商户如需扣费则需重新发起扣费前通知。 Q10:商户从24小时扣费模式迁移到预扣费通知模式阶段时,发送预扣费通知后,解约后重新签约,可直接进行扣款,不受扣费等待期限制,这样是正常的吗? A10:正常的,用户解约后就是新的协议了,预扣费通知限制的维度是协议,没有发送过预扣费通知的协议,可以走直接扣费模式,发送过预扣费通知的协议,走预扣费通知模式,商户在迁移阶段,只有两种模式可以扣:预扣费通知模式和直接扣费模式,商户完成迁移后需联系微信侧运营确认,微信侧运营则会通知业管同事在系统中操作“迁移完成”,之后商户就只能走预扣费通知模式了。 Q11:预扣费通知中的错误码“RESOURCE_ALREADY_EXISTS”和“INVALID_REQUEST”的错误码描述意思是一样的,“RESOURCE_ALREADY_EXISTS”错误码描述为:已经下发过预扣费通知,请勿重复下发,“INVALID_REQUEST”错误码描述为:已经发送过扣费前通知,需要等本次扣费完成后再发起新,有什么区别吗? A11:错误码“RESOURCE_ALREADY_EXISTS”表示是相同参数,重复发送,错误码“INVALID_REQUEST”表示是发送过,参数不一样。错误码“RESOURCE_ALREADY_EXISTS”可以认为是发送成功。错误码“INVALID_REQUEST”可以认为是发送失败。 Q12:一个微信用户能否与商户多次签约? A12:签约遵循同一个商户号+同一个模版ID+同一个微信号只能签约一次的原则。多次签约可采用多模版ID的方式,同一个商户号下的每个不同模版ID都可以与同一微信用户分别签约一次。 Q13:委托代扣解约回调地址修改后多久生效? A13:实时生效 Q14:商户使用微信支付商户平台发起的解约,收到的解约回调里的协议解约方式是3(商户API解约)这个是正常的吗? A14:正常的,目前微信支付商户平台就是调用商户API解约的。 Q15:商户调起微信纯签约报错“签名参数构造错误”如图,是什么原因? [图片] A15:请参考以下几点: 检查下签名是否正确,商户签名使用的key是否正确,并且key用的是api秘钥,不是apiv3秘钥,签名方式和api秘钥设置路径参看文档指引,商户可以用在线工具自行校验,工具地址;检查下商户传的notify_url参数文档是否有要求encode,如文档要求encode,则商户签名时需要使用encode之前原样的notify_url进行签名,encode只需一次即可。 Q16:支付中签约是否支持传入分账标识实现订单分账功能? A16:暂不支持,支付中签约下单接口不会识别商户分账标识 Q17:单用户在单模板下商户尝试调用申请扣款接口的频率是多少? A17:单用户在单模板下商户尝试调用申请扣款接口一天不能超过默认次数300次(包含succee和fail的返回,succee才表示扣款受理成功,等待扣款中) Q18:app纯签约点击完成后没有返回app而是停留在了微信聊天界面? A18: 商户登录开放平台检查对应app应用是否有跳转权限[图片] 2.按照文档排查下是否正常处理回调,参看文档https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html(注意:taskAffinity要填你的应用主taskAffinity(其实就是主界面的task,如果没有主动配置的话,默认是应用包名,如果要配置的,要改成跟配置的一样) [图片] 3.商户检查申请模板时的模版名称中是否有空格,如有只能删除模版名称中的空格后重新申请模板 [图片] 4.商户检查用户账户展示名称参数contract_display_account是否有空格,中英文符号,特殊字符串 Q19:app纯签约签约完成后,点击完成按钮,android点击没有反应,iOS点击提示“离开微信”,随后提示"未安装应用"? A19:请参考以下几点: 检查下商户传的appid是不是签约的这个app的appid检查返回的appid对应的app是否有安装检查商户的app是否有在手机注册schema地址 Q20:h5纯签约签约完成后点击完成按钮返回浏览器报错"launchApplication:fail_url need encode"? [图片] A20:原因:商户请求签约的原url,里面参数嵌套了其它url地址,所以导致微信侧回跳的时候,解析错误了。这里面failUrl和redirectUrl虽然做了encode,但是由于微信侧回跳前会做一层decode,所以decode之后的链接是一个非法链接,被拦截了。如果商户需要嵌套url地址,可以做两层encode试试,建议解决方式:剔除参数中嵌套的url。 Q21:Url Schema指的是什么,UA指的是什么? A21: url schenma指的是app页面跳转协议地址UA指的是浏览器的User Agent,会跟随HTTP协议的header传递 Q22:app纯签约接口是否支付多账号签约功能? A22:支持,商户只需在app纯签约中的预签约接口里多传入outerid字段即可,参数值格式必须按照此示例:李*艳(00000000000),否者会报错"<xml><return_code><![CDATA[FAIL]]></return_code><return_msg<![CDATA[PARAMERROR:outerid]]></return_msg></xml>" Q23:多账号签约接口里的contract_outerid和outerid的长度限制分别是多少? A23:contract_outerid32位字符,outerid32位字符 Q24:公众号纯签约商户的短链接可以跳转到签约页面,商户的长链接跳转报502是什么原因? A24:链接超长,目前链接长度限制在1024字节以内 Q25:已签约同个模板id的用户使用支付中签约有已签约的提示吗? A25:支付中签约一直都没有已签约的提示,纯签约会有提示 Q26:使用签约协议号A已签约后再解约,后续还可以使用签约协议号A签约成功吗,对吗? A26:目前是这样的 Q27:商户调用支付中签约生成的订单使用的查询订单和支付回调结果通知是哪个文档? A27:支付中签约生成的订单使用普通支付的查询订单接口(文档地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2)和普通支付的支付结果回调通知接口(文档地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7&index=8) Q28:开通多账号签约功能的模板id,如果同一个微信签约了两个用户,那么模板id扣款次数限制规则是不是应该按两个不同的签约用户分开计算 A28:是的,针对每个签约独立计算 Q29:同个微信号在同个模板下当天有扣款次数限制吗? A29:同个微信号在同个模板下当天最多能扣150次,总共包含商户重试申请扣款失败的次数和申请扣款成功的次数 Q30:商户调用申请扣款接口报错“扣款请求已受理,请勿重复发起” A30:据自动续费规则,一个协议ID,在等待期间(24小时内),只能有一笔扣款 Q31:h5纯签约ios拉起签约后点击左上角返回的是微信,Android拉起签约后点击左上角返回的是拉起的签约页面,这是正常的吗 A31:这是正常的,Android 能返回是因为只拉起WebView界面,结束之后把WebVIew关了,然后就漏出了浏览器,iOS做不到只拉起WebView界面,结束之后只能到聊天页面 Q32:h5纯签约签约完成后点击完成按钮返回的是商户首页(域名),不是发起签约请求的页面 A32: 1.浏览器发起签约场景: 问题根因:referer由于客户端webview内核安全策略变更,需要源页面进行授权后,才能获取完整URL,否则无法在签约完成后,原路跳回商户的H5页面,浏览器由于兼容性问题导致微信侧获取的referer只有域名部分,丢失了path部分,所以返回的是商户域名页 微信支付侧协助寻找了以下解决方案,建议商户试试,如仍有问题需商户自行联系浏览器厂商处理: 商户跳转前的源H5页面,需要在html中做referrer-policy的授权声明: 方法一(推荐): <meta name="referrer" content="no-referrer-when-downgrade">> 方法二: <meta name="referrer" content="unsafe-url"> 安全策略详情可参考:https://developers.google.com/web/updates/2020/07/referrer-policy-new-chrome-default Referrer-Policy声明的用法可参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy 注意: ① 商户需要检查一下html里面是否有多个meta name="Referrer"的声明(比如声明了一个<meta name="Referrer" content="origin" />,会覆盖开头的声明,需要删掉) ② 检查发起签约页面跳转微信时是否有处理过(比如中转页面或着在后台跳转的),必须是商户前端发起的跳转,否则不会生效 ③由于iOS15对referrer policy更加严格,referer只带了host没有带path,但iOS14以及之前版本的referer带了host和path,导致了iOS15以上目前只能返回商户域名页面 2.商户发起签约页面地址中有片段标识符: 片段标识符(URI Fragment,即URL中#号后面的部分)仅用作浏览器端的处理,不会参与到服务端请求中,故签约完成回跳不会带上这部分信息。 Q33:app内嵌h5纯签约无法唤起微信的签约页面是什么原因? A33:建议检查拉起微信的app是否有拒绝打开授权,历史上的case都是用户自己拒绝了唤起授权。 Q34:商户使用申请扣款(pay/pappayapply)下单成功后,再调用关单接口(/pay/closeorder)成功后,之后再使用代扣的查询订单接口(/pay/paporderquery)查不到这笔订单,报错”订单不是委托代扣场景“,目前有什么解决方式吗? A34:商户可以使用基础支付的查询订单接口来确认订单状态。 Q35:商户app内嵌h5发起h5纯签约签约完成后,申请了返回app的权限,返回app时提示“launchApplication:fail”,是什么原因? A35:原因是商户配置的app的Schema有误导致无法正常跳回app,商户可以联系app的开发人员检查下操作系统中是否有注册这个Schema以及配置的appid是否正确。 Q36:商户调起微信纯签约报错“商家系统错误,请联系商家处理”如图,是什么原因? [图片] A36:请参考以下几点: 检查下签名是否正确,商户签名使用的key是否正确,并且key用的是api秘钥,不是apiv3秘钥,签名方式和api秘钥设置路径参看文档指引,商户可以用在线工具自行校验,工具地址;检查下商户传的notify_url参数文档是否有要求encode,如文档要求encode,则商户签名时需要使用encode之前原样的notify_url进行签名,encode只需一次即可。检查下文档要求的必填参数有没漏传,或者文档中没有的参数有没多传。h5纯签约的情况需要特殊申请权限,联系对接的运营咨询检查request_serial(请求序列号)或timestamp(时间戳)是否为int类型,是否小于9位
10-12