首先,您最关心的资金安全是托管给支付宝,安全才是第一位。
我们可以协助贵公司向支付宝申请该资质,所有的资金进出都是在支付宝上完成的,完全可以自己掌控。
付款的工作可以导入订单也可以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 条评论) “” |