前期准备
支付 & 订单
退款 & 对账单
沙箱环境 & 验收用例
企业付款
现金红包
代金券
社交立减金
支付验收示例和验收指引
本文是【浅析微信支付】系列文章的第十一篇,主要讲解支付验收示例和验收指引。
上一篇文章我们讲了 如何使用沙箱环境测试
,文中有讲到沙箱环境不仅可以用来当开发环境使用,及时返回接口数据,还能当作微信支付的 验收示例
,官方指出,为了安全考虑希望所有商户都接入验收,以下我们会结合官方文档为大家讲解如何接入及相关的验收用例。
验收指引
官方文档地址:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_1
本文阅读对象为:商户自有系统(包括但不限于:在线购物平台、人工收银系统、自动化智能收银系统、APP应用等)负责微信支付功能验收的测试及开发人员。
为保证商户接入质量,提升交易安全及用户体验,微信支付的合作服务商在正式上线交易前,必须先根据本文指引完成验收。验收完成后,服务商在验收公众平台(微信号:WXPayAssist
)提交验收通过申请,审核通过后,才能开通相应的支付权限(如:刷卡支付)。否则,请根据审核驳回提示,重新完成验收。
注:仿真测试环境中的商户号(父子商户号)需使用真实商户号。
验收流程
如图2,商户在收到微信支付审核通过的邮件后,即可用邮件中提供的开发者信息,启动测试验收工作。验收开始后,验收负责人可按照下表步骤操作:
以上为验收的基本步骤,首先,我们需要接入 沙箱环境
,不知道的小伙伴可以查看我的上一篇文章,有详细描述,这里就不细说了。
验收测试用例
如果已经接入沙箱环境,我们就可以开始选择微信官方对应的验收用例进行测试了,官方提供了四种验收用例,如下:
请根据您需要开通的功能来选择相应的验收用例进行测试:
◆ 刷卡支付验收用例
◆ 扫码支付验收用例
◆ 免充值券验收用例
这里我们以 公众号支付验收用例
来做例子,下面为官方的验收流程:
流程我们已经知道了,重点来了,我们需要下载验收用例,下面是地址:
https://pay.weixin.qq.com/wiki/doc/api/download/jsapi_yanshou.zip
首先,请关注上面图片中的二维码,如果遇到问题,可以查看官方的异常解答;下载验收用例后,我们会得到 4 个用例文档,需要根据文档中的描述来进行验收,支付成功
、支付失败
接口是必须验收的。
如何验收?
简单讲,验收分为以下几个步骤: 1. 获取sandbox_signkey
2. 修改正常接口地址为沙箱环境地址,增加 sandboxnew
路径 3. 根据用例集标题中的金额传入参数,调用相应的接口 4. 查看返回值与用例集中是否一致,如果一致则成功,否则失败
需要注意的是,一定要根据用例集中的标题传入金额,比如支付成功用例集
需要传入金额1.01
元,那我们就必须传入这个金额,传入其他金额会导致失败。
以下为示例代码:
public static void main(String[] args) throws Exception {
System.out.println("--------------->");
// 沙箱环境测试
WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance(), true, true);
Map<String, String> resultMap = wxPay.unifiedOrder(notify_url, openid, body, out_trade_no,
"1.01", spbill_create_ip, goods_tag, detail,
timeStart, timeExpire);
System.out.println(resultMap);
/*Map<String, String> resultMap = wxPay.refund(null, "10000", "10001", "1.01", "0.01", "测试微信退款");
System.out.println(WXPayUtil.isSignatureValid(resultMap, WXPayConstants.API_KEY));*/
System.out.println("<---------------");
}
上面代码中是作者封装好的sdk方法,开启沙箱环境只需要实例化对象时传入参数即可:
// 沙箱环境测试
WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance(), true, true);
// 正式环境
WXPay wxPay = new WXPay(WXPayConfigImpl.getInstance());
具体源码见下面文末github地址。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论