在做任何开发工作前都要有清晰的思路,思路不清工作就没有办法开展,就会出现到处乱撞,到处踩坑的现象,进度无法撑控,领导不满意,客户不满意等一系列问题。
一、理清思路:搞清楚在哪开通微信支付?
微信支付要在微信商户平台开通。
微信商户平台的支付业务服务于微信的各个产品,如公众号、小程序、网页支付、扫码支付等,所以还要把微信商户平台与具体业务服务关联起来,比如要想开发小程序支付,就需要在微信商户平台上添加小程序应用。
具体操作这里暂不多讲。(如有需要日后补充,或单独发文)
弄清楚了这些,我们就知道我的具体工作了:
- 申请开发通小程序, 在微信公众号平台开通。
- 申请开通微信商户号,在微信商户平台开通。
- 关联微信商户号和小程序。在微信商户平台操作。
二、准备工作
对于程序员开讲,开发微信支付(以小程序为例)需要账号或密钥?
字段 | 说明 | 获取方法 |
---|---|---|
APP_ID | 小程序id | 登录小程序查看、获取。 |
APP_SECRET | 小程序密钥 | 登录小程序查看、获取。 |
APIV3_KEY | 微信支付V3 密钥 | 登录微信商户平台(账户中心->API安全模块)自行设置。 |
商户支付证书 | 商户支付证书 | 通过微信证书下载工具下载,相关说明参见微信文档。接入前准备-小程序支付 |
商户支付证书序列号 | 商户支付证书序列号 | 通过命令从证书中提取 openssl x509 -in apiclient_cert.pem -noout -serial
|
微信平台支付证书 | 微信平台支付证书 | 通过下载工具从微信平台下载。wechatpay-php |
三、开发过程(代程流程)
- 前端小程序发起购买请求。
- 后端接收到请求后,根据自业务逻辑创建订单。
- 根据“准备工作中”的账号和证书等内容初始化一个网络请求对象(通常为http client),
- 按照微信接口的要求组装支付数据,调用微信统一下单接口创建微信支付订单,请求成功后得到预支付订单号ID:prepay_id。
- 按照微信的要求组装前端支付所需的数据,其中会需要加密,返回给前端。
- 前端小程序根据后端返回的支付数据,通过
wx.requestPayment
调起支付。 - 用户输入支付密码完成支付。
- 前端小程序在
wx.requestPayment.sccess
中处理支付成功的逻辑。 - 后端接收到微信的支付结果通知后中处理支付成功的逻辑。
四、注意事项
- 支付回调url是在调用微信支付时动态设置的,不是在微信商户平台里配置。
网友评论