1. 接口规则
为了在保证支付安全的同时,为商户提供简单、一致、易用的开发体验,我们推出了全新的微信支付接口。 本版本API具体规则请参见接口规则。
2、开发准备 2.1. 设置和配置开发环境
为了帮助开发者调用开放接口,我们提供了JAVA、PHP、GO三种语言的开发库,封装了签名生成、签名验证、敏感信息加解密、媒体文件上传等基本功能(更多语言版本)开发库将在不久的将来提供)。
测试步骤:
1.根据自己的开发语言,选择对应的开发库并构建项目。 具体配置请参考下面链接中的详细说明:
-php(新)(推荐),--(新),适合PHP开发人员。 -go(新),适用于 Go 开发人员。
更多资源请前往微信支付开发者社区(新)搜索查看。
2. 创建加载商户私钥、加载平台证书、初始化的通用方法。
示例代码
3. 根据接口示例代码,替换请求参数后即可发起测试。
阐明:
签名生成、签名验证、敏感信息(私钥)加解密(平台证书)(V3密钥) 2.2. 业务开发配置
禾蛋支付目前支持微信以外的五种场景:H5、App、小程序、扫码。 下面为您介绍H5场景业务开发配置。
2.2.1. 微信外H5场景开发配置
激活H5支付权限:进入【微信支付服务商平台(新)—>产品中心—>特约商户授权产品—服务商H5支付—>申请激活。 】
激活后,让子商户授权绑定。
设置H5支付域名:登录【微信支付服务商平台(新)—>产品中心—>开发配置—>H5支付],一般设置后10分钟内生效。

注意
3. 快速访问 3.1. 业务流程图
业务流程时序图如下。
关键步骤:
第一步:用户向商户端发起支付请求,商户首先通过后端接口-H5接口创建组合支付订单。
步骤2:商户根据用户发起支付请求的具体场景,通过H5页面调用微信支付结账,完成支付请求。
第三步:用户支付成功后,商户可以收到支付结果的回调通知。
第四步:如果商户长时间没有收到回调通知,商户可以通过组合订单查询接口主动查询订单支付状态。
3.2. API访问(包括示例代码)
文档展示了如何使用微信支付服务器SDK快速接入商户优惠券产品,并完成与微信支付的对接部分。
注意
3.2.1. [服务器] 合并下单-H5
步骤描述:当用户在商户端选择商品下单购买时,商户系统首先调用该接口在微信支付服务后台生成预付款交易订单,然后使用我们提供的客户端方法(描述如下)调用微信支付收银台。 付款完成。
示例代码:
示例代码
重要输入说明:
更多参数、响应详情和错误码请参考组合订单-H5。
3.2.2. 【客户端】微信外H5浏览器拉出微信支付中间页
步骤描述:用户通过H5点餐接口成功获取H5点餐返回的支付中间页面()后,需要通过微信外部的浏览器调用微信支付收银台。

注意
更多参数、响应详情和错误码请参考H5支付接口文档。
3.2.3. [服务器]接收支付结果通知
步骤描述:当用户完成支付后,微信会通过异步回调的方式通知商户相关支付结果。 商户需要按照文档规范接收处理并返回响应。
特别提醒:
更多参数、响应详情和错误码请参考支付结果通知API接口文档。
3.2.4. [服务器] 合并订单查询
步骤描述:当商户后台、网络、服务器等出现异常,商户系统未收到支付结果通知时,商户可以通过订单查询接口验证订单支付状态。
示例代码:
示例代码
注意
更多参数、响应详情和错误码请参考查询订单接口文档。
3.2.5. [服务器] 通过合并订单来关闭订单
步骤描述:当商户订单支付失败时,需要生成新的订单号才能重新发起支付。 下单后必须调用关闭原订单号,避免重复付款。 系统下单后,用户付款超时,系统退出,不再接受,阻止用户继续。 请调用自定义订单接口。
示例代码:
示例代码
注意
更多参数、响应详情和错误码请参考接口文档。
3.2.6. [服务器]申请交易账单
步骤说明:微信支付每天都会提供交易账单文件,商户可以通过该接口获取账单文件的下载地址。
示例代码:
示例代码
更多参数、响应详情和错误码请参考应用交易账单接口文档。
3.2.7. [服务器]下载账单
步骤描述:通过应用交易账单接口获取账单下载地址()后,通过该接口获取对应的账单文件。 该文件包含金额、时间、营销等交易相关信息,供商户查询订单、退款、银行账户到账等。
示例代码:
示例代码
注意
更多参数、响应详情和错误码请参考下载账单接口文档。
4.常见问题解答
问题:界面报“该公众号没有这些权限,错误代码”,如下图。
答:请按照以下步骤排除故障:
建议查看公众号的功能。 例如,您是否尝试在订阅号/未认证的公众号中调用认证服务号功能? 检查证明是否过期或填写错误。 请尝试使用授权登录方式。
Q:界面报“域名与后台配置不一致,错误码:”。
答:请按照以下步骤排除故障:
检查下单接口和获取接口是否相同(需要一致)。 检查对应的公众号后台(新增),查看配置的授权域名与获取的域名是否一致。 授权域名配置路径:官方平台--设置--公众号设置--功能设置-网页授权域名。