• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 分享一个顺丰同城配送的扩展包并在laravel中使用

分享一个顺丰同城配送的扩展包并在laravel中使用

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了顺丰同城配送扩展包,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 实例:

方法参数注入

...public function preCreateOrder(Sfopenic $sfopenic){    $res = $sfopenic->preCreateOrder($data);}...


服务名访问

...public function preCreateOrder(){    $res = app('sfopenic')->preCreateOrder($data);}...


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享一个顺丰同城配送的扩展包并在laravel中使用

相关文章

  • 2022-04-29浅析小程序中reLaunch跳转报错怎么解决
  • 2022-04-29Photoshop制作可爱的卡通剪纸字
  • 2022-04-29Photoshop技巧:CC版本的最全总结
  • 2022-04-29说说在Laravel中怎么执行Shell命令 ?
  • 2022-04-29JavaScript的math方法有哪些
  • 2022-04-29发外链的pr比较高的论坛,不过要手工
  • 2022-04-29详解thinkphp5.1/5.0定时任务的实现步骤
  • 2022-04-29手把手教你使用Vue3实现图片散落效果
  • 2022-04-29浅析什么是装饰器?Vue中怎么使用装饰器?
  • 2022-04-29vue.js如何实现移入移出效果

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • PHP开发api接口验证实例
    • Windows/Linux下Composer的安装与使用(详解)
    • WordPress 彻底移除后台“隐私”设置功能
    • 如何解决centos6终端乱码问题
    • 第三方下载苹果CMSV10系统的请注意后门WebShell
    • 浅谈Bootstrap Tab标签页切换图表显示问题的解决方法
    • 正则表达式解决input框固定输入值的格式(金额,特殊字符)
    • PHP如何使用面向对象魔术方法之__call函数
    • 用PhotoShop制作出逼真的电话SIM卡效果教程
    • PS绘制可爱的熊猫头像

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有