|
@@ -0,0 +1,60 @@
|
|
|
+<?php
|
|
|
+namespace refill\beixt;
|
|
|
+
|
|
|
+require_once(BASE_HELPER_PATH . '/refill/beixt/config.php');
|
|
|
+
|
|
|
+use refill;
|
|
|
+use Log;
|
|
|
+
|
|
|
+class RefillPhone
|
|
|
+{
|
|
|
+ private function req_params(int $phone, int $amount ,string $order_sn)
|
|
|
+ {
|
|
|
+ $params['phone'] = $phone;
|
|
|
+ $params['product_id'] = $amount;
|
|
|
+ $params['tradeNo'] = $order_sn;
|
|
|
+ $params['notify_url'] = config::NOTIFY_URL;
|
|
|
+
|
|
|
+ return json_encode($params);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function add($phone,$amount,$order_sn)
|
|
|
+ {
|
|
|
+ $params = $this->req_params($phone,$amount,$order_sn);
|
|
|
+ $time = time();
|
|
|
+ $api_user_name = config::API_USER_NAME;
|
|
|
+ $sign = $this->sign($time);
|
|
|
+
|
|
|
+ $header = [
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ "API-USER-NAME: {$api_user_name}",
|
|
|
+ "API-NAME: OrderCreate",
|
|
|
+ "API-TIMESTAMP: {$time}",
|
|
|
+ "API-SIGNATURE: {$sign}",
|
|
|
+ ];
|
|
|
+ $resp = http_post_data(config::REQUEST_URL,$params,$header);
|
|
|
+ if($resp === false) {
|
|
|
+ return [false,'系统错误'];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Log::record($resp,Log::DEBUG);
|
|
|
+ $resp = json_decode($resp,true);
|
|
|
+ if($resp['state'] == 0) {
|
|
|
+ return [true,$resp['data']];
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return [false,$resp['msg']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private function sign($time)
|
|
|
+ {
|
|
|
+ $ip = config::API_IP;
|
|
|
+ $cert = config::API_CERT;
|
|
|
+ $content = $ip.$time.$cert;
|
|
|
+
|
|
|
+ return md5($content);
|
|
|
+ }
|
|
|
+}
|