@@ -92,13 +92,14 @@ public function refund($order)
9292 $ gatewayNmae = $ order ['gateway ' ];
9393 $ gateway = resolve ('omnipay ' )->gateway ($ gatewayNmae );
9494 switch ($ gatewayNmae ) {
95- case 'alipay ' :
96- $ response = $ this ->alipayRefund ($ order , $ gateway );
97- break ;
98- default :
99- # code...
100- break ;
95+ case 'alipay ' :
96+ $ response = $ this ->alipayRefund ($ order , $ gateway );
97+ break ;
98+ case ' unionpay ' :
99+ $ response = $ this -> unionpayRefund ( $ order , $ gateway );
100+ break ;
101101 }
102+ dd ($ response ->getData ());
102103 if ($ response ->isSuccessful ()) {
103104 $ this ->where ('order_id ' , $ order ['order_id ' ])->update (['status ' => 'refund ' ]);
104105 }
@@ -119,7 +120,22 @@ protected function alipayRefund($order, $gateway)
119120 'out_trade_no ' => $ order ['order_id ' ],
120121 'refund_amount ' => $ order ['fee ' ]
121122 ];
122- ksort ($ biz );
123123 return $ gateway ->refund ()->setBizContent ($ biz )->send ();
124124 }
125+ /**
126+ * [unionpayRefund 银联退款]
127+ * @param [type] $order [description]
128+ * @param [type] $gateway [description]
129+ * @return [type] [description]
130+ */
131+ protected function unionpayRefund ($ order , $ gateway )
132+ {
133+ $ biz = [
134+ 'orderId ' => $ order ['order_id ' ],
135+ 'txnTime ' => date ('YmdHis ' , strtotime ($ order ['created_at ' ]['date ' ])),
136+ 'txnAmt ' => $ order ['fee ' ] * 100 ,
137+ 'queryId ' => $ order ['query_id ' ],
138+ ];
139+ return $ gateway ->refund ($ biz )->send ();
140+ }
125141}
0 commit comments