Example #1
0
 /**
  * 获取代码
  */
 function GetCode($order)
 {
     require_once DEDEINC . '/shopcar.class.php';
     $cart = new MemberShops();
     $cart->clearItem();
     $cart->MakeOrders();
     $button = "您可以 <a href='/'>返回首页</a> 或去 <a href='../member/shops_products.php?oid=" . $order . "'>查看订单</a>";
     return $button;
 }
Example #2
0
 /**
  * 提交函数
  */
 function GetCode($order, $payment)
 {
     require_once DEDEINC . '/shopcar.class.php';
     $cart = new MemberShops();
     $cart->clearItem();
     $cart->MakeOrders();
     if ($payment == "member") {
         $button = "您可以 <a href='/'>返回首页</a> 或去 <a href='/member/operation.php'>会员中心</a>";
     } else {
         $button = "您可以 <a href='/'>返回首页</a> 或去 <a href='{$this->orderurl}?oid=" . $order . "'>查看订单</a>";
     }
     return $button;
 }
Example #3
0
 /**
  * 生成支付代码
  * @param   array   $order      订单信息
  * @param   array   $payment    支付方式信息
  */
 function GetCode($order, $payment)
 {
     global $cfg_basehost, $cfg_cmspath, $cfg_soft_lang;
     $charset = $cfg_soft_lang;
     //对于二级目录的处理
     if (!empty($cfg_cmspath)) {
         $cfg_basehost = $cfg_basehost . '/' . $cfg_cmspath;
     }
     $real_method = $payment['alipay_pay_method'];
     switch ($real_method) {
         case '0':
             $service = 'trade_create_by_buyer';
             break;
         case '1':
             $service = 'create_partner_trade_by_buyer';
             break;
         case '2':
             $service = 'create_direct_pay_by_user';
             break;
     }
     $agent = 'C4335994340215837114';
     $parameter = array('agent' => $agent, 'service' => $service, 'partner' => $payment['alipay_partner'], '_input_charset' => $charset, 'notify_url' => $cfg_basehost . $this->return_url . "&code=" . $payment['code'], 'return_url' => $cfg_basehost . $this->return_url . "&code=" . $payment['code'], 'subject' => "支付订单号:" . $order['out_trade_no'], 'out_trade_no' => $order['out_trade_no'], 'price' => $order['price'], 'quantity' => 1, 'payment_type' => 1, 'logistics_type' => 'EXPRESS', 'logistics_fee' => 0, 'logistics_payment' => 'BUYER_PAY_AFTER_RECEIVE', 'seller_email' => $payment['alipay_account']);
     ksort($parameter);
     reset($parameter);
     $param = '';
     $sign = '';
     foreach ($parameter as $key => $val) {
         $param .= "{$key}=" . urlencode($val) . "&";
         $sign .= "{$key}={$val}&";
     }
     $param = substr($param, 0, -1);
     $sign = substr($sign, 0, -1) . $payment['alipay_key'];
     $button = '<div style="text-align:center"><input type="button" onclick="window.open(\'https://www.alipay.com/cooperate/gateway.do?' . $param . '&sign=' . md5($sign) . '&sign_type=MD5\')" value="立即使用alipay支付宝支付"/></div>';
     /* 清空购物车 */
     require_once DEDEINC . '/shopcar.class.php';
     $cart = new MemberShops();
     $cart->clearItem();
     $cart->MakeOrders();
     return $button;
 }
Example #4
0
<?php

