|
@@ -4,6 +4,7 @@
|
|
|
namespace refill\beixt;
|
|
|
|
|
|
use refill;
|
|
|
+use refill\beixt\config;
|
|
|
|
|
|
|
|
|
class RefillCallBack implements refill\IRefillCallBack
|
|
@@ -11,11 +12,38 @@ class RefillCallBack implements refill\IRefillCallBack
|
|
|
|
|
|
public function verify($params) : bool
|
|
|
{
|
|
|
- return true;
|
|
|
+ $sign = $this->sign($params);
|
|
|
+ if($params['sign'] == $sign) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public function notify($params)
|
|
|
+ private function sign($params)
|
|
|
{
|
|
|
+ $body = $params['order_number'];
|
|
|
+ $body .= $params['shipping_status'];
|
|
|
+ $body .= $params['tradeNo'];
|
|
|
+ $body .= config::API_CERT;
|
|
|
+ return strtolower(md5($body));
|
|
|
+ }
|
|
|
|
|
|
+ public function notify($params)
|
|
|
+ {
|
|
|
+ $status = intval($params['shipping_status']);
|
|
|
+ $order_sn = $params['order_number'];
|
|
|
+ $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]);
|
|
|
+ if(empty($order_info)) {
|
|
|
+ return [false,false];
|
|
|
+ }
|
|
|
+
|
|
|
+ $order_id = $order_info['order_id'];
|
|
|
+ if($status === 0) {
|
|
|
+ return [$order_id,true];
|
|
|
+ } else {
|
|
|
+ return [$order_id,false];
|
|
|
+ }
|
|
|
}
|
|
|
}
|