Micro::microPay()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 9
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 9
ccs 9
cts 9
cp 1
rs 10
cc 3
nc 4
nop 6
crap 3
1
<?php
2
namespace zhangv\wechat\pay\service;
3
use \zhangv\wechat\pay\WechatPay;
4
use \Exception;
5
/**
6
 * 刷卡支付
7
 * @license MIT
8
 * @zhangv
9
 * @link https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_10&index=1
10
 *
11
 * @method mixed queryOrderByOutTradeNo($out_trade_no)
12
 * @method mixed queryOrderByTransactionId($transaction_id)
13
 * @method mixed closeOrder($out_trade_no)
14
 * @method mixed refundByOutTradeNo($out_trade_no, $out_refund_no, $total_fee, $refund_fee, $ext = array())
15
 * @method mixed refundByTransactionId($transaction_id, $out_refund_no, $total_fee, $refund_fee, $ext = array())
16
 * @method mixed queryRefundByOutRefundNo($out_refund_no, $offset = 0)
17
 * @method mixed queryRefundByOutTradeNo($out_trade_no, $offset = 0)
18
 * @method mixed queryRefundByRefundId($refund_id, $offset = 0)
19
 * @method mixed queryRefundByTransactionId($transaction_id, $offset = 0)
20
 * @method mixed downloadBill($bill_date, $bill_type = 'ALL')
21
 * @method mixed downloadFundFlow($bill_date, $account_type = WechatPay::ACCOUNTTYPE_BASIC, $tar_type = 'GZIP')
22
 * @method mixed onPaidNotify($notify_data, callable $callback = null)
23
 * @method mixed onRefundedNotify($notify_data, callable $callback = null)
24
 * @method mixed report($interface_url, $execution_time, $return_code, $result_code, $user_ip, $out_trade_no = null, $time = null, $device_info = null,$return_msg = null,$err_code = null,$err_code_des = null)
25
 * @method mixed shortUrl($longurl)
26
 * @method mixed batchQueryComment($begin_time, $end_time, $offset = 0, $limit = 200)
27
 */
28
class Micro extends WechatPay {
29
30
	/**
31
	 * 提交刷卡支付
32
	 * @param $body
33
	 * @param $out_trade_no
34
	 * @param $total_fee
35
	 * @param $spbill_create_ip
36
	 * @param $auth_code
37
	 * @param array $ext
38
	 * @return array
39
	 * @throws Exception
40
	 */
41 1
	public function microPay($body,$out_trade_no,$total_fee,$spbill_create_ip,$auth_code,$ext = array()){
42 1
		$data = (!empty($ext) && is_array($ext))?$ext:array();
43 1
		$data["appid"] = $this->config["app_id"];
44 1
		$data["body"]         = $body;
45 1
		$data["out_trade_no"] = $out_trade_no;
46 1
		$data["total_fee"]    = $total_fee;
47 1
		$data["spbill_create_ip"] = $spbill_create_ip;
48 1
		$data["auth_code"] = $auth_code;
49 1
		return $this->post(self::URL_MICROPAY,$data,true);
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->post(self:..._MICROPAY, $data, true) also could return the type string|true which is incompatible with the documented return type array.
Loading history...
50
	}
51
52
	/**
53
	 * 授权码查询openid
54
	 * @param $auth_code
55
	 * @return mixed
56
	 * @throws Exception
57
	 */
58 1
	public function authCodeToOpenId($auth_code){
59 1
		$data = array();
60 1
		$data["appid"] = $this->config["app_id"];
61 1
		$data["auth_code"] = $auth_code;
62 1
		return $this->post(self::URL_AUTHCODETOOPENID,$data,false);
63
	}
64
65
66
	/**
67
	 * 撤销订单 - 使用商户订单号
68
	 * @param $out_trade_no string 商户订单号
69
	 * @return array
70
	 * @throws Exception
71
	 */
72 1
	public function reverseByOutTradeNo($out_trade_no){
73 1
		$data = array();
74 1
		$data["appid"] = $this->config["app_id"];
75 1
		$data["out_trade_no"] = $out_trade_no;
76 1
		return $this->post(self::URL_REVERSE, $data,true);
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->post(self:...L_REVERSE, $data, true) also could return the type string|true which is incompatible with the documented return type array.
Loading history...
77
	}
78
79
	/**
80
	 * 撤销订单 - 使用微信订单号
81
	 * @param $transaction_id string 微信订单号
82
	 * @return array
83
	 * @throws Exception
84
	 */
85 1
	public function reverseByTransactionId($transaction_id){
86 1
		$data = array();
87 1
		$data["appid"] = $this->config["app_id"];
88 1
		$data["transaction_id"] = $transaction_id;
89 1
		return $this->post(self::URL_REVERSE, $data,true);
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->post(self:...L_REVERSE, $data, true) also could return the type string|true which is incompatible with the documented return type array.
Loading history...
90
	}
91
}