支付宝转账-提取根证书失败 AlipayRootCert Is Invalid

问题解决:缺少jar包

在这里插入图片描述

转账相关代码

	 /**
	  * 支付宝单笔转账
	  * @param payee_account  收款方账户(支付宝账户)
	  * @param payee_name 收款方真实姓名
	  * @param amount 金额(单位:元)
	  * @param memo 备注
	  * @param orderNum 订单号
	  */
	 public static Integer ailPayTransfer(String payee_account,String payee_name,String amount,String orderNum,String memo) {
		
	 	try {
	 		
	 		//获取根目录
	 		String filePath=AlipayUtil.class.getResource("/").getPath();	
	 		System.out.println(filePath);
	 		CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
	 		certAlipayRequest.setServerUrl(URL);
	 		certAlipayRequest.setAppId(APP_ID);
	 		certAlipayRequest.setPrivateKey(APP_PRIVATE_KEY);
	 		certAlipayRequest.setFormat("json");
	 		certAlipayRequest.setCharset(CHARSET);
	 		certAlipayRequest.setSignType(SIGN_TYPE);
	 		certAlipayRequest.setCertPath(filePath+"appCertPublicKey_2019032963724751.crt");
	 		certAlipayRequest.setAlipayPublicCertPath(filePath+"alipayCertPublicKey_RSA2.crt"); 
	 		certAlipayRequest.setRootCertPath(filePath+"alipayRootCert.crt");
	 		 
	 		DefaultAlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest); 
	 		AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
	 		request.setBizContent("{" +
		 		"\"out_biz_no\":\""+orderNum+"\"," +//商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
		 		"\"trans_amount\":"+amount+"," +	//订单总金额,单位为元,精确到小数点后两位,
		 		"\"product_code\":\"TRANS_ACCOUNT_NO_PWD\"," +//收发现金红包固定为:STD_RED_PACKET; 单笔无密转账到支付宝账户固定为:TRANS_ACCOUNT_NO_PWD; 单笔无密转账到银行卡固定为:TRANS_BANKCARD_NO_PWD
		 		"\"biz_scene\":\"DIRECT_TRANSFER\"," +  //描述特定的业务场景,可传的参数如下: PERSONAL_COLLECTION:C2C现金红包-领红包; DIRECT_TRANSFER:B2C现金红包、单笔无密转账到支付宝/银行卡
		 		"\"order_title\":\"转账业务的标题\"," +//转账业务的标题,用于在支付宝用户的账单里显示
		 		//"\"original_order_id\":\"20190620110075000006640000063056\"," +//原支付宝业务单号。C2C现金红包-红包领取时,传红包支付时返回的支付宝单号;B2C现金红包、单笔无密转账到支付宝/银行卡不需要该参数。
		 		"\"payee_info\":{" +		//收款方信息
		 			"\"identity\":\""+payee_account+"\"," +		//参与方的唯一标识
		 			"\"identity_type\":\""+PAYEE_TYPE+"\"," +	//参与方的标识类型,目前支持如下类型: 1、ALIPAY_USER_ID 支付宝的会员ID  2、ALIPAY_LOGON_ID:支付宝登录号,支持邮箱和手机号格式
		 			"\"name\":\""+payee_name+"\"" +				//参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。若传入该属性,则在支付宝回单中将会显示这个属性
		 		"  }," +
		 		"\"remark\":\""+memo+"\"" +  //业务备注 
	 		"  }");
	 		AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
	 		if(response.isSuccess()){
	 			System.out.println("调用成功");
	 			return 1;
	 		} else {
	 			System.out.println("调用失败");
	 		}
		} catch (AlipayApiException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("出错");
		}	
		return 0;
	}

相关文档地址
https://docs.open.alipay.com/309/106236

证书升级步骤
https://docs.open.alipay.com/291/twngcd/

大致描述步骤:
1 下载证书软件
2 运行软件,输入企业信息,生成CSR文件
3 上传CSR文件到支付宝开发平台的应用

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值