22
33namespace CoreCMF \Omnipay \App \Http \Controllers ;
44
5+ use Auth ;
56use Illuminate \Http \Request ;
67use App \Http \Controllers \Controller ;
8+ use CoreCMF \Omnipay \App \Models \Order ;
79
810class OmnipayController extends Controller
911{
12+ private $ orderModel ;
13+
14+ public function __construct (Order $ orderPro ){
15+ $ this ->orderModel = $ orderPro ;
16+ }
1017 public function pay ($ gatewayNmae )
1118 {
12- $ order = [
13- 'id ' => date ('YmdHis ' ) . mt_rand (100000 ,999999 ),
14- 'name ' => '测试订单[驱动: ' .$ gatewayNmae .'] ' ,
15- 'fee ' => 16.8 ,
16- 'time ' => date ('YmdHis ' )
17- ];
19+ // $createOrder = [
20+ // 'order_id' => '20170929090814572607',
21+ // 'uid' => Auth::id(),
22+ // 'name' => '测试订单[驱动:'.$gatewayNmae.']',
23+ // 'fee' => 16.8,
24+ // 'gateway' => $gatewayNmae
25+ // ];
26+ // $order = $this->orderModel->create($createOrder);//订单写入数据库
27+
28+ $ order_id = '20170929090814572607 ' ;
29+ $ order = $ this ->orderModel ->where ('order_id ' , $ order_id )->first ();
1830 $ gateway = resolve ('omnipay ' )->gateway ($ gatewayNmae );
1931 switch ($ gatewayNmae ) {
2032 case 'alipay ' :
21- $ response = $ this ->alipay ($ gateway ,$ order );
33+ $ this ->alipay ($ gateway ,$ order );
2234 break ;
2335 case 'wechat ' :
24- $ response = $ this ->wechat ($ gateway ,$ order );
36+ $ this ->wechat ($ gateway ,$ order );
2537 break ;
2638 case 'unionpay ' :
27- $ response = $ this ->unionpay ($ gateway ,$ order );
39+ $ this ->unionpay ($ gateway ,$ order );
2840 break ;
2941 }
30- // dd( $response->getData());
31- $ response ->redirect ();
3242 }
3343 /**
3444 * [alipay 支付宝购买]
@@ -41,12 +51,13 @@ protected function alipay($gateway,$order)
4151 $ gateway ->sandbox ();
4252 }
4353 $ order = [
44- 'out_trade_no ' => $ order[ ' id ' ] ,
45- 'subject ' => $ order[ ' name ' ] ,
46- 'total_amount ' => $ order[ ' fee ' ] ,
54+ 'out_trade_no ' => $ order-> order_id ,
55+ 'subject ' => $ order-> name ,
56+ 'total_amount ' => $ order-> fee ,
4757 'product_code ' => 'FAST_INSTANT_TRADE_PAY ' ,
4858 ];
49- return $ gateway ->purchase ()->setBizContent ($ order )->send ();
59+ $ response = $ gateway ->purchase ()->setBizContent ($ order )->send ();
60+ $ response ->redirect ();
5061 }
5162 /**
5263 * [wechat 微信支付购买]
@@ -57,13 +68,14 @@ protected function wechat($gateway,$order)
5768 {
5869 $ order = [
5970 'open_id ' => 'oEFAEj2KZxrRp2OijMFccnMrfN3Q ' ,
60- 'out_trade_no ' => $ order[ ' id ' ] ,
61- 'body ' => $ order[ ' name ' ] ,
62- 'total_fee ' => $ order[ ' fee ' ] *100 , //=0.01
71+ 'out_trade_no ' => $ order-> order_id ,
72+ 'body ' => $ order-> name ,
73+ 'total_fee ' => $ order-> fee *100 , //=0.01
6374 'spbill_create_ip ' => '127.0.0.1 ' ,
6475 'fee_type ' => 'CNY ' ,
6576 ];
66- return $ gateway ->purchase ($ order )->send ();
77+ $ response = $ gateway ->purchase ($ order )->send ();
78+ dd ( $ response ->getData ());
6779 }
6880 /**
6981 * [unionpay 银联支付购买]
@@ -73,12 +85,13 @@ protected function wechat($gateway,$order)
7385 protected function unionpay ($ gateway ,$ order )
7486 {
7587 $ order = [
76- 'orderId ' => $ order[ ' id ' ] , //Your order ID
77- 'txnTime ' => $ order [ ' time ' ] , //Should be format 'YmdHis'
78- 'orderDesc ' => $ order[ ' name ' ] , //Order Title
79- 'txnAmt ' => $ order[ ' fee ' ] *100 , //Order Total Fee
88+ 'orderId ' => $ order-> order_id , //Your order ID
89+ 'txnTime ' => date ( ' YmdHis ' , strtotime ( $ order -> created_at )) , //Should be format 'YmdHis'
90+ 'orderDesc ' => $ order-> name , //Order Title
91+ 'txnAmt ' => $ order-> fee *100 , //Order Total Fee
8092 ];
81- return $ gateway ->purchase ($ order )->send ();
93+ $ response = $ gateway ->purchase ($ order )->send ();
94+ $ response ->redirect ();
8295 }
8396 /**
8497 * [callback 回调处理]
0 commit comments