Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b677771328 | |||
| e640647709 | |||
| f49481ad29 | |||
| 3d867be82d | |||
| a803fc2f1d |
@@ -156,7 +156,6 @@ class Init
|
||||
{
|
||||
$signStr = $this->getSignString();
|
||||
$private_key = $this->getPrivate();
|
||||
|
||||
$privKeyId = openssl_get_privatekey($private_key);
|
||||
|
||||
if (!$privKeyId) {
|
||||
@@ -301,7 +300,6 @@ class Init
|
||||
}
|
||||
|
||||
$client = new Client();
|
||||
|
||||
try {
|
||||
$response = $client->request('POST', $url, [
|
||||
'form_params' => $paramArray,
|
||||
@@ -312,26 +310,27 @@ class Init
|
||||
if ($response->getStatusCode() == 200) {
|
||||
$body = $response->getBody();
|
||||
$content = str_replace(["\r\n", "\n", "\r", '/n', "\\n",], '&', $body->getContents());
|
||||
|
||||
parse_str($content, $data);
|
||||
|
||||
$this->data = $data;
|
||||
|
||||
if ($data['transRet'] != 'SUCCESS') {
|
||||
$this->code = false;
|
||||
$this->message = $data['resultDis'];
|
||||
if (isset($data['queryResult']) && $data['queryResult'] != 'SUCCESS') {
|
||||
throw new \Exception('返回的数据错误');
|
||||
}
|
||||
|
||||
if (isset($data['transRet']) && $data['transRet'] != 'SUCCESS') {
|
||||
throw new \Exception($data['resultDis']);
|
||||
}
|
||||
|
||||
$this->code = true;
|
||||
|
||||
} else {
|
||||
$this->code = false;
|
||||
$this->message = '接口错误 Post';
|
||||
throw new \Exception('未正常返回数据');
|
||||
}
|
||||
|
||||
} catch (\Exception $exception) {
|
||||
$this->code = false;
|
||||
$this->message = '接口错误 Post' . $exception->getMessage();
|
||||
$this->message = '接口错误 ' . $exception->getMessage();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,6 +13,28 @@ class Query extends Init
|
||||
|
||||
public function start()
|
||||
{
|
||||
$this->setIsLower(false);
|
||||
$this->addData();
|
||||
$this->setSignData();
|
||||
$url = config('wounicom.uri.unicom.query');
|
||||
$this->sendPost($this->params, $url);
|
||||
|
||||
return $this->respond();
|
||||
}
|
||||
|
||||
public function addData()
|
||||
{
|
||||
$order = $this->params;
|
||||
|
||||
$data = [
|
||||
'merNo' => $this->merNo,
|
||||
'orderNo' => $order->orderid,
|
||||
'orderDate' => $order->created_at->format('Ymd'),
|
||||
'charSet' => 'UTF-8',
|
||||
'signType' => config('wounicom.signType'),
|
||||
];
|
||||
|
||||
$this->params = $data;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class Refund extends Init
|
||||
'orderDate' => $order->created_at->format('Ymd'),
|
||||
'payJournl' => $order->payment->out_trade_no,
|
||||
'merReqTime' => Carbon::now()->format('YmdHis'),
|
||||
'amount' => -1,
|
||||
'amount' => $order->payment->amount * 100,
|
||||
'reason' => '退款',
|
||||
'signType' => 'RSA_SHA256',
|
||||
];
|
||||
|
||||
@@ -17,7 +17,6 @@ class Sign extends Init
|
||||
// $signMsg = str_replace('\\', '', $signMsg);
|
||||
$signMsg = str_replace(' ', '+', $signMsg);
|
||||
$this->sign = $signMsg;
|
||||
info($this->sign);
|
||||
|
||||
return $this->checkSign();
|
||||
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
|
||||
namespace XuanChen\WoUnicom;
|
||||
|
||||
use App\Models\ActivitySchoolOrder;
|
||||
use App\Models\ActivityPetroOrder;
|
||||
use App\Models\Payment;
|
||||
use App\Models\Welfare;
|
||||
use App\Models\WelfareOrder;
|
||||
use App\Models\WelfarePayment;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Str;
|
||||
use XuanChen\WoUnicom\Action\Init;
|
||||
use XuanChen\WoUnicom\Action\Order;
|
||||
use XuanChen\WoUnicom\Action\Query;
|
||||
@@ -24,6 +27,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 下单
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/4/30 9:36
|
||||
* @return \XuanChen\WoUnicom\Action\Order
|
||||
@@ -39,17 +43,22 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 查询订单
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/4/30 9:39
|
||||
* @return \XuanChen\WoUnicom\Action\Query
|
||||
*/
|
||||
public function query()
|
||||
{
|
||||
return (new Query());
|
||||
$action = new Query();
|
||||
$action->setConfig();
|
||||
|
||||
return $action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Notes: 退款
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/4/30 9:37
|
||||
*/
|
||||
@@ -64,6 +73,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 验签
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/5/11 11:51
|
||||
* @param $params
|
||||
@@ -78,6 +88,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 回调数据
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/5/11 15:54
|
||||
* @param $params
|
||||
@@ -101,7 +112,7 @@ class WoUnicom
|
||||
if ($res === true) {
|
||||
|
||||
//福利订单
|
||||
if (str_contains($data['orderid'], 'WEAL')) {
|
||||
if (Str::is('WEAL*', $data['orderid'])) {
|
||||
$order = WelfareOrder::where('orderid', $data['orderid'])->first();
|
||||
if ($order && $order->status == 'UNPAY') {
|
||||
$payment = $order->payment;
|
||||
@@ -113,6 +124,36 @@ class WoUnicom
|
||||
$order->paid();
|
||||
}
|
||||
|
||||
} elseif (Str::is('AS*', $data['orderid'])) {
|
||||
$order = ActivitySchoolOrder::where('orderid', $data['orderid'])->first();
|
||||
if ($order && $order->state == 'UNPAY') {
|
||||
$payment = \App\Models\Payment::where('orderable_type', get_class($order))
|
||||
->where('orderable_id', $order->id)
|
||||
->latest()
|
||||
->first();
|
||||
|
||||
$payment->state = 'SUCCESS';
|
||||
$payment->out_trade_no = $data['payfloodid'];
|
||||
$payment->type = 'UNICOM';
|
||||
$payment->paid_at = Carbon::now();
|
||||
$payment->save();
|
||||
$order->paid();
|
||||
}
|
||||
} elseif (Str::is('ASO*', $data['orderid'])) {
|
||||
$order = ActivityPetroOrder::where('orderid', $data['orderid'])->first();
|
||||
if ($order && $order->state == 'UNPAY') {
|
||||
$payment = \App\Models\Payment::where('orderable_type', get_class($order))
|
||||
->where('orderable_id', $order->id)
|
||||
->latest()
|
||||
->first();
|
||||
|
||||
$payment->state = 'SUCCESS';
|
||||
$payment->out_trade_no = $data['payfloodid'];
|
||||
$payment->type = 'UNICOM';
|
||||
$payment->paid_at = Carbon::now();
|
||||
$payment->save();
|
||||
$order->paid();
|
||||
}
|
||||
} else {
|
||||
$order = \App\Models\Order::where('orderid', $data['orderid'])->first();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user