Java 支付宝支付,退款,单笔转账到支付宝账户(单…

2018-12-17 10:48:19来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

   上次分享了支付宝订单退款的代码,今天分享一下支付宝转账的操作.  现在是有一个余额提现的功能,本来是打算做提现到银行卡的,但是客户嫌麻烦不想注册银联的开放平台账户,就说先提现到支付宝就行,二期再做银行卡的提现.

  先在支付宝APP里添加此功能,需要签约.

  

 

  此API官方参数文档 : https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer

  然后贴代码:

 

/**
	 * 
	 * 说明:单笔转账到支付宝账户
	 * @param out_biz_no  商户转账唯一订单号
	 * @param payee_type 收款方账户类型  (1、ALIPAY_USERID:支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。2、ALIPAY_LOGONID:支付宝登录号,支持邮箱和手机号格式。)
	 * @param payee_account 收款方账户
	 * @param amount 转账金额
	 * @param payer_show_name 付款方姓名
	 * @param payee_real_name 收款方真实姓名
	 * @param remark 转账备注
	 * @author 许奥伦
	 * @time:2018年12月5日 上午10:14:35
	 */
	@RequestMapping("/transferAccounts")
	public void transferAccounts(String out_biz_no,String payee_type,String payee_account,String amount,String payer_show_name,String payee_real_name,String remark) {

//填写自己创建的app的对应参数
     AlipayClient alipayClient = new DefaultAlipayClient("支付宝网关", "appid", "私钥", "json", "utf-8", "公钥","RSA2");
		
		AlipayFundTransToaccountTransferRequest  transferAccounts_request = new AlipayFundTransToaccountTransferRequest();
		
			
			AlipayFundTransToaccountTransferModel model = new AlipayFundTransToaccountTransferModel();
			model.setOutBizNo(out_biz_no);
			model.setPayeeType(payee_type);
			model.setPayeeAccount(payee_account);
			model.setAmount(amount);
			model.setPayerShowName(payer_show_name);
			model.setPayeeRealName(payee_real_name);
			model.setRemark(remark);
			transferAccounts_request.setBizModel(model);
			try {
				AlipayFundTransToaccountTransferResponse response = alipayClient.execute(transferAccounts_request);
				if(response.isSuccess()){
					System.out.println(response.getBody());
					
					} else {
						System.out.println("调用失败");
					}
			} catch (AlipayApiException e) {
				e.printStackTrace();
			}
		  
		
		
	}

 

  返回 状态码,msg消息,商户ID等 , 上面给的官方路径里都整合好了.

  其实这就是商户支付宝转账给支付宝用户的操作,   然后这里还有个小问题是我自己测出来的:    如果支付宝支付订单没有过可退款期限的话,那么此订单的金额是不会被当作余额转发给支付宝账户的.

  打个比方:    此时你的商户支付宝余额为0元 ,

         然后用户A 已订单支付的方式给你支付了1元,

         那么现在你的商户余额就是1元, 

         但是这 1元并没有过订单可退款的期限,

         那么 这1元是不能 以转账的方式转给用户B的.

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SSM(Spring+SpringMVC+Mybstis)搭建,写给新手

下一篇:Java Singleton(单例模式) 实现详解