$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的方式返回 $reqHandler->setParameter("return_url", $return_url); // 设置商品名称:商品描述,会显示在财付通支付页面上 $reqHandler->setParameter("body", $subject); // 设置用户客户端ip:用户IP,指用户浏览器端IP,不是财付通APP服务器IP $reqHandler->setParameter("spbill_create_ip", $_SERVER['REMOTE_ADDR']);