第三方支付API支付宝支付申请流程 支付宝新老版本

新版本

在这里插入图片描述

在这里插入图片描述

Maven 引入jar包

<dependency>
    <groupId>com.alipay.sdk</groupId>
    <artifactId>alipay-sdk-java</artifactId>
    <version>4.10.167.ALL</version>
</dependency>

支付宝证书支付

注册支付宝商家账号后登陆控制台:

https://openhome.alipay.com/platform/developerIndex.htm
官方文档:https://opendocs.alipay.com/open/203/107084

流程
在这里插入图片描述

开始

选择要创建的应用
在这里插入图片描述

比如我这里选择的是 网页&移动应用 支付接入

网址url可以随便写

在这里插入图片描述

添加支付能力 如果之前选了则跳过
在这里插入图片描述

我这里是已经签约的状态,没签约的去复制ID然后签约

在这里插入图片描述
在这里插入图片描述

需要加签
在这里插入图片描述

我这边业务需求是公钥证书的加签模式

在这里插入图片描述

下载了支付宝秘钥生成器 生成公私钥和CSR文件 csr文件需要上传到支付宝
在这里插入图片描述

填写公司信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下载JAVA版本的SDK : https://opendocs.alipay.com/open/203/105910
下载三个证书
在这里插入图片描述

按要求传入参数

代码:

package com.fc;
import com.alipay.api.AlipayClient;
import com.alipay.api.CertAlipayRequest;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayOpenOperationOpenbizmockBizQueryModel;
import com.alipay.api.request.AlipayOpenOperationOpenbizmockBizQueryRequest;
import com.alipay.api.response.AlipayOpenOperationOpenbizmockBizQueryResponse;

public class zfb_test {
	
    public static void main(String[] args) {
        try {
            // 1. 创建AlipayClient实例
            AlipayClient alipayClient = new DefaultAlipayClient(getClientParams());
            // 2. 创建使用的Open API对应的Request请求对象
            AlipayOpenOperationOpenbizmockBizQueryRequest request = getRequest();
            // 3. 发起请求并处理响应
            AlipayOpenOperationOpenbizmockBizQueryResponse response = alipayClient.certificateExecute(request);
            if (response.isSuccess()) {
                System.out.println("调用成功。");
            } else {
                System.out.println("调用失败,原因:" + response.getMsg() + "," + response.getSubMsg());
            }
        } catch (Exception e) {
            System.out.println("调用遭遇异常,原因:" + e.getMessage());
            throw new RuntimeException(e.getMessage(), e);
        }
    }

    private static CertAlipayRequest getClientParams() {
        CertAlipayRequest certParams = new CertAlipayRequest();
        certParams.setServerUrl("https://openapi.alipay.com/gateway.do");
        //请更换为您的AppId
        certParams.setAppId("2021002117629847");
        //请更换为您的PKCS8格式的应用私钥
        certParams.setPrivateKey("123");
        //请更换为您使用的字符集编码,推荐采用utf-8
        certParams.setCharset("utf-8");
        certParams.setFormat("json");
        certParams.setSignType("RSA2");
        //请更换为您的应用公钥证书文件路径
        System.out.println("提取应用公钥证书");
        certParams.setCertPath("C:\\Users\\admin\\Desktop\\zfb\\应用公钥\\appCertPublicKey_2021002117629847.crt");
        //请更换您的支付宝公钥证书文件路径
        System.out.println("提取公钥证书");
        certParams.setAlipayPublicCertPath("C:\\Users\\admin\\Desktop\\zfb\\支付宝公钥证书\\alipayCertPublicKey_RSA2.crt");
        //更换为支付宝根证书文件路径
        System.out.println("提取根证书");
        certParams.setRootCertPath("C:\\Users\\admin\\Desktop\\zfb\\根证书\\alipayRootCert.crt");
        return certParams;
    }

    private static AlipayOpenOperationOpenbizmockBizQueryRequest getRequest() {
        // 初始化Request,并填充Model属性。实际调用时请替换为您想要使用的API对应的Request对象。
        AlipayOpenOperationOpenbizmockBizQueryRequest request = new AlipayOpenOperationOpenbizmockBizQueryRequest();
        AlipayOpenOperationOpenbizmockBizQueryModel model = new AlipayOpenOperationOpenbizmockBizQueryModel();
        model.setBizNo("test");
        request.setBizModel(model);
        return request;
    }
}

测试结果

在这里插入图片描述

秘钥匹配功能

在这里插入图片描述

报错:isv.insufficient-isv-permissions(ISV权限不足):https://opensupport.alipay.com/support/knowledge/01/201602475472?ant_source=antsupport

手机网站支付demo:https://opendocs.alipay.com/open/54/106682

老版本
https://opendocs.alipay.com/open/common/104740

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石宗昊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值