shippingUtil.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. namespace common\components;
  3. use Yii;
  4. use yii\helpers\Json;
  5. use linslin\yii2\curl;
  6. /**
  7. * 微信小程序发货信息管理服务-核心接口工具类
  8. */
  9. class shippingUtil
  10. {
  11. public static function getAccessToken($merchant, $ptStyle = 0)
  12. {
  13. return miniUtil::getMiniProgramAccessToken($merchant, $ptStyle);
  14. }
  15. /**
  16. * 发货信息录入接口
  17. */
  18. public static function shipping($merchant, $data, $ptStyle = 0)
  19. {
  20. $accessToken = self::getAccessToken($merchant, $ptStyle);
  21. $url = "https://api.weixin.qq.com/wxa/sec/order/upload_shipping_info?access_token={$accessToken}";
  22. $curl = new curl\Curl();
  23. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  24. return Json::decode($result);
  25. }
  26. /**
  27. * 发货信息合单录入接口
  28. */
  29. public static function shippingCombine($merchant, $data, $ptStyle = 0)
  30. {
  31. $accessToken = self::getAccessToken($merchant, $ptStyle);
  32. $url = "https://api.weixin.qq.com/wxa/sec/order/upload_combined_shipping_info?access_token={$accessToken}";
  33. $curl = new curl\Curl();
  34. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  35. return Json::decode($result);
  36. }
  37. /**
  38. * 查询订单发货状态
  39. */
  40. public static function getShippingInfo($merchant, $data, $ptStyle = 0)
  41. {
  42. $accessToken = self::getAccessToken($merchant, $ptStyle);
  43. $url = "https://api.weixin.qq.com/wxa/sec/order/get_order?access_token={$accessToken}";
  44. $curl = new curl\Curl();
  45. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  46. return Json::decode($result);
  47. }
  48. /**
  49. * 查询订单列表
  50. */
  51. public static function getOrderList($merchant, $data, $ptStyle = 0)
  52. {
  53. $accessToken = self::getAccessToken($merchant, $ptStyle);
  54. $url = "https://api.weixin.qq.com/wxa/sec/order/get_order_list?access_token={$accessToken}";
  55. $curl = new curl\Curl();
  56. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  57. return Json::decode($result);
  58. }
  59. /**
  60. * 确认收货提醒接口
  61. */
  62. public static function confirmReceiveMsg($merchant, $data, $ptStyle = 0)
  63. {
  64. $accessToken = self::getAccessToken($merchant, $ptStyle);
  65. $url = "https://api.weixin.qq.com/wxa/sec/order/notify_confirm_receive?access_token={$accessToken}";
  66. $curl = new curl\Curl();
  67. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  68. return Json::decode($result);
  69. }
  70. /**
  71. * 消息跳转路径设置接口
  72. */
  73. public static function setMsgJump($merchant, $data, $ptStyle = 0)
  74. {
  75. $accessToken = self::getAccessToken($merchant, $ptStyle);
  76. $url = "https://api.weixin.qq.com/wxa/sec/order/set_msg_jump_path?access_token={$accessToken}";
  77. $curl = new curl\Curl();
  78. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  79. return Json::decode($result);
  80. }
  81. /**
  82. * 查询小程序是否已开通发货信息管理服务
  83. */
  84. public static function isTradeManage($merchant, $data = [], $ptStyle = 0)
  85. {
  86. $accessToken = self::getAccessToken($merchant, $ptStyle);
  87. $url = "https://api.weixin.qq.com/wxa/sec/order/is_trade_managed?access_token={$accessToken}";
  88. $curl = new curl\Curl();
  89. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  90. return Json::decode($result);
  91. }
  92. /**
  93. * 查询小程序是否已完成交易结算管理确认
  94. */
  95. public static function isTradeManageConfirmComplete($merchant, $data = [], $ptStyle = 0)
  96. {
  97. $accessToken = self::getAccessToken($merchant, $ptStyle);
  98. $url = "https://api.weixin.qq.com/wxa/sec/order/is_trade_management_confirmation_completed?access_token={$accessToken}";
  99. $curl = new curl\Curl();
  100. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  101. return Json::decode($result);
  102. }
  103. /**
  104. * 特殊发货报备
  105. */
  106. public static function opSpecialOrder($merchant, $data, $ptStyle = 0)
  107. {
  108. $accessToken = self::getAccessToken($merchant, $ptStyle);
  109. $url = "https://api.weixin.qq.com/wxa/sec/order/opspecialorder?access_token={$accessToken}";
  110. $curl = new curl\Curl();
  111. $result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
  112. return Json::decode($result);
  113. }
  114. }