setReqSeqId(date("YmdHis").mt_rand()); // 请求日期 $request->setReqDate(date("Ymd")); // 上级主体ID $request->setUpperHuifuId("6666000107803321"); // 商户名 $request->setRegName("张天德"); // 经营省 $request->setProvId("310000"); // 经营市 $request->setAreaId("310100"); // 经营区 $request->setDistrictId("310105"); // 经营详细地址 $request->setDetailAddr("上海市长宁区定西路1310号"); // 联系人姓名 $request->setContactName("张天德"); // 联系人手机号 $request->setContactMobileNo("13111112222"); // 联系人电子邮箱 $request->setContactEmail("jeff.peng@huifu.com"); // 结算卡信息配置 $request->setCardInfo(getCardInfo()); // 设置非必填字段 $extendInfoMap = getExtendInfos(); $request->setExtendInfo($extendInfoMap); // 3. 发起API调用 $client = new BsPayClient(); $result = $client->postRequest($request); if (!$result || $result->isError()) { //失败处理 var_dump($result -> getErrorInfo()); } else { //成功处理 var_dump($result); } /** * 非必填字段 * */ function getExtendInfos() { // 设置非必填字段 $extendInfoMap = array(); // 商户简称 $extendInfoMap["short_name"]= "张天德"; // 商户通知标识 $extendInfoMap["sms_send_flag"]= "1"; // 管理员账号 $extendInfoMap["login_name"]= "tinysword0116"; // 取现信息配置 $extendInfoMap["cash_config"]= getCashConfig(); // 结算规则配置 $extendInfoMap["settle_config"]= getSettleConfig(); // 异步通知地址 $extendInfoMap["async_return_url"]= "http://192.168.85.157:30031/sspm/testVirgo"; // D1结算协议图片文件 $extendInfoMap["settle_agree_pic"]= "119bc780-b1c5-3a9c-8b18-f911de6ff28c"; // 商户主页URL // $extendInfoMap["mer_url"]= ""; // 商户ICP备案编号 // $extendInfoMap["mer_icp"]= ""; // 结算卡反面 // $extendInfoMap["settle_card_back_pic"]= ""; // 结算卡正面 // $extendInfoMap["settle_card_front_pic"]= ""; // 授权委托书 // $extendInfoMap["auth_enturst_pic"]= ""; return $extendInfoMap; } function getCardInfo() { $dto = array(); // 卡户名 $dto["card_name"] = "张天德"; // 结算账号 $dto["card_no"] = "4367421217494235081"; // 银行所在省 $dto["prov_id"] = "310000"; // 银行所在市 $dto["area_id"] = "310100"; // 持卡人证件类型 $dto["cert_type"] = "00"; // 持卡人证件号码 $dto["cert_no"] = "321084198912066512"; // 持卡人证件有效期类型 $dto["cert_validity_type"] = "0"; // 持卡人证件有效期开始 $dto["cert_begin_date"] = "20180824"; // 持卡人证件有效期截止日期格式yyyyMMdd,以北京时间为准。<font color="green">示例值:20220125</font><br/>当cert_validity_type=0时必填 <br/>当cert_validity_type=1时为空 $dto["cert_end_date"] = "20380824"; // 结算人手机号 $dto["mp"] = "13700000214"; // 银行编号 $dto["bank_code"] = "01030000"; return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); } function getCashConfig() { $dto = array(); // 取现类型 $dto["cash_type"] = "D1"; // 取现固定手续费(元)fix_amt与fee_rate至少填写一项,单位元,需保留小数点后两位,不收费请填写0.00; <font color="green">示例值:1.00</font> $dto["fix_amt"] = "1.00"; // 取现手续费率(%)fix_amt与fee_rate至少填写一项,单位%,需保留小数点后两位,取值范围[0.00,100.00],不收费请填写0.00;<font color="green">示例值:0.05</font><br/>注:如果fix_amt与fee_rate都填写了则手续费=fix_amt+支付金额\*fee_rate $dto["fee_rate"] = ""; // 是否交易手续费外扣 // $dto["out_fee_flag"] = ""; // 手续费承担方 // $dto["out_fee_huifu_id"] = ""; // 交易手续费外扣的账户类型 // $dto["out_fee_acct_type"] = ""; $dtoList = array(); array_push($dtoList, $dto); return json_encode($dtoList,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); } function getSettleConfig() { $dto = array(); // 结算周期 $dto["settle_cycle"] = "D1"; // 结算手续费外扣商户号结算手续费外扣商户号,填写承担手续费的汇付商户号<br/>当out_settle_flag=1时必填,否则非必填;<font color="green">示例值:6666000123123123</font> $dto["out_settle_huifuid"] = ""; // 起结金额 $dto["min_amt"] = "1.00"; // 留存金额 $dto["remained_amt"] = "2.00"; // 结算摘要 $dto["settle_abstract"] = "我这里显示结算摘要"; // 手续费外扣标记 $dto["out_settle_flag"] = "2"; // 结算手续费外扣账户类型 // $dto["out_settle_acct_type"] = ""; // 节假日结算手续费率(%) $dto["fixed_ratio"] = "5.00"; // 结算方式 // $dto["settle_pattern"] = ""; // 结算批次号 // $dto["settle_batch_no"] = ""; // 是否优先到账 // $dto["is_priority_receipt"] = ""; // 自定义结算处理时间 // $dto["settle_time"] = ""; // 节假日结算手续费固定金额(元) // $dto["constant_amt"] = ""; return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); }