$param['orderAmount'] = 110; //交易金额 $param['orderNumber'] = date('YmdHis') . strval(mt_rand(100, 999)); //订单号,必须唯一(不能与原交易相同) $param['orderTime'] = date('YmdHis'); //交易时间, YYYYmmhhddHHMMSS $param['orderCurrency'] = quickpay_conf::CURRENCY_CNY; //交易币种, $param['customerIp'] = $_SERVER['REMOTE_ADDR']; //用户IP $param['frontEndUrl'] = ""; //前台回调URL, 后台交易可为空 $param['backEndUrl'] = "http://www.unionpay.com/exa/back_notify.php"; //后台回调URL //其余可填空的参数可以不填写 //提交 $pay_service = new quickpay_service($param, quickpay_conf::BACK_PAY); $ret = $pay_service->post(); //同步返回(表示服务器已收到后台接口请求), 处理成功与否以后台通知为准;或使用主动查询 $response = new quickpay_service($ret, quickpay_conf::RESPONSE); var_dump($response); if ($response->get('respCode') != quickpay_service::RESP_SUCCESS) { //错误处理 $err = sprintf("Error: %d => %s", $response->get('respCode'), $response->get('respMsg')); throw new Exception($err); } //后续处理 $arr_ret = $response->get_args(); var_dump($arr_ret); echo "后台交易返回:\n" . var_export($arr_ret, true); //此行仅用于测试输出
require_once '../quickpay_service.php'; //* 测试数据 $transType = quickpay_conf::CONSUME; $orderNumber = "20130329163920172"; $orderTime = "20130329163920172"; // */ //需要填入的部分 $param['transType'] = $transType; //交易类型 $param['orderNumber'] = $orderNumber; //订单号 $param['orderTime'] = $orderTime; //订单时间 //提交查询 $query = new quickpay_service($param, quickpay_conf::QUERY); $ret = $query->post(); //返回查询结果 $response = new quickpay_service($ret, quickpay_conf::RESPONSE); //后续处理 $arr_ret = $response->get_args(); echo "查询请求返回:<pre>\n" . var_export($arr_ret, true) . "</pre>"; $respCode = $response->get('respCode'); $queryResult = $response->get('queryResult'); if ($queryResult == quickpay_service::QUERY_FAIL) { echo "交易失败[respCode:{$respCode}]!\n"; //更新数据库, 设置为交易失败 } else { if ($queryResult == quickpay_service::QUERY_INVALID) { //出错 echo "不存在此交易!\n"; } else {