您的位置  > 互联网

全新微信支付APIv3接口测试步骤及流程图安全标准规范

为了在保证支付安全的同时,为商户提供简单、一致、易用的开发体验,我们推出了全新的微信支付APIv3接口。 该版本API的具体规则请参考APIv3接口规则。

2、开发准备 2.1. 设置和配置开发环境

为了帮助开发者调用开放接口,我们提供了JAVA、PHP、GO三种语言的开发库,封装了签名生成、签名验证、敏感信息加解密、媒体文件上传等基本功能(更多语言版本)开发库将在不久的将来提供)。

测试步骤:

1.根据自己的开发语言,选择对应的开发库并构建项目。 具体配置请参考下面链接中的详细说明:

-php (opens new) (推荐), -- (opens new),适合PHP开发者。 -go (opens new),适合Go开发者。

更多资源可以在微信支付开发者社区(opens new)中搜索。

2. 创建加载商户私钥、加载平台证书、初始化的通用方法。

示例代码

3. 根据接口示例代码,替换请求参数后即可发起测试。

阐明:

签名生成、签名验证、敏感信息加解密(私钥)s(平台证书)(V3密钥) 2.2. 业务开发配置 2.2.1. 开通H5支付权限

2.2.2. 服务器配置要求

注意

3. 快速访问 3.1. 业务流程图

安全标准规范流程图

关键步骤:

步骤1 用户向商户系统后台请求下单,商户后台必须进行安全验证。

第二步:商户可以通过H5订单API创建支付订单。

步骤3:用户通过微信外部浏览器调用微信支付中间页面,发起支付请求。

步骤5 用户支付成功后,商户可以收到微信支付支付结果通知支付通知接口。

步骤8 如果商户没有收到微信支付结果通知,则需要主动拨打商户订单号查询订单并查看支付结果。

注意

3.2. API访问(包括示例代码)

文档展示了如何使用微信支付服务器SDK快速接入支付并完成与微信支付的接口。

注意

3.2.1. [服务器] H5下单

步骤描述:用户使用微信以外的浏览器访问商户的H5页面。 当用户选择相关商品进行购买时,商户系统首先调用该接口在微信支付服务后台生成预付款交易订单。

示例代码

重要输入说明:

更多参数、响应详情和错误码请参考H5下单接口文档。

3.2.2. [客户端]微信外部浏览器拉出微信支付中间页

步骤描述:用户通过H5点餐接口成功获取H5点餐返回的支付中间页面()后,需要通过微信外部的浏览器调用微信支付结账。

注意

3.2.3. [服务器]接收支付结果通知

步骤描述:当用户完成支付后,微信会通过异步回调的方式通知商户相关支付结果。 商户需要按照文档规范接收处理并返回响应。

注意

特别提醒:商户系统必须对结果通知的内容进行签名验证,并验证通知中的信息与商户侧的信息是否一致,防止数据泄露造成“虚假通知”和财务损失。

更多参数、响应详情和错误码请参考支付结果通知接口文档。

3.2.4. [服务器]查询订单

步骤描述:当商户后台、网络、服务器等出现异常,商户系统未收到支付通知时,商户可以使用【查询订单接口】((/-/apis/h5- /query-by-wx-trade- no.md) 验证订单付款状态。

注意

需要调用查询接口的情况:

示例代码

更多参数、响应详情及错误码请参考微信支付订单号查询订单/商户订单号查询订单接口文档。

3.2.5. [服务器]关闭订单

步骤描述:当商户订单支付失败时,需要生成新的订单号才能重新发起支付。 下单后必须调用关闭原订单号,避免重复付款。 系统下单后,用户付款超时,系统退出,不再接受,阻止用户继续。 请调用自定义订单接口。

注意

示例代码

更多参数、响应详情及错误码请参考平仓订单接口文档。

3.2.6. [服务器]申请交易账单

步骤说明:微信支付每天都会提供交易账单文件,商户可以通过该接口获取账单文件的下载地址。

示例代码

更多参数、响应详情和错误码请参考应用交易账单接口文档。

3.2.7. [服务器]下载账单

步骤描述:通过应用交易账单接口获取账单下载地址()后,通过该接口获取对应的账单文件。 该文件包含金额、时间、营销等交易相关信息,供商户查询订单、退款、银行账户到账等。

注意

示例代码

更多参数、响应详情和错误码请参考下载账单接口文档。

4、常见问题 Q:调用H5支付时,提示“商户参数格式错误,请联系商户解决”。

答:请根据以下几点进行检查:

调用H5支付当前值为空。 这种情况一般是直接访问页面调用H5支付导致的。 请按照正常流程跳转页面然后发起支付,或者自行抓包确认值是否为空。 如果App中调用H5支付,需要手动设置,如 (Map = new();.put("", "商户申请H5时提交的授权域名");//例如) 问:J2。 如果App中调用H5支付,需要手动设置,如(Map = new();.put("", "申请H5时商户提交的授权域名");//例如)

答:请根据以下几点进行检查:

当前激活H5支付使用的域名(从微信端获取)与申请H5支付时提交的授权域名不一致。 如需添加或修改授权域名,请登录商户号对应的【商户平台->产品中心->开发配置】。 自行配置。 如果设置了退回地址,请确认设置的退回地址的域名与申请H5支付时提交的授权域名是否一致。 Q:调用H5支付时,提示“支付请求已过期,请重新发起支付”。

A:调用H5支付时,会报“支付请求已过期,请重新发起支付”。

Q:调出H5支付报表“请在微信外打开订单并付款”。

A:H5支付无法在微信客户端直接调用。 请在外部浏览器中激活它。

Q:调用H5支付时,提示“签名验证失败”或“系统繁忙,请稍后重试”。

答:请根据以下几点进行检查:

请确认同一个微信号只能被一个微信号调用。 若被不同微信ID调用,请重新下单生成新订单。 如有补充,请确认参数拼接格式是否错误,数值是否正确。 您可以参考以下示例格式:

%3A%2F%2F

Q:IOS使用部分浏览器完成H5支付后会返回浏览器

A:IOS使用部分浏览器完成H5支付后会返回浏览器。