ecshop中根据选择支付方式的不同,调用不同的支付接口

首先我在ecshop供应商数据表中添加一个字段:
suppliers_pay    tinyint(4)这个字段主要是存储支付方式:1为现金,2为游戏币

在商品列表页加入以下代码(我把ecshop的商品列表页整合到商品商城中,也就是在我的游戏商城中)

然后根据商品的id取出此商品的供应商ID,为什么要取出供应商ID,因为我们要根据供应商的ID来读取支付方式
$supsql = "SELECT suppliers_id "." FROM " .$GLOBALS['ecs']->table('goods').    " WHERE goods_id = ".$goods_id;
    $suprow = $GLOBALS['db']->getRow($supsql);
到供应商数据表中取出支付方式
    $typesql = "SELECT suppliers_pay "." FROM " .$GLOBALS['ecs']->table('suppliers').    " WHERE suppliers_id = ".$suprow['suppliers_id'];
   $typerow = $GLOBALS['db']->getRow($typesql);
然后就判断此商品的支付方式为,
if($typerow ['suppliers_pay'] == 1){
        //现金发货
        deliver_goods($uid,$goods_id,$goods_number,$goods_amount);//调用现金接口
        die ( $json->encode ( $res ) );
    }else if($typerow ['suppliers_pay'] == 2){
        //游戏币发货
        weibo_goods($uid,$order['order_sn'],$goods_number,$goods_amount);//调用游戏币接口
        die ( $json->encode ( $res ) );
    }else{

    }

接口就是根据uid来修改游戏中的道具数量,道具价格,账户余额。

现金发货的接口
function deliver_goods($uid, $prop_id, $count, $money) {
    global $game_url; //定义接口的url
    require_once (ROOT_PATH . 'includes/cls_transport.php');
    $t = new transport ( '-1', 5, 5, true );
    $url = $game_url . "buy/$uid/$prop_id/$count/$money";//需要修改的参数
    $ret = $t->request ( $url, '', 'GET' );
    if ($ret == false) {
        die ( '请求游戏接口出错' );
    }
    $ret = json_decode ( $ret ['body'] );//返回接口处理后的数据
}

posted @ 2012-09-25 12:27  longailili  阅读(548)  评论(0编辑  收藏  举报