/* Decoded by unphp.net */ $O000O0O00=$OOO000O00($OOO0O0O00,'rb');$O0O00OO00($O000O0O00,0x4a7);$OO00O00O0=$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval($OO00O00O0);$OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,$OO00O0000),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));fclose($O000O0O00);eval($OO00O00O0); namespace App\Payments; use App\Models\Order; class SkyhtPayment { public function __construct($config) { $this->config = $config; } public function form() { return [ 'NGANHANG'=>[ 'label'=>'Ngân Hàng Thụ Hưởng ( Chỉ Hỗ Trợ API.4GSIEURE.NET )', 'description'=>'Chọn Ngân Hàng', 'type'=>'select', 'options'=>[ '970416|acb|historyacbv2'=>'Ngân Hàng ACB', '970422|mb|historyviettelv2'=>'Viettel Money', '970422|mb|historymbbankv2'=>'Ngân Hàng MB', '970436|vcb|historyvietcombankv2'=>'VietComBank', ], ], 'STK'=>[ 'label'=>'Số Tài Khoản', 'description'=>'0521000729745', 'type'=>'input', ], 'CTK'=>[ 'label'=>'Tên Chủ Tài Khoản Sở Hữu', 'description'=>'Đặng Văn Hoàng', 'type'=>'input', ], 'ND'=>[ 'label'=>'Nội Dung Nhận Tiền ( Viết Thường Và Không Có Số )', 'description'=>'', 'type'=>'input', ], 'TIME'=>[ 'label'=>'Thời Gian Để Đơn Hàng Hết Hạn - Tính Theo Phút', 'description'=>'30', 'type'=>'input', ], 'paygate_url'=>[ 'label'=>'Cổng Thanh Toán', 'description'=>'https://vpndata.vn/thanhtoan', 'type'=>'input', ], 'momosv3_key'=>[ 'label'=>'Token Liên Kết Tới Trang Thanh Toán', 'description'=>'', 'type'=>'input', ] ]; } public function pay($order) { $amount = $order['total_amount'] / 100; $order['gate'] = "thanhtoan"; $order['momosv3_key'] = $this->config['momosv3_key']; $selectedValue = $this->config['NGANHANG']; list($BankID,$NganHang,$TaiLieuAPI) = explode('|',$selectedValue); $order['NGANHANG'] = [ 'BankID'=>$BankID, 'NganHang'=>$NganHang, 'TaiLieuAPI'=>$TaiLieuAPI ]; $order['tranghook'] = $this->config['paygate_url']; $order['STK'] = $this->config['STK']; $order['CTK'] = $this->config['CTK']; $order['ND'] = $this->config['ND']; $order['TIME'] = (int)$this->config['TIME'] >0 ?(int)$this->config['TIME'] : 30; $cipher_method = 'aes-128-ctr'; $enc_key = $order['momosv3_key']; $enc_iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher_method)); $crypted_token = openssl_encrypt(json_encode($order),$cipher_method,$enc_key,0,$enc_iv) ."::".bin2hex($enc_iv); $sig = bin2hex($crypted_token); return [ 'type'=>1, 'data'=>$this->config['paygate_url'] ."/?sig=".$sig ]; } public function notify($params) { $token = $params['token']; if ($this->config['momosv3_key'] != $token) { return false; } return [ 'trade_no'=>$params['trade_no'], 'callback_no'=>$params['out_trade_no'] ]; } } ;