支付宝微信支付对接总结
- 支付宝支付
- 当面付
- 接口文档
- 参数配置
- 1.登陆支付宝商户平台
- 2.进入产品中心
- 3.进入当面付
- 4.开发接入
- 5.进入网页/移动应用
- 6.添加当面付能力
- 7.配置密钥
- 微信支付
- 条码付款
- 相关文档
- 参数配置
- 1.appId
- 2.mchId
- 3.mchKey
- 4.证书
- 5.绑定appid
- 开发坑
- 支付宝支付
- 网关配置异常
- 微信支付
- 微信支付时提示appid和mch_id不匹配?
- 当前商户号暂不支持关联该类型的appID
- spbill_create_ip参数格式错误
支付宝支付
当面付
接口文档
参数配置
alipay:
#应用Id
appid: 商户平台获取(应用的appid)
protocol: https
#支付宝支付网关
gateway: https://openapi.alipaydev.com/gateway.do
#私钥
privateKey: 商户平台获取(需要设置)
#支付宝公钥
payPublicKey: 商户平台获取(需要设置)
signType: RSA2
payFormat: json
#支付传输编码
charset: UTF-8
# 异步通知地址
notifyUrl: 程序中提供一个接口地址供支付宝回调(该接口需要放开登陆权限校验)
#扫码支付失效时间 m表示分钟
timeout: 1m
# 商户id
sellerId: 商户平台获取(账户中心的账号ID)
1.登陆支付宝商户平台
2.进入产品中心
3.进入当面付
4.开发接入
5.进入网页/移动应用
已经存在一个默认的已上线的一个应用,点击进入
6.添加当面付能力
7.配置密钥
微信支付
条码付款
相关文档
参数配置
# 测试环境微信支付宝支付
wxpay:
#微信公众号或者小程序等的appid
appId:
signType: MD5
#付款码方式支付
tradeType: MICROPAY
#微信支付商户号
mchId:
#微信支付商户密钥
mchKey:
# p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
keyPath: classpath:apiclient_cert.p12
1.appId
微信商户要实现支付功能(开发接入),需要创建一个公众号(类型为服务号类型),appID即公众号的appId。
公众号类型
公众号类型有订阅号,服务号等。
订阅号:
1.每天都可发布文章。
2.政府、新闻媒体创建的订阅号具备微信支付功能,个体、普通企业创建的订阅号不具备微信支付功能。
服务号:
1.每月只能发布四篇文章。
2.具备微信支付功能。
2.mchId
mchId为商户号,登陆商户平台可找到商户号
3.mchKey
mchKey为商户密钥
进入商户平台-账户中心-API安全,点击APIv2/APIv3密钥设置。该密钥是我们自己随机配置的。
4.证书
进入商户平台-账户中心-API安全,点击申请证书,按步骤一步一步往下走,最后会获取到一个压缩包,压缩包中的apiclient_cert.p12便是开发需要的证书。
5.绑定appid
服务号类型的公众号创建完成后,需要在商户平台申请绑定该公众号。
申请关联appID后,登陆微信公众平台,可以看到有一个待关联商户号的申请,点击授权,即绑定成功。
开发坑
支付宝支付
网关配置异常
gateway分为沙箱网关和正式网关,需要注意区分。
微信支付
微信支付时提示appid和mch_id不匹配?
原因:appid和商户号未绑定,请去商户平台申请绑定、公众平台授权同意。
当前商户号暂不支持关联该类型的appID
原因:appID对应的公众号类型不是服务号类型,可能创建的是订阅号类型(不具备微信支付功能)。请重新创建一个服务号类型的公众号。
spbill_create_ip参数格式错误
原因:微信条码付款时,ip作为请求参数是必传。但是代码中获取ip是获取request的X-Forwarded-For参数,正式环境中ip被代理,X-Forwarded-For的值为 多个ip使用逗号拼接而成,导致调用微信支付报错。
解决:获取X-Forwarded-For值的起一个ip(真实ip,后面的ip为代理ip)。