/** * Registers swiftMailer autoloader and includes the required files */ public function registerScripts() { if (self::$registeredScripts) { return; } self::$registeredScripts = true; require dirname(__FILE__) . '/func/common.php'; require dirname(__FILE__) . '/func/SDKConfig.php'; require dirname(__FILE__) . '/func/secureUtil.php'; //require dirname(__FILE__).'/func/log.class.php'; }
function unionpay1() { $order_sn = $_GET['order_sn']; $token = $this->token; $wecha_id = $this->wechat_id; if (empty($order_sn)) { $this->error('没有订单号'); } $order = M('b2c_order')->where(array('sn' => $order_sn, 'token' => $token, 'status' => 1))->find(); if (!$order) { $this->error('该订单不存在'); } $payment_where = array('token' => $token, 'pay_code' => 'unionpay', 'enabled' => '1'); $payment = M('b2c_payment')->where($payment_where)->find(); //$wingpay_config = unserialize($payment['pay_config']); if (empty($payment)) { $this->error('商家未设置银联支付方式!请联系商家客服!'); } if (version_compare(phpversion(), '5.4.10', '>')) { include_once LIB_PATH . 'ORG/Payment/UnionPay/lib.php'; } else { include_once LIB_PATH . 'ORG/Payment/UnionPay/netpayclient.php'; } $merid = buildKey('keys/MerPrK_808080301000216_20141106164338.key'); if (empty($merid)) { $this->error('未设置商户号!'); } $ordid = $this->get_order_no($order['sn']); $transamt = padstr($order['price'] * 100, 12); //订单交易金额,12位长度,左补0,单位:分 $curyid = '156'; //订单交易币种,3位长度,固定为人民币156 $transdate = date('Ymd'); $transtype = '0001'; //交易类型,4位长度,"0001"表示消费交易,"0002"表示退货交易 $version = '20070129'; //支付接入版本号20040916,20070129 $gateid = '8607'; $priv1 = 'wechat'; if (!signOrder($merid, $ordid, $transamt, $curyid, $transdate, $transtype)) { $this->error('订单签名验证失败!'); } $chkvalue = sign($merid . $ordid . $transamt . $curyid . $transdate . $transtype . $priv1); //PageRetUrl 返回支付后的商户网站页面 if (isset($_GET['fxs_id'])) { $pagereturl = C('site_url') . '/index.php/Fxs/Shop/my?token=' . $token . '&fxs_id=' . $_GET['fxs_id']; } elseif (isset($_GET['type'])) { $pagereturl = C('site_url') . '/index.php/Fxs/Fxs/my?token=' . $token; } else { $pagereturl = C('site_url') . '/index.php/Wap/Shop/my?token=' . $token; } //后台接受应答地址,用于商户记录交易信息和处理 $bgreturl = C('site_url') . '/index.php/unionpay/notify'; $trade = M('b2c_wingtrade')->where(array('order_sn' => $order_sn, 'token' => $token))->find(); if ($trade) { if ($trade['is_pay']) { $this->success('该订单已付款,不能重复付款!'); } } else { $serialize = array('MerId' => $merid, 'OrdId' => $ordid, 'TransAmt' => $transamt, 'CuryId' => $curyid, 'TransDate' => $transdate, 'TransType' => $transtype, 'Version' => $version, 'BgRetUrl' => $bgreturl, 'PageRetUrl' => $pagereturl, 'GateId' => $gateid, 'Priv1' => $priv1, 'ChkValue' => $chkvalue); $data = array('token' => $token, 'order_sn' => $order_sn, 'is_pay' => '0', 'set_params' => serialize($serialize), 'create_time' => time(), 'update_time' => time()); M('b2c_wingtrade')->add($data); } include_once LIB_PATH . "ORG/Payment/UnionPay/UnionPay.php"; $unionpay = new UnionPay(); $unionpay->setParameter('MerId', $merid); $unionpay->setParameter('OrdId', $ordid); $unionpay->setParameter('TransAmt', $transamt); $unionpay->setParameter('CuryId', $curyid); $unionpay->setParameter('TransDate', $transdate); $unionpay->setParameter('TransType', $transtype); $unionpay->setParameter('Version', $version); $unionpay->setParameter('BgRetUrl', $bgreturl); $unionpay->setParameter('PageRetUrl', $pagereturl); $unionpay->setParameter('GateId', $gateid); $unionpay->setParameter('Priv1', $priv1); $unionpay->setParameter('ChkValue', $chkvalue); echo $unionpay->_buildForm('web'); }