$dopaydata['addtime'] = time(); $this->mysql->insert(Mysite::$app->config['tablepre'] . 'onlinelog', $dopaydata); //id type upid cost status addtime $newid = $this->mysql->insertid(); $totalcost = $dopaydata['cost'] * 100; $subject = $dopaydata['type'] == 'order' ? '支付订单' : '在线充值'; require_once $paydir . "/classes/PayRequest.class.php"; require_once $paydir . "/tenpay_config.php"; $curDateTime = date("YmdHis"); $randNum = rand(1000, 9999); /* 商家的定单号 */ $out_trade_no = $curDateTime . $randNum; /* 创建支付请求对象 */ $reqHandler = new PayRequest($key); // 设置在沙箱中运行,正式环境请设置为false $reqHandler->setInSandBox(true); //---------------------------------------- //以下业务参数名称参考开放平台sdk文档-PHP //---------------------------------------- // 设置财付通appid: 财付通app注册时,由财付通分配 $reqHandler->setAppid($appid); // 设置商户系统订单号:财付通APP系统内部的订单号,32个字符内、可包含字母,确保在财付通APP系统唯一 $reqHandler->setParameter("out_trade_no", $newid); // 设置订单总金额,单位为分 $reqHandler->setParameter("total_fee", $totalcost); // 设置通知url:接收财付通后台通知的URL,用户在财付通完成支付后,财付通会回调此URL,向财付通APP反馈支付结果。 // 此URL可能会被多次回调,请正确处理,避免业务逻辑被多次触发。需给绝对路径,例如:http://wap.isv.com/notify.asp $reqHandler->setParameter("notify_url", $notify_url); // 设置返回url:用户完成支付后跳转的URL,财付通APP应在此页面上给出提示信息,引导用户完成支付后的操作。 // 财付通APP不应在此页面内做发货等业务操作,避免用户反复刷新页面导致多次触发业务逻辑造成不必要的损失。 // 需给绝对路径,例如:http://wap.isv.com/after_pay.asp,通过该路径直接将支付结果以Get的方式返回