支付宝支付对接

有个项目在对接支付宝时遇到了很多问题,总结下对接过程中需要检查的东西

一、能力签约(此处以公众号开发使用支付宝手机网站支付为例)

1、获取能力

用什么服务要先进行签约方可使用,登录支付宝后台


获取更多能力.png

选择需要的能力.png

2、去开发

点击去开发进行配置


去开发.png

3、开发信息配置

点击“应用信息”,配置一下参数


开发信息配置.png
  • 接口加签方式:必填。用于保障商户应用和支付宝交互的安全性,配置详情参见 接口加签方式配置说明。
  • IP白名单:选填。用于保障用户资金安全,说明详情参见 IP 白名单接入指南。
  • 应用网关:选填。用于接收支付宝异步通知消息,说明详情参见 应用网关。
  • 接口内容加密方式:选填。用于加/解密 OpenAPI bizContent 报文内容及加/解密部分用户隐私信息,说明详情参见 接口内容加密方式。
  • 授权回调地址:选填。第三方应用授权 或 用户信息授权 后回调地址。授权链接中配置的 redirect_uri 的值必须与此值保持一致 (如:https://www.alipay.com) ,用户成功授权后将在该 url 后携带授权码等信息并跳转至该页。当填入该地址时,系统会自动进行安全检测,详情请参考 安全检测。
image.png

4、问题及排查

支付宝提供了排查向导,帮助开发者快速接入,定位问题。
https://opensupport.alipay.com/support/codelab/detail/711/742?ant_source=opendoc

https://opendocs.alipay.com/open/203

image.png

https://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


            com.alipay.sdk
            alipay-sdk-java
            4.13.33.ALL
        
输入从支付宝平台上下载的应用公钥绝对路径,(文件名后带有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

你可能感兴趣的:(支付宝支付对接)