zoukankan      html  css  js  c++  java
  • 支付宝转账

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

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

      

     

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

      然后贴代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    /**
         *
         * 说明:单笔转账到支付宝账户
         * @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的.

  • 相关阅读:
    给 Advice 传递参数
    jenkins 部署问题
    Linux里的2>&1究竟是什么
    记一次 Spring 事务配置踩坑记
    Netty
    springboot logback 集成
    SpringBoot-服务端参数验证-JSR-303验证框架
    mysql 数据库 简单存储过程游标使用
    SQL Case when 的使用方法
    解决Unsupported major.minor version 51.0错误
  • 原文地址:https://www.cnblogs.com/niudaxianren/p/10143307.html
Copyright © 2011-2022 走看看