工资代发与批量付款的解决方案

首先,您最关心的资金安全是托管给支付宝,安全才是第一位。

我们可以协助贵公司向支付宝申请该资质,所有的资金进出都是在支付宝上完成的,完全可以自己掌控。

付款的工作可以导入订单也可以API完成。



    public void pay(Map tixian, Map bank) {        String txid = StringUtil.isbank(tixian, TableEnum.component_accounttx.id);        try {            Map channel = companypayChannelMapper.findchannel("alipay_balance");            String channelid = StringUtil.isbank(channel, TableEnum.component_companypay_channel.id);            AlipayClient alipayClient = this.alipayClient(channelid);            AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();            AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();            model.setOutBizNo(txid);//商家侧唯一订单号,由商家自定义。对于不同转账请求,商家需保证该订单号在自身系统唯一。            model.setRemark("提现单号:" + txid);//业务备注。            //转账业务请求的扩展参数,支持传入的扩展参数如下:            //payer_show_name_use_alias:是否展示付款方别名,可选,收款方在支付宝账单中可见。枚举支持:            //* true:展示别名,将展示商家支付宝在商家中心 商户信息 > 商户基本信息 页面配置的 商户别名。            //* false:不展示别名。默认为 false。            model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");            model.setBizScene("DIRECT_TRANSFER");//业务场景。单笔无密转账固定为 DIRECT_TRANSFER。            Participant payeeInfo = new Participant();//收款方信息            //当 identity_type=ALIPAY_USER_ID 时,填写支付宝用户 UID。示例值:2088123412341234。            //当 identity_type=ALIPAY_LOGON_ID 时,填写支付宝登录号。示例值:186xxxxxxxx。            payeeInfo.setIdentity(StringUtil.isbank(bank, TableEnum.guanyi_shop_bankcar.bank_code));            payeeInfo.setIdentityType("ALIPAY_LOGON_ID");            //参与方真实姓名。如果非空,将校验收款支付宝账号姓名一致性。            //当 identity_type=ALIPAY_LOGON_ID 时,本字段必填。若传入该属性,则在支付宝回单中将会显示这个属性。            payeeInfo.setName(StringUtil.isbank(bank, TableEnum.guanyi_shop_bankcar.bank_name));            model.setPayeeInfo(payeeInfo);            model.setTransAmount(this.tixianBalance(tixian));//订单总金额,单位为元,不支持千位分隔符,精确到小数点后两位,取值范围[0.1,100000000]。            model.setProductCode("TRANS_ACCOUNT_NO_PWD");//销售产品码。单笔无密转账固定为 TRANS_ACCOUNT_NO_PWD            model.setOrderTitle(this.getCongigStr(ConfigEnum.alipay_balance.title, channelid));//转账业务的标题,用于在支付宝用户的账单里显示。            request.setBizModel(model);            AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);            if (response.isSuccess()) {                tixian.put(TableEnum.component_accounttx.pay_state.toString(), "5");                tixian.put(TableEnum.component_accounttx.pay_no.toString(), response.getOrderId());                tixian.put(TableEnum.component_accounttx.pay_bak.toString(), StringUtil.isbank(channel, TableEnum.component_companypay_channel.channel_name) + ":代付成功");                tixian.put(TableEnum.component_accounttx.pay_time.toString(), new Date());                tixian.put(TableEnum.component_accounttx.companypay_channel.toString(), channelid);                accounttxMapper.baseUpdata(tixian);            } else {                if ("BALANCE_IS_NOT_ENOUGH".equals(response.getSubCode())) {                    accounttxStopMapper.add(txid, "余额不足");                } else {                    tixian.put(SystemConstant.results, "1");                    tixian.put(SystemConstant.message, response.getSubMsg());                    accounttxMapper.tuihui(tixian);                }            }        } catch (Exception e) {            accounttxStopMapper.add(txid, "程序异常:" + e.getMessage());        }    }
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章