文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在laravel中如何使用顺丰同城配送的扩展包

2023-06-20 21:37

关注

这篇文章主要介绍在laravel中如何使用顺丰同城配送的扩展包,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

                           

公司项目需要用到顺丰外卖,所以看了下有没有现成的扩展包可用,但是发现没有,官方也没有SDK,所以自己写了一个包,省了不少工作量。

安装

$ composer require ycstar/sfopenic -vvv

配置

在使用本扩展之前,你需要去顺丰同城开放平台注册账号,然后申请开发者ID,获取相应的配置

使用

    use Ycstar\Sfopenic\Sfopenic;    $config = [        'host'    => 'xxxxxxxxxxxx',        'dev_id'  => 'xxxxxxxxxxxx',        'dev_key' => 'xxxxxxxxxxxx'    ];    $sfopenic = new Sfopenic($config);

预创建订单

    $data = [        'shop_id' => 'xxxxxxxxxxxx',        'user_address' => "北京市海淀区学清嘉创大厦A座15层",        'user_lng' => '116.352569',        'user_lat' => '40.014838',        'weight' => 100,        'product_type' => 1,        'pay_type' => 1,        'is_appoint' => 0,        'is_insured' => 0,        'is_person_direct' => 0    ];    $res = $sfopenic->preCreateOrder($data);

创建订单

    $array = [        'shop_id' => 'xxxxxxxxxxxx',        'shop_order_id' => 'xxxxxxxxxxxx',        'order_source' => 'xx',        'pay_type' => 1,        'order_time' => time(),        'is_appoint' => 0,        'is_insured' => 0,        'is_person_direct' => 0,        'version' => 17,        'order_sequence' => 'xx',        'remark' => 'xx'    ];    $receive =[        'user_name' => "xx",        'user_phone' => "xxxxxxxxxx",        'user_address' => "北京市海淀区学清嘉创大厦A座15层",        'user_lng' => '116.352569',        'user_lat' => '40.014838',    ];    $order_detail = [        'total_price' => 1,//总金额        'product_type' => 1, //物品类型 1:送餐 8:饮品        'weight_gram' => 100,//物品重量        'product_num' => 3,//物品个数        'product_type_num' => 1,//物品种类个数    ];    $product_detail[]=[        'product_name'=>'xxx',//物品名称        'product_num' => 1,//物品数量    ];    $order_detail['product_detail'] = $product_detail;    $array['order_detail'] = $order_detail;    $array['receive'] = $receive;    $res = $sfopenic->createOrder($data);

取消订单

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID        'cancel_code' => 313, //不填时默认cancel_code=313,cancel_reason=商家发起取消        'cancel_reason' => ''    ];    $res = $sfopenic->cancelOrder($data);

预取消订单

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID        'cancel_reason' => ''    ];    $res = $sfopenic->preCancelOrder($data);

订单加小费

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID        'gratuity_fee' => 0    ];    $res = $sfopenic->addOrderGratuityFee($data);

获取订单加小费信息

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID    ];    $res = $sfopenic->getOrderGratuityFee($data);

订单状态流查询

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID    ];    $res = $sfopenic->listOrderFeed($data);

订单实时信息查询

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID    ];    $res = $sfopenic->getOrderStatus($data);

催单

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID    ];    $res = $sfopenic->reminderOrder($data);

改单

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID        'user_name'=> '',        'user_phone'=> '',        'user_address'=> '',        'lbs_type'=> 2, //1:百度坐标,2:高德坐标(默认值为2,下面的经纬度依赖这个坐标系,不传默认高德)        'user_lng'=> '', //传入用户地址经纬度顺丰侧则不根据用户地址解析        'user_lat'=> '',    ];    $res = $sfopenic->changeOrder($data);

获取配送员实时坐标接口

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID    ];    $res = $sfopenic->riderLatestPosition($data);

获取配送员轨迹H5

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID    ];    $res = $sfopenic->riderViewV2($data);

订单回调详情

    $data = [        'order_id' => 'xxxxxxxxxxxx',        'order_type' => 1 //1、顺丰订单号 2、商家订单号        'shop_id' => 0,        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID    ];    $res = $sfopenic->getCallbackInfo($data);

获取回调数据及回复内容

    $data = $sfopenic->getNotify();    .    .    .    return $sfopenic->getNotifySuccessReply();

在laravel中使用

在 Laravel 中使用也是同样的安装方式,【】

使用下面的命令来导出配置文件

php artisan vendor:publish --tag="ycstar-sfopenic"

配置写在 config/sfopenic.php 中:

    return [        'host' => env('SF_OPENIC_HOST'),        'dev_id' => env('SF_OPENIC_DEV_ID'),        'dev_key' => env('SF_OPENIC_DEV_KEY')      ];

然后在 .env 中配置 SF_OPENIC_HOST, SF_OPENIC_DEV_ID, SF_OPENIC_DEV_KEY:

    SF_OPENIC_HOST = xxxxxxxxxxxx        SF_OPENIC_DEV_ID = xxxxxxxxxxxx        SF_OPENIC_DEV_KEY = xxxxxxxxxxxx

可以用两种方式来获取 Ycstar\Sfopenic\Sfopenic 实例:

以上是“在laravel中如何使用顺丰同城配送的扩展包”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