平台如何接入微信支付

但凡系统或者平台,都离不开支付系统,除非你是免费的,hhhh。既然用到支付系统,就离不开,微信、支付宝、银行卡等支付。那今天就先说说平台怎么接入微信支付。

准备工作: 首先去微信开发平台的商户平台,注册商户信息,申请支付权限,获得appKey等信息,这里就不一一举例了,只讲代码业务实现逻辑部分。

一、选择 支付方式

微信支付有几种支付方式:分别如下:

1、JSAPI支付

1.1、简介

JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,在支付场景中调起微信支付模块完成收款。

想了解具体什么是JSAPI支付可以点击这里。

1.2、应用场景

JSAPI支付适用于线下场所、公众号场景和PC网站场景。
商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。

1.3、流程

具体操作流程如下:
在这里插入图片描述
在这里插入图片描述
主要包括这几个流程:

  1. 用户进入购买页面。
  2. 用户选择购买。
  3. 调起微信支付控件,用户开始输入支付密码。
  4. 密码验证通过,支付成功。商户后台得到支付成功的通知。
  5. 返回商户页面,显示购买成功。
  6. 微信支付公众号下发支付凭证。

2、APP支付

2.1、简介

APP支付是指商户通过在移动端应用APP中集成开放SDK调起微信支付模块来完成支付。目前微信支付支持手机系统有:IOS(苹果)、Android(安卓)和WP(Windows Phone)。

2.3、应用场景

APP支付适用于在移动端APP中集成微信支付功能的场景。商户APP调用微信提供的SDK调用微信支付模块,商户APP会跳转到微信中完成支付,支付完后跳回到商户APP内,最后展示支付结果。

2.3、流程

具体操作流程如下:
在这里插入图片描述
在这里插入图片描述

主要有以下流程:

  1. 用户进入APP,选择商品下单、确认购买,进入支付环节。
  2. 用户点击后发起支付操作,进入到微信界面,调起微信支付,出现确认支付界面。
  3. 用户确认收款方和金额,点击立即支付后出现输入密码界面,可选择零钱或银行卡支付。
  4. 输入正确密码后,支付完成,用户端微信出现支付详情页面。
  5. 回跳到商户APP中,商户APP根据支付结果个性化展示订单处理结果。

对于APP支付方式,我还是比较青睐的,因为它可以让用户选择支付方式,比较灵活。如果使用JSAPI支付,万一用户微信余额不足的话,那就会有该订单白白流失的可能。

3、H5支付

3.1、简介

H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。

说明:要求商户已有H5商城网站,并且已经过ICP备案,即可申请接入。

提醒:H5支付不建议在APP端使用,如需要在APP中使用微信支付,请接APP支付。

3.2、应用场景

H5支付主要用于触屏版的手机浏览器请求微信支付的场景,方便从外部浏览器唤起微信支付。

3.3、流程

用户侧使用H5支付具体操作流程如下:
在这里插入图片描述
在这里插入图片描述
流程如下:

  1. 用户从非微信浏览器的站点导航进入商户H5网页,用户挑选需购买商品,选择微信支付发起购买流程。
  2. 入微信客户端确认交易,输入支付密码。
  3. 支付成功,用户收到支付凭证,同时商户后台收到支付成功的通知。

目前就先介绍这三种,一般这三种就适用绝大多数场景了,如果想要了解更多,可以点击这里,访问微信支付平台,了解更多。

二、开发准备

根据项目业务和类型,这里选择APP支付方式来进行接入。

2、准备工作

2.1、模式选择

选择模式,是直连模式,还是服务商模式。微信支付目前提供两种接入方式:直连模式和服务商模式。

2.2、参数申请

主要包括

  1. AAPID
  2. mchid
  3. 绑定APPID及mchid
  4. 配置API key
  5. 下载并配置商户证书
  6. 获取请求串
  7. 生成证书串
  8. 获取证书文件夹

具体的详情就不一一介绍,可以看微信支付平台文档。

3、开发阶段

3.1、 搭建和配置开发环境

为了帮助开发者调用开放接口,我们提供了JAVA、PHP、GO三种语言版本的开发库,封装了签名生成、签名验证、敏感信息加/解密、媒体文件上传等基础功能。
测试步骤:

3.1.1 、SDK选择

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

  1. wechatpay-apache-httpclient,适用于使用Apache HttpClient处理HTTP的Java开发者。

  2. wechatpay-php(推荐)、wechatpay-guzzle-middleware,适用于PHP开发者。

    注:当前开发指引接口PHP示例代码采用wechatpay-guzzle-middleware版本

  3. wechatpay-go,适用于Go开发者。

3.1.2 、创建加载商户私钥、加载平台证书、初始化httpClient的通用方法
@Before
public void setup() throws IOException {
    
    
    // 加载商户私钥(privateKey:私钥字符串)
    PrivateKey merchantPrivateKey = PemUtil
            .loadPrivateKey(new ByteArrayInputStream(privateKey.getBytes("utf-8")));
 
    // 加载平台证书(mchId:商户号,mchSerialNo:商户证书序列号,apiV3Key:V3密钥)
    AutoUpdateCertificatesVerifier verifier = new AutoUpdateCertificatesVerifier(
            new WechatPay2Credentials(mchId, new PrivateKeySigner(mchSerialNo, merchantPrivateKey)),apiV3Key.getBytes("utf-8"));
 
    // 初始化httpClient
    httpClient = WechatPayHttpClientBuilder.create()
            .withMerchant(mchId, mchSerialNo, merchantPrivateKey)
            .withValidator(new WechatPay2Validator(verifier)).build();
}
 
@After
public void after() throws IOException {
    
    
    httpClient.close();
}

4、业务配置

APP接入微信支付,需要先将商户APP在微信开放平台进行注册,登记APP开发参数以生成APPID。具体操作步骤如下:

  1. 登录微信开放平台,进入【管理中心 → 移动应用 → 创建移动应用】;
    在这里插入图片描述

  2. 完成基本信息的录入,商户需要在本步骤提交APP对应的下载地址,应用官网,应用水印,icon等业务信息;

  3. 完成平台信息的录入,商户需要在本步骤提交APP在Android及iOS端对应的开发参数,包括Android端应用的包名,应用签名,iOS端应用的bundle
    ID, universal link等;
    在这里插入图片描述

  4. 以上信息全部提交完成后,即完成APP的注册,商户可在【管理中心 → 移动应用】中,选择具体的应用查看其APPID及已获得的接口能力;

在这里插入图片描述

  1. 获取到APP的APPID后,需要将该APPID与商户的收款mch_id进行绑定,商户可登录商户平台后前往【产品中心 ->
    AppID账号管理】界面中进行AppID的绑定及管理,界面如图所示:
    在这里插入图片描述
    由于篇幅有限,具体的细节问题,不能一一列举,具体的可以查看微信开发平台官方文档。如果有什么不懂或者疑问的,可以在下方评论或者私信,都会一一解决。

猜你喜欢

转载自blog.csdn.net/weixin_44427181/article/details/124882141
今日推荐