支付宝支付对接
2021-04-17 本文已影响0人
夜色001
有个项目在对接支付宝时遇到了很多问题,总结下对接过程中需要检查的东西
一、能力签约(此处以公众号开发使用支付宝手机网站支付为例)
1、获取能力
用什么服务要先进行签约方可使用,登录支付宝后台
获取更多能力.png
选择需要的能力.png
2、去开发
点击去开发进行配置
去开发.png
3、开发信息配置
点击“应用信息”,配置一下参数
开发信息配置.png
- 接口加签方式:必填。用于保障商户应用和支付宝交互的安全性,配置详情参见 接口加签方式配置说明。
- IP白名单:选填。用于保障用户资金安全,说明详情参见 IP 白名单接入指南。
- 应用网关:选填。用于接收支付宝异步通知消息,说明详情参见 应用网关。
- 接口内容加密方式:选填。用于加/解密 OpenAPI bizContent 报文内容及加/解密部分用户隐私信息,说明详情参见 接口内容加密方式。
- 授权回调地址:选填。第三方应用授权 或 用户信息授权 后回调地址。授权链接中配置的 redirect_uri 的值必须与此值保持一致 (如:https://www.alipay.com) ,用户成功授权后将在该 url 后携带授权码等信息并跳转至该页。当填入该地址时,系统会自动进行安全检测,详情请参考 安全检测。
4、问题及排查
支付宝提供了排查向导,帮助开发者快速接入,定位问题。
https://opensupport.alipay.com/support/codelab/detail/711/742?ant_source=opendoc
https://opendocs.alipay.com/open/203
image.pnghttps://opensupport.alipay.com/support/codelab/detail/711/713?ant_source=opendoc
二、问题解决
1、invalid-signature , 验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配
支付宝开放平台开发助手生成密钥时有会看到有两个私钥:一个是C:\Users\Administrator\Documents\支付宝开放平台开发助手\RSA密钥\应用私钥2048.txt;注意,不能把这个当私钥。要取CSR目录下的私钥。 image.png匹配验证
引入支付宝的sdk
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.13.33.ALL</version>
</dependency>
输入从支付宝平台上下载的应用公钥绝对路径,(文件名后带有appid)。
public static void main(String[] args) throws AlipayApiException {
String publicKey = AlipaySignature.getAlipayPublicKey("C:\\Users\\Administrator\\Downloads\\appCertPublicKey_2021001160616264.crt");
System.out.println(publicKey);
}
image.png