public function get_payment_code($payment_notice_id) { $upop_evn = $this->upop_evn; $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where id = " . $payment_notice_id); $order_sn = $GLOBALS['db']->getOne("select order_sn from " . DB_PREFIX . "deal_order where id = " . $payment_notice['order_id']); $money = round($payment_notice['money'], 2); $payment_info = $GLOBALS['db']->getRow("select id,config,logo from " . DB_PREFIX . "payment where id=" . intval($payment_notice['payment_id'])); $payment_info['config'] = unserialize($payment_info['config']); // 商户名称 quickpay_conf::$pay_params['merAbbr'] = $payment_info['config']['upop_merAbbr']; foreach (Upop_payment::$api_url[$upop_evn] as $key => $value) { quickpay_conf::${$key} = $value; } if ($upop_evn == '2') { quickpay_conf::$security_key = $payment_info['config']['upop_security_key']; quickpay_conf::$pay_params['merId'] = $payment_info['config']['upop_account']; } else { if ($upop_evn == '1') { quickpay_conf::$security_key = $payment_info['config']['upop_security_key_pm']; quickpay_conf::$pay_params['merId'] = $payment_info['config']['upop_account_pm']; } else { if ($upop_evn == '0') { quickpay_conf::$security_key = $payment_info['config']['upop_security_key']; quickpay_conf::$pay_params['merId'] = $payment_info['config']['upop_account']; } } } $frontEndUrl = SITE_DOMAIN . APP_ROOT . '/callback/payment/upop_response.php'; $backEndUrl = SITE_DOMAIN . APP_ROOT . '/callback/payment/upop_notify.php'; mt_srand(quickpay_service::make_seed()); $param = array(); $param['transType'] = quickpay_conf::CONSUME; // 交易类型,CONSUME or PRE_AUTH $param['orderAmount'] = $money * 100; // 交易金额 转化为分 $param['orderNumber'] = $payment_notice['notice_sn']; // 订单号,必须唯一 $param['orderTime'] = to_date(NOW_TIME, 'YmdHis'); // 交易时间, YYYYmmhhddHHMMSS $param['orderCurrency'] = quickpay_conf::CURRENCY_CNY; //交易币种,CURRENCY_CNY=>人民币 $param['customerIp'] = $_SERVER['REMOTE_ADDR']; // 用户IP $param['frontEndUrl'] = $frontEndUrl; // 前台回调URL $param['backEndUrl'] = $frontEndUrl; // 后台回调URL /* 可填空字段 $param['commodityUrl'] = "http://www.example.com/product?name=商品"; //商品URL $param['commodityName'] = '商品名称'; //商品名称 $param['commodityUnitPrice'] = 11000; //商品单价 $param['commodityQuantity'] = 1; //商品数量 */ $button = "<button class='ui-button paybutton' rel='blue' type='submit'>去网银在线支付</button>"; $pay_service = new quickpay_service($param, quickpay_conf::FRONT_PAY); $html = $pay_service->create_html($button); return $html; }
<?php //后台接口示例 require_once '../quickpay_service.php'; //下面这行用于测试,以生成随机且唯一的订单号 mt_srand(quickpay_service::make_seed()); //交易类型 退货=REFUND 或 消费撤销=CONSUME_VOID, 如果原始交易是PRE_AUTH,那么后台接口也支持对应的 // PRE_AUTH_VOID(预授权撤销), PRE_AUTH_COMPLETE(预授权完成), PRE_AUTH_VOID_COMPLETE(预授权完成撤销) $param['transType'] = quickpay_conf::REFUND; $param['origQid'] = '20130329163920172'; //原交易返回的qid, 从数据库中获取 $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);