Q1:什么是免充值券
1、商户不需要预先充值营销经费,即可创建和激活免充值代金券(或免充值立减或折扣)活动
2、活动生效后,用户到店使用微信支付,当订单符合优惠规则时,会直接扣减核销优惠商户的订单实收金额。
Q2:沙箱支持APIURL
刷卡支付下单:https://api.mch.weixin.qq.com/sandboxnew/pay/micropay
公众号/扫码/APP支付下单:https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder
订单查询:https://api.mch.weixin.qq.com/sandboxnew/pay/orderquery
退款:https://api.mch.weixin.qq.com/sandboxnew/pay/refund
退款查询:https://api.mch.weixin.qq.com/sandboxnew/pay/refundquery
下载对账单:https://api.mch.weixin.qq.com/sandboxnew/pay/downloadbill
撤单:https://api.mch.weixin.qq.com/sandboxnew/pay/reverse
关闭订单:https://api.mch.weixin.qq.com/sandboxnew/pay/closeorder
Q3:如何升级免充值功能
1、无技术能力商户,可使用“微信买单”满1个月(期间没有直连模式的下单记录,如付款码支付/公众号支付/APP支付这些),从开通微信小店/微信买单日期算起,一个月后可登录商户平台开通;如已开通扫码支付(Native)此方法不适用,请按第2条执行。
2、服务商、非“微信买单”的有技术能力的商户,让代码开发人员从https://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf下载验收用例,并按照用例执行完成后登陆商户平台开通;
Q4:完成验收用例后怎样开通
开通方法,登陆:商户平台(https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F) → 产品中心 → 我的产品,点击“免充值代金券 / 免充值立减与折扣”开通
Q5:验收用例如何执行
1、执行验收用例需要写代码执行
2、代码参考https://pay.weixin.qq.com/wiki/doc/api/index.html,API列表里的举例部分
Q6:没有技术能力但要开通免充值
1、是使用微信买单功能的商户
2、没有直连模式的下单记录
3、从开通微信小店\微信买单日期算起,一个月后可直接开通免充值功能
Q7:使用微信买单满一个月但无法开通免充值
1、这一个月内是否有直连下单的记录
2、从https://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf下载验收用例,执行用例进行验收
Q8:获取沙箱秘钥
1、post方式向https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey 发送请求
2、请求格式xml,请求参数:mch_id、nonce_str、sign(其中sign是根据API密钥生成)
3、获取到沙箱秘钥后,后续所有沙箱请求的参数sign,要由沙箱秘钥生成
Q9:沙箱秘钥如何使用
- 沙箱秘钥替换原本用来生成sign的API秘钥
Q10:获取沙箱秘钥失败
1、API密钥错误,密钥到微信审核通过邮件中查看(密钥设置路径:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置)
2、sign生成错误,sign生成方法参考https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=4_3
3、获取验签秘钥API:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=23_1#
Q11:验签失败
1、sign正确性验证地址:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1
2、沙箱秘钥仅需获取一次,如多次获取要确保使用的是最新的沙箱秘钥
Q12:验收用例中金额为0.01的券去哪儿领
- 下单时候不用管0.01的券,total_fee传用例金额(比如551)就可以了,在下单的返回信息中查看0.01的券信息
Q13:缺少total_fee、js-jdk:{"errMsg":"chooseWXPay:fail"},扫码提示二维码过期
沙箱不发生真实扣款,下单时自动完成支付,所以真实环境去取total_fee时会报这个异常,是个已知问题,不影响测试结果,可以继续执行验收用例的后续步骤
Q14:订单不存在
1、所有查询、退款、退款查询操作必须使用out_trade_no执行
2、沙箱暂不支持其他订单/退款单号查询
3、商户没有先执行退款、再进行退款查询,在下单后直接查询退款单号(到DB中查一下订单是否存在)
4、商户多个金额都用相同的out_trade_no下单,查询时因为一个out_trade_no对应了多个total_fee,也会查询失败
Q15:查询验收结果时提示XX接口未调用
1、注意验收用例步骤的先后顺序,先下单、再查单/退款(先退款、再查询退款)
2、接口调用,必须使用用例金额(沙箱不支持自定义金额的测试)
3、用下单的out_trade_no调用对应接口
4、确认商户类型,父商户如未传子商户号也会导致验收失败
Q16:204错误
请求格式非xml沙箱无法解析,若请求格式正确,核实mch_id、sub_mch_id等请求值是否有效
Q17:应结订单金额如何计算
应结订单金额(settlement_total_fee)= 订单总金额(total_fee)- 优惠类型(type)为免充值券(DISCOUNT)的优惠券金额(amount)
Q18:验证签名失败
1、沙箱密钥有效期为3天,过期需重新获取,多次获取用最新的即可
2、目前只支持MD5加密,sign值要转换为大写
3、参与签名参数是否有误
Q19:调refundquery提示“沙箱被扫支付金额(XX)无效,请检查需要验证的case”
1、下单total_fee与退款金额是否一致
2、out_trade_no与之前支付单重复
3、对应的apiurl是否一致
4、退款查询,返回ORDERNOTEXIST,一般请求参数不正确
Q20:沙箱需要证书吗
沙箱走https需带证书,走http可以不带
Q21:接口升级是否可以恢复呢?即关闭这个权限,走的依然是接口升级前的对账信息?
接口一旦升级不恢复
Q22:回调通知不稳定,有时候有有时候无
https改为http试下/回调url不要用非正常端口,用80
Q23:下单接口都有回调通知吗
成功的有,失败的不通知
Q24:沙箱退款
沙箱退款的case,可参考免充值用例(https://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf)1002\1004
Q25:他人协助开通风险
注意:线上密钥不要随意泄露避免造成支付风险,开通免充值代金券部分接口返回字段有新增,具体参看验收指引常见问题Q1(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_15),对账单字段有更新,请确认自有系统已适配,否则影响支付或对账。
Q26:境外支付有沙箱环境吗
暂无,在线上调试即可
Q27:如何进行沙箱验收?
代码开发人员从https://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf下载验收用例,并按照用例执行完成后登陆商户平台开通;
1、SDK,https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1
2、先获取沙箱密钥,用于沙箱sign的生成,参考https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=23_1
3、API增加一层sandboxnew路径
4、需按用例金额下单,不支持自定义金额
5、沙箱环境查单、查退款只支持用out_trade_no
无数人卡在 沙箱秘钥验证不通过。一次次对比测试。最终得出。正式环境兼容sign的大小写。沙箱环境只匹配大写。这一点没有任何提示。