ecshop 开发接口(ecshop订单接口)

网友投稿 335 2023-03-20


本篇文章给大家谈谈ecshop 开发接口,以及ecshop订单接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享ecshop 开发接口的知识,其中也会对ecshop订单接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何制作Ecshop可用的移动app的api标准接口

标题上加了Ecshop,其实也只是个噱头,增加搜索量而已,本文写的内容并不局限于Ecshop上。API接口,通常是供移动APP端调用的,制作api的前提是必须对业务逻辑和代码逻辑十分熟悉了,不然可能会事倍功半,甚至是中途夭折。
首先制作的语言仍旧是PHP,API的返回数据用的是JSON,没有用XML,为什么要用JSON而不用XML,这个问题,懂的人自然懂。先来创建JSON的model。
// 描述:内部使用API JSON类
// 名称:json
// 作者:tiandi
// 版本:0.0.1
// 生成时间:2015.4.23
// 修订时间:2015.4.23
class json {
// status : string : 状态码
// msg : string : 说明
// content: array : 内容
var $status;
var $msg;
var $content;
function json(){
}
function set_status($status) {
$this-status = $status;
}
function set_msg($msg) {
$this-msg = $msg;
}
function set_content($content) {
$this-content = $content;
}
function create_json() {
$arr = array();
$arr['api_status'] = $this-status;
$arr['api_msg'] = $this-msg;
if($arr['api_status'] == '0') {
array_unshift($this-content,$arr);
echo urldecode(json_encode($this-content));
}
else
{
echo urldecode(json_encode($arr));
}
}
function check_env($request){
//check appid
if(!isset($request['appid'])) {
$this-set_status("99");
$this-set_msg("Need appid.");
echo $this-create_json();
exit;
}
elseif(!$this-compare($request['appid'],MY_APPID)) {
$this-set_status("98");
$this-set_msg("Appid is invalid.");
echo $this-create_json();
exit;
}
//check timestamp
elseif(!isset($request['timestamp'])) {
$this-set_status("97");
$this-set_msg("Need timestamp.");
echo $this-create_json();
exit;
}
//check sign
elseif(!isset($request['sign'])) {
$this-set_status("96");
$this-set_msg("Need sign.");
echo $this-create_json();
exit;
}
elseif(!$this-compare($request['sign'],$this-create_sign($request))) {
$this-set_status("95");
$this-set_msg("Sign is invalid.");
echo $this-create_json();
exit;
}
}
function compare($str1,$str2) {
if($str1 == "'".$str2."'" || $str1 == $str2 || "'".$str1."'" == $str2)
return true;
else
return false;
}
/************************** 生成签名 ***************************/
function create_sign($request) {
//签名方法
}
然后用下面方法生成json接口数据,$arr为数据库查询返回的数组。
$json-set_status("0");
$json-set_msg("success");
$json-set_content($arr);
$json-create_json();

ecshop提供的短信接口是哪个文件

ecshop短信发送功能分析
ecshop短信发送功能属于ecshopecshop 开发接口的一大亮点。ecshop 开发接口我们在对ecshop二次开发的过程中。常常会对ecshop的短信接口进行处理。甚至是修改ecshop 短信发送核心库文件.那么ecshop短信发送功能的的具体原理和处理机制是什么呢。我们将结合ecshop后台和前台代码。来谈谈ecshop 短信发送功能.
  我们进入ecshop后台。系统设置里面。有个短信设置,可以设置商户的手机号码.以及发送短信的控制流程。这个设置信息记录在ecshop数据库shop_config表中。里面的字段分别为.sms_shop_mobile,sms_order_placed,sms_order_payed,sms_order_shipped.三个参数分别表示下单,付款和发货时候是否发送短信息给客户。
  ecshop短信系统,主要分布在上面说的几个状态中。我们不可能意义的列举该功能。我们将结合购物车中的代码flow.php来谈谈.
首先在下单的done动作中。我们将看到以下代码.
if ($_CFG['sms_order_placed'] == '1' $_CFG['sms_shop_mobile'] != '')
{
include_once('includes/cls_sms.php');
$sms = new sms();
$msg = $order['pay_status'] == PS_UNPAYED ?
$_LANG['order_placed_sms'] : $_LANG['order_placed_sms'] . '[' . $_LANG['sms_paid'] . ']';
$sms-send($_CFG['sms_shop_mobile'], sprintf($msg, $order['consignee'], $order['tel']), 0);
}
这里代码告诉我们.通过获取$_CFG中的配置信息来判断,是否给客户发信息。然后通过调用includes/cls_sms.php这个短信api接口来发送短信.首先声明了一个$sms对象.这个对象有个方法send()方法.
 以下是ecshop短信系统send()函数的函数说明。
/**
* 发送短消息
*
* @access public
* @param string $phone 要发送到哪些个手机号码,多个号码用半角逗号隔开
* @param string $msg 发送的消息内容
* @param string $send_date 定时发送时间
* @return boolean 发送成功返回true,失败返回false。
*/
function send($phone, $msg, $send_date = '', $send_num = 1)
所有的ecshop调用短信息发送的地方。都是通过这个方法来实现的。我们当然可以结合ecshop的一些使用需求.

如何开发ecshop支付插件

目标一:搞懂ecshop的支付流程
选完商品,进入购物车页面,点击“结算中心”,页面跳转到flow.php?step=checkout,这个是订单确认操作。
在订单确认页面确定了支付方式,配送方式等可选择的信息之后,点击“提交订单”按钮,提交表单到flow.php?step=done生成订单。
flow.php?step=done这个操作中,跟支付有关的操作是生成支付代码。如下所示:
/* 取得支付信息,生成支付代码,在线支付代码*/
if ($order['order_amount'] 0)
{
$payment = payment_info($order['pay_id']);
//print_r($payment);exit;
include_once('includes/modules/payment/' . $payment['pay_code'] . '.php');
$pay_obj = new $payment['pay_code'];
$pay_online=$pay_obj-get_code($order,unserialize_config($payment['pay_config']));
//print_r(unserialize_config($payment['pay_config']));exit;
$order['pay_desc'] = $payment['pay_desc'];
$smarty-assign('pay_online', $pay_online);
}
通过支付方式的id通过函数payment_info()获取到支付方式的信息,在通过支付方式的pay_code包含对应的支付模块。
Ecshop把每一种支付方式都封装成一个类,比如支付宝支付方式,对应的文件是
includes\modules\payment\alipay.php,这个文件里面封装了类是alipay,这个类有两个方法,一个是生成支付代码的get_code(),根据不同支付接口所需的参数进行配置,然后生成一个字符串,这个字符串就是支付代码;另外一个是响应操作respond()。其中,接收响应的页面都是通过return_url(basename(__FILE__, '.php'))函数指定的,生成的链接是respond.php?code=,其中code后面的参数就是根据不同的支付方式而不同。Respond.php则根据不同的第三方支付返回的信息进行处理。
目标二:开发支付插件(为了便于讲解,再次开发ecshop自带的支付宝接口alipay,我们改名为alipay_test)
搞清楚支付的基本流程,尝试开发支付插件。假如要开发一个alipay_test.php插件。
首先,在语言包里面languages\zh_cn\payment新建一个alipay_test.php文件(这里复制alipay.php),然后修改里面的$LANG的下标,都加上_test,$_LANG['pay_button']可以不修改;
然后,在支付模块includes\modules\payment里面新建一个alipay_test.php,修改模块的基本信息跟语言包,封装一个类alipay_test,并且实现两个方法get_code()和respond();
最后登录后台查看支付方式。

ecshop接口缺陷

存在SQL注入漏洞。
攻击者可利用该漏洞获取数据库敏感信息。该漏洞影响ECShop2.x和3.x版本,是一个典型的二次漏洞,通过user.php文件中display()函数的模板变量可控,从而造成SQL注入漏洞。
ecshop和微信对接的基础接口,就是只是包含简单的消息推送接口,以及操作界面的界面定义接口,其他相关关注接口。

关于ecshop 开发接口和ecshop订单接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 ecshop 开发接口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于ecshop订单接口、ecshop 开发接口的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口压力测试用例模板(接口压力测试用例模板图片)
下一篇:路由器的管理账号和密码(路由器的管理账号和密码在哪里看)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~