require_once dirname(__FILE__) . "/../../../include/common.inc.php";
require_once DEDEINC . '/shopcar.class.php';
require_once DEDEDATA . '/sys_pay.cache.php';
require_once DEDEINC . '/memberlogin.class.php';
include_once dirname(__FILE__) . '/yeepay_config.php';
$cfg_ml = new MemberLogin();
$cfg_ml->PutLoginInfo($cfg_ml->M_ID);
$cart = new MemberShops();
$cart->MakeOrders();
#	只有支付成功时易宝支付才会通知商户.
##支付成功回调有两次,都会通知到在线支付请求参数中的p8_Url上:浏览器重定向;服务器点对点通讯.
#	解析返回参数.
$return = getCallBackValue($r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac);
#	判断返回签名是否正确(True/False)
$bRet = CheckHmac($r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac);
#	以上代码和变量不需要修改.
#	校验码正确.
if ($bRet) {
    if ($r1_Code == "1") {
        #	需要比较返回的金额与商家数据库中订单的金额是否相等,只有相等的情况下才认为是交易成功.
        #	并且需要对返回的处理进行事务控制,进行记录的排它性处理,防止对同一条交易重复发货的情况发生.
        if ($r9_BType == "1") {
            success_db($r6_Order);
        } elseif ($r9_BType == "2") {
            #如果需要应答机制则必须回写流,以success开头,大小写不敏感.
            echo "success";
            success_db($r6_Order);
        } elseif ($r9_BType == "3") {
            success_db($r6_Order);
Example #5
0
<?php

require_once dirname(__FILE__) . "/../include/common.inc.php";
require_once DEDEINC . '/shopcar.class.php';
$cart = new MemberShops();
$do = isset($do) ? trim($do) : 'add';
if ($do == 'add') {
    /*
    function addItem();				add a product to car
    */
    $buynum = isset($buynum) && is_numeric($buynum) ? $buynum : 1;
    $id = intval($id);
    $buynum = $buynum < 1 ? 1 : $buynum;
    $rs = $dsql->GetOne("SELECT id,channel,title FROM #@__archives WHERE id='{$id}'");
    if (!is_array($rs)) {
        ShowMsg("该商品已不存在!", "-1");
        exit;
    }
    $cts = GetChannelTable($rs['channel']);
    $rows = $dsql->GetOne("SELECT aid as id,trueprice as price,units FROM `{$cts['addtable']}` WHERE aid='{$id}'");
    if (!is_array($rows)) {
        ShowMsg("该商品已不存在!", "-1");
        exit;
    }
    $rows['buynum'] = $buynum;
    $rows['title'] = $rs['title'];
    $cart->addItem($id, $rows);
    ShowMsg("已添加加到购物车,<a href='car.php'>查看购物车</a>", "car.php");
    exit;
} elseif ($do == 'del') {
    /*
Example #6
0
<?php

//显示购物车的商品
require_once dirname(__FILE__) . "/../include/common.inc.php";
define('_PLUS_TPL_', DEDEROOT . '/templets/plus');
require_once DEDEINC . '/dedetemplate.class.php';
require_once DEDEINC . '/shopcar.class.php';
require_once DEDEINC . '/memberlogin.class.php';
$cart = new MemberShops();
if (isset($dopost) && $dopost == 'makeid') {
    AjaxHead();
    $cart->MakeOrders();
    echo $cart->OrdersId;
    exit;
}
$cfg_ml = new MemberLogin();
//获得购物车内商品,返回数组
$Items = $cart->getItems();
if ($cart->cartCount() < 1) {
    ShowMsg("购物车中不存在任何商品!", "javascript:window.close();", false, 5000);
    exit;
}
@sort($Items);
$carts = array('orders_id' => $cart->OrdersId, 'cart_count' => $cart->cartCount(), 'price_count' => $cart->priceCount());
$dtp = new DedeTemplate();
$dtp->Assign('carts', $carts);
$dtp->LoadTemplate(_PLUS_TPL_ . '/car.htm');
$dtp->Display();
exit;
Example #7
0
$payment = 'none';
if (isset($pd_encode) && isset($pd_verify) && md5("payment" . $pd_encode . $cfg_cookie_encode) == $pd_verify) {
    parse_str(mchStrCode($pd_encode, 'DECODE'), $mch_Post);
    $payment = 'ready';
    foreach ($mch_Post as $k => $v) {
        ${$k} = $v;
    }
}
$pr_encode = '';
foreach ($_REQUEST as $key => $val) {
    $pr_encode .= $pr_encode ? "&{$key}={$val}" : "{$key}={$val}";
}
$pr_encode = str_replace('=', '', mchStrCode($pr_encode));
$pr_verify = md5("payment" . $pr_encode . $cfg_cookie_encode);
$cfg_ml = new MemberLogin();
$cart = new MemberShops();
//获得购物车内商品,返回数组
$Items = $cart->getItems();
if (empty($Items)) {
    ShowMsg("抱歉,请不要重复提交!", "javascript:;");
    exit;
}
$OrdersId = $cart->OrdersId;
//本次记录的订单号
$CartCount = $cart->cartCount();
//商品总数
$priceCount = $cart->priceCount();
//该订单总价格
/*
function PostOrdersForm();				//填写订单信息
*/
Example #8
0
//更新用户商品统计
$countOrders = $dsql->GetOne("SELECT SUM(cartcount) AS nums FROM #@__shops_orders WHERE userid='" . $cfg_ml->M_ID . "'");
$dsql->ExecuteNoneQuery("UPDATE #@__member_tj SET `shop`='" . $countOrders['nums'] . "' WHERE mid='" . $cfg_ml->M_ID . "'");
$priceCount = sprintf("%01.2f", $row['priceCount']);
if (!isset($online_payment)) {
    $payment_list = array();
    foreach ($payment_select as $k => $val) {
        $temp_arr['name'] = $cfg_pay_info['name'][$k];
        $temp_arr['logo'] = $cfg_cmspath . '/member/images/pay/' . $cfg_pay_info['logo'][$k];
        $temp_arr['des'] = $cfg_pay_info['des'][$k];
        $temp_arr['value'] = $val;
        $temp_arr['exp'] = sprintf("%01.2f", $priceCount * $payment_exp[$k]);
        $payment_list[] = $temp_arr;
    }
    $dtp = new DedeTemplate();
    $dtp->Assign('carts', $row);
    $dtp->LoadTemplate(_PLUS_TPL_ . '/shops_buyaction.htm');
    $dtp->Display();
    exit;
} else {
    if (!in_array($online_payment, $payment_select)) {
        ShowMsg("支付接口无效,或没开启!", 'javascript:;');
        exit;
    }
    $cart = new MemberShops();
    //清空购物车
    $cart->clearItem();
    $cart->MakeOrders();
    require_once DEDEROOT . '/plus/paycenter/' . $online_payment . '/config_pay_' . $online_payment . '.php';
    exit;
}
Example #9
0
 /**
  * 生成支付代码
  * @param   array   $order      订单信息
  * @param   array   $payment    支付方式信息
  */
 function GetCode($order, $payment)
 {
     global $cfg_basehost, $cfg_cmspath;
     //对于二级目录的处理
     if (!empty($cfg_cmspath)) {
         $cfg_basehost = $cfg_basehost . '/' . $cfg_cmspath;
     }
     #    商家设置用户购买商品的支付信息.
     ##易宝支付平台统一使用GBK/GB2312编码方式,参数如用到中文,请注意转码
     #    商户订单号,选填.
     ##若不为"",提交的订单号必须在自身账户交易中唯一;为""时,易宝支付会自动生成随机的商户订单号.
     $p2_Order = trim($order['out_trade_no']);
     #    支付金额,必填.
     ##单位:元,精确到分.
     $p3_Amt = $order['price'];
     #    交易币种,固定值"CNY".
     $p4_Cur = "CNY";
     #    商品名称
     ##用于支付时显示在易宝支付网关左侧的订单产品信息.
     $p5_Pid = trim($order['out_trade_no']);
     #    商品种类
     $p6_Pcat = 'cart';
     #    商品描述
     $p7_Pdesc = '';
     #    商户接收支付成功数据的地址,支付成功后易宝支付会向该地址发送两次成功通知.
     //$p8_Url                        = $cfg_basehost."/plus/carbuyaction.php?dopost=return&code=".$payment['code'];
     $p8_Url = $cfg_basehost . $this->return_url . '&code=' . $payment['code'];
     #    商户扩展信息
     ##商户可以任意填写1K 的字符串,支付成功时将原样返回.
     $pa_MP = 'member';
     #    应答机制
     ##为"1": 需要应答机制;为"0": 不需要应答机制.
     $pr_NeedResponse = 1;
     #    银行编码
     ##默认为"",到易宝支付网关.若不需显示易宝支付的页面,直接跳转到各银行、神州行支付、骏网一卡通等支付页面,该字段可依照附录:银行列表设置参数值.
     $pd_FrpId = '';
     #调用签名函数生成签名串
     $hmac = $this->getReqHmacString($payment['yp_account'], $payment['yp_key'], $p2_Order, $p3_Amt, $p4_Cur, $p5_Pid, $p6_Pcat, $p7_Pdesc, $p8_Url, $pa_MP, $pd_FrpId, $pr_NeedResponse);
     $button = '<form target="_blank" method="post" action="' . $this->reqURL_onLine . '">
                         <input type="hidden" value="' . $this->p0_Cmd . '" name="p0_Cmd">
                         <input type="hidden" value="' . $payment['yp_account'] . '" name="p1_MerId">
                         <input type="hidden" value="' . $p2_Order . '" name="p2_Order">
                         <input type="hidden" value="' . $p3_Amt . '" name="p3_Amt">
                         <input type="hidden" value="' . $p4_Cur . '" name="p4_Cur">
                         <input type="hidden" value="' . $p5_Pid . '" name="p5_Pid">
                         <input type="hidden" value="' . $p6_Pcat . '" name="p6_Pcat">
                         <input type="hidden" value="' . $p7_Pdesc . '" name="p7_Pdesc">
                         <input type="hidden" value="' . $p8_Url . '" name="p8_Url">
                         <input type="hidden" value="' . $this->p9_SAF . '" name="p9_SAF">
                         <input type="hidden" value="' . $pa_MP . '" name="pa_MP">
                         <input type="hidden" value="' . $pd_FrpId . '" name="pd_FrpId">
                         <input type="hidden" value="' . $pr_NeedResponse . '" name="pr_NeedResponse"    >
                         <input type="hidden" value="' . $hmac . '" name="hmac">
                         <input type="submit" value="立即使用YeePay易宝支付"></form>';
     /* 清空购物车 */
     require_once DEDEINC . '/shopcar.class.php';
     $cart = new MemberShops();
     $cart->clearItem();
     $cart->MakeOrders();
     return $button;
 }