微信支付配置指南:申请 APP、完成认证及修改配置

2024-07-29
来源:网络整理

付款相关配置

首先我们在使用微信支付之前需要申请对应的微信APP(公众号,小程序,或者原生APP),不同类型的微信应用对APP的要求也不同。

类型1.微信公众号(服务号)

申请注册地址

注册流程(微信官​​方文档),注册过程中需要选择服务号(只有服务号才可以进行微信支付),注册时需要完成微信认证(注册之后就是微信认证流程),注册认证后需要修改服务号配置才可以在iVX中使用(微信公众号配置)

第2类:小程序(支付功能需企业认证)

注册地址

注册流程(注册主体类型为企业方可实现支付功能)

小程序注册后需要完成微信认证。微信认证流程

第3类:微信APP移动应用程序

注册地址

请参考文档微信APP步骤1创建微信APP并填写配置信息,应用成功后截图如下

接下来我们以原生APP为例讲解如何开通微信支付。

开通微信支付

1.登录微信开放平台

地址:进入创建的“手机应用”

2.跳转商户平台关联“移动应用”,开通APP支付功能

微信h5支付demo(含退款)

微信小程序支付示例(含退款) 注:本示例使用了阿里巴巴接入信息获取接口,因此需要登录小程序后台“服务器配置”,添加“合法域名”

微信APP安卓支付演示(含退款)

注意:

微信h5支付:需要在商户平台及商品中心的“支付”公众号支付中填写支付授权目录:如上架地址为/play/xxx,则需要填写/play/

付款流程概述

准备好上述账号申请之后,我们就可以开始创建微信支付的逻辑了。无论前端环境如何(公众号H5/小程序/原生APP),微信支付的整体流程基本一致,主要包括以下几个步骤:

1、后台微信组件生成支付订单,并返回支付订单相关的支付信息给前台;

2、前端获取支付信息,并根据支付信息调用支付接口;

3.用户完成/放弃支付;

4、后端收到微信平台通知,获取支付结果;

5、或者后端主动发起订单状态查询请求,获取状态;

6、若需要退款,后台会根据待退款订单发起退款请求,用户收到退款;

在详细讲解每个步骤之前,需要先在配置中心填写信息,三种都需要填写微信商户号(如何获取商户号信息参考地址),微信h5支付、微信小程序支付、微信APP支付根据实际需求选择一种。

步骤 1:生成付款订单

该服务传入客户的 IP 地址并返回商家的订单号和付款信息

在微信H5中生成支付订单:

(需要额外输入)

在APP中生成支付订单:

在小程序中生成支付订单:

(需要额外输入)

注意,生成支付订单时的金额等信息一般都是后端生成的,而不是前端传过来的。比如用户购买商品时,前端一般会传一个商品ID,然后后端通过商品ID获取价格,生成支付订单。否则价格等敏感信息如果从前端传过来会有一定的安全风险。

第二步:在前端打开支付接口

在第一步获取到支付信息之后,我们就可以返回给前端来调用支付接口了。

微信H5中调用方法:

需要前端“微信公众号”组件来调用支付

APP内调用方法:

需要前端“微信APP接口”组件来调用支付

小程序中调用的方法:

步骤3:用户完成/放弃付款

支付接口调出来之后就是用户去支付了,这个步骤是用户和微信应用直接交互的,跟我们的应用没有任何关系。

当用户完成支付后,微信会向预先定义的服务地址发送通知,告知我们支付是否成功。同时,我们也可以主动发起查询请求,通常是轮询请求,来查询微信订单的状态。

注意,虽然前端微信组件提供了“支付成功”和“支付失败”的回调,但是这些回调并不是对实际订单状态的反馈,而是对前端用户行为的反馈。比如,只有用户完成支付并点击“Done”按钮时,才会触发“支付成功”的回调。但如果用户忘记点击“Done”按钮,停留在支付成功的界面,则永远不会触发“支付成功”的回调。但此时用户实际上已经支付完成,后端已经可以收到微信的通知,如果主动查询订单状态,也会返回完成。因此,我们不能依赖前端的回调状态。如果需要在前端反馈支付状态,一般会采用轮询的方式查询订单状态,比如每5秒发起一次请求查询订单状态,一旦返回成功,就跳转到支付成功的界面。

步骤4:后台接收微信支付结果通知

设置公众服务,接收微信通知后,向微信反馈信息

在创建支付信息时回调地址设置为该公共服务地址。

第五步:主动检查订单状态

输入商户订单号,根据创建支付订单的场景选择类型。

第 6 步:退款

输入需要退款的商户订单号以及正确的退款金额

商业付款方式变更

下载演示

1.登录商户平台后,进入商品中心=》我的商品,找到需要变更的企业付款,点击即可。

2. 进入产品设置

3.在API接口中添加ivx服务器IP:52.83.192.50和52.83.157.21

4.支付找零:根据实际情况选择(微信浏览器)或者(小程序),需输入商户订单号(32位随机字符串即可),即可支付到微信用户的找零中。

分享