支付宝转账最新接口(证书版)的封装

支付宝转账最新接口(证书版)的封装

一,利用支付宝SDK做了精简demo实例

1,所需Jar包有如下共5个:

在这里插入图片描述

2,配置文件alipay.properties

   #支付宝配置 alipay config 

   #应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
   alipayconfig.app_id=

   #商户私钥,您的PKCS8格式RDA2私钥
   alipayconfig.merchant_private_key=

   #应用公钥证书
   aliAppCertPublicKey=绝对路径\\config\\appCertPublicKey_2018102761867379.crt

   #支付宝公钥证书
   aliCertPublicKey=绝对路径\\config\\alipayCertPublicKey_RSA2.crt

   #支付宝根证书
   aliRootCert=绝对路径\\config\\alipayRootCert.crt

   #服务器异步通知页面地址      需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
   alipayconfig.notify_url=

   #页面跳转同步通知地址
   alipayconfig.return_url=

二,其他web项目的集成步骤与调用

1,导入如下所需的5个Jar包到lib目录下

在这里插入图片描述

2,更改配置文件alipay.properties中的参数值为自己的

   #支付宝配置 alipay config 

   #应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
   alipayconfig.app_id=

   #商户私钥,您的PKCS8格式RDA2私钥
   alipayconfig.merchant_private_key=

   #应用公钥证书
   aliAppCertPublicKey=绝对路径\\config\\appCertPublicKey_2018102761867379.crt

   #支付宝公钥证书
   aliCertPublicKey=绝对路径\\config\\alipayCertPublicKey_RSA2.crt

   #支付宝根证书
   aliRootCert=绝对路径\\config\\alipayRootCert.crt

   #服务器异步通知页面地址      需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
   alipayconfig.notify_url=

   #页面跳转同步通知地址
   alipayconfig.return_url=

3,转账方法的调用,主要是AlipayCash类

加载配置文件和调用分装后的转账接口alipay2User

    //关联配置文件
	private static AlipayConfig rm =new AlipayConfig();
	
	private static String gateway=rm.gatewayUrl;//支付宝网关
	private static String appid=rm.app_id;//阿里公共账户的id
	private static String private_key=rm.merchant_private_key;//私钥
	private static String input_charset=rm.charset;//字段类型
	private static String ali_public_key=rm.alipay_public_key;//公钥
	private static String app_cert_sn;//app公匙序列号 
	private static String alipay_root_cert_sn;//根证书序列号
	
	private static AlipayClient alipayClient;
	
	/**
	 * 支付宝向用户转账
	 * @param bizNo  逻辑单号
	 * @param amount 转账金额 "1.21"单位元
	 * @param identity 支付宝账号
	 * @param name 支付宝真实姓名
	 * @return
	 */
	public Map<String,String> alipay2User(String bizNo,String amount,String identity, String name){
		Map<String,String> resultMap=new HashMap<String,String>();			
		AliPayVo vo = new AliPayVo();
        vo.setOut_biz_no(bizNo);
        vo.setProduct_code("TRANS_ACCOUNT_NO_PWD");//单笔无密转账到支付宝账户.setPayee_type("ALIPAY_LOGONID");
        vo.setBiz_scene("DIRECT_TRANSFER");//单笔无密转账到支付宝/银行卡, B2C现金红包;
        vo.setTrans_amount(amount);
        vo.setPayee_info(getAliPayInfoVo(identity, name));
        vo.setRemark("支付宝转账");
        String json = new Gson().toJson(vo);
        // 设置请求参数
        AlipayFundTransUniTransferRequest alipayRequest = new AlipayFundTransUniTransferRequest();
        alipayRequest.setBizContent(json);

        CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
        certAlipayRequest.setServerUrl(gateway);
        certAlipayRequest.setAppId(appid);
        certAlipayRequest.setPrivateKey(private_key);
        certAlipayRequest.setFormat("json");
        certAlipayRequest.setCharset(input_charset);
        certAlipayRequest.setSignType("RSA2");
        //上传csr文件后 完成配置,支付宝后台能下载3个文件 
        // 应用公匙证书
        certAlipayRequest.setCertPath(rm.aliAppCertPublicKey);
        // 支付宝公匙证书
        certAlipayRequest.setAlipayPublicCertPath(rm.aliCertPublicKey);
        //支付宝 根 公匙证书
        certAlipayRequest.setRootCertPath(rm.aliRootCert);
		
			
        AlipayFundTransUniTransferResponse response =null;
		try {
			alipayClient   =   new  DefaultAlipayClient(certAlipayRequest);
			response =  alipayClient.certificateExecute(alipayRequest);
			
			if("10000".equals(response.getCode())){

执行AlipayCash.alipay2User 就会实现转账功能。转账可以不配置异步通知,只需要转账执行成功后,进行业务处理。

应用实例:

AlipayCash alipay=new AlipayCash();
alipay.alipay2User(findwithdraw.getOutBizNo(),findwithdraw.getMoney().toString(),findwithdraw.getBankNo(),findwithdraw.getBankName());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值