setPreOrderType($pre_order_type); // 请求日期 $request->setReqDate(date("Ymd")); // 请求流水号 $request->setReqSeqId(date("YmdHis").mt_rand()); // 商户号 $request->setHuifuId($huifu_id); // 交易金额 $request->setTransAmt($trans_amt); // 商品描述 $request->setGoodsDesc($goods_desc); // 微信小程序扩展参数集合 $request->setMiniappData($this->getMiniappDataRucan()); // 设置非必填字段 $extendInfoMap = $this->getExtendInfos(); $request->setExtendInfo($extendInfoMap); // 3. 发起API调用 $client = new BsPayClient(); $result = $client->postRequest($request); return $result; } /** * 非必填字段 * */ function getExtendInfos() { // 设置非必填字段 $extendInfoMap = array(); // 收银台ID $extendInfoMap["checkout_id"]= ""; // 是否延迟交易 $extendInfoMap["delay_acct_flag"]= "N"; // 分账对象 $extendInfoMap["acct_split_bunch"]= $this->getAcctSplitBunchRucan(); // 异步通知地址 $extendInfoMap["notify_url"]= "https://callback.service.com/xx"; // 交易失效时间 // $extendInfoMap["time_expire"]= ""; return $extendInfoMap; } function getAcctInfosRucan() { $dto = array(); // 分账金额 $dto["div_amt"] = "0.08"; // 被分账方ID $dto["huifu_id"] = "6666000111546360"; $dtoList = array(); array_push($dtoList, $dto); return $dtoList; } function getAcctSplitBunchRucan() { $dto = array(); // 分账明细 $dto["acct_infos"] = $this->getAcctInfosRucan(); return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); } function getMiniappDataRucan() { $dto = array(); // 应用ID $dto["seq_id"] = "系统应用ID"; // 私有信息 // $dto["private_info"] = ""; return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); } }