|
@@ -39,9 +39,7 @@ class Wechat extends Core
|
|
|
if ($info) {
|
|
|
$this->updateOrder($info['order_id'], 1);
|
|
|
return $info;
|
|
|
- }
|
|
|
-
|
|
|
- if (!$info) {
|
|
|
+ } else {
|
|
|
$input = new \WxPayOrderQuery();
|
|
|
$input->SetOut_trade_no($order_id);
|
|
|
$result = \WxPayApi::orderQuery($this->config, $input);
|
|
@@ -51,10 +49,30 @@ class Wechat extends Core
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
- } else {
|
|
|
- return $info;
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+
|
|
|
+ # 退款
|
|
|
+ public function refund($order_id)
|
|
|
+ {
|
|
|
+ $info = Dever::db('pay/order')->one(array('order_id' => $order_id));
|
|
|
+ if ($info && $info['status'] <= 2) {
|
|
|
+ $out_trade_no = $info['order_id'];
|
|
|
+ $total_fee = $info['cash'];
|
|
|
+ $refund_fee = $info['cash'];
|
|
|
+ $input = new \WxPayRefund();
|
|
|
+ $input->SetOut_trade_no($out_trade_no);
|
|
|
+ $input->SetTotal_fee($total_fee);
|
|
|
+ $input->SetRefund_fee($refund_fee);
|
|
|
+
|
|
|
+ $input->SetOut_refund_no($out_trade_no . '_' . time());
|
|
|
+ $input->SetOp_user_id($this->config->GetMerchantId());
|
|
|
+ $result = \WxPayApi::refund($this->config, $input);
|
|
|
+
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
/**
|