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'] );//返回接口处理后的数据
}