Exemple #1
0
 /**
  * return_url get形式响应
  */
 public function respond_get()
 {
     if (isset($_GET['code'])) {
         $payment = $this->get_by_code($_GET['code']);
         if (!$payment) {
             showmessage(L('payment_failed'));
         }
         $cfg = unserialize_config($payment['config']);
         $pay_name = ucwords($payment['pay_code']);
         Loader::lib('pay:pay_factory', false);
         $payment_handler = new pay_factory($pay_name, $cfg);
         $return_data = $payment_handler->receive();
         if ($return_data) {
             if ($return_data['order_status'] == 0) {
                 $this->update_member_amount_by_sn($return_data['order_id']);
             }
             $this->update_recode_status_by_sn($return_data['order_id'], $return_data['order_status']);
             showmessage(L('pay_success'), SITE_URL . 'index.php?app=pay&controller=deposit');
         } else {
             showmessage(L('pay_failed'), SITE_URL . 'index.php?app=pay&controller=deposit');
         }
     } else {
         showmessage(L('pay_success'));
     }
 }
Exemple #2
0
 /**
  * return_url get形式响应
  */
 public function respond_get()
 {
     if ($_GET['code']) {
         $payment = $this->get_by_code($_GET['code']);
         if (!$payment) {
             showmessage(L('payment_failed'));
         }
         $cfg = unserialize_config($payment['config']);
         $pay_name = ucwords($payment['pay_code']);
         pc_base::load_app_class('pay_factory', '', 0);
         $payment_handler = new pay_factory($pay_name, $cfg);
         $return_data = $payment_handler->receive();
         if ($return_data) {
             if ($return_data['order_status'] == 0) {
                 $this->update_member_amount_by_sn($return_data['order_id']);
             }
             $this->update_recode_status_by_sn($return_data['order_id'], $return_data['order_status']);
             showmessage(L('pay_success'), APP_PATH . 'index.php?m=pay&c=deposit');
         } else {
             showmessage(L('pay_failed'), APP_PATH . 'index.php?m=pay&c=deposit');
         }
     } else {
         showmessage(L('pay_success'));
     }
 }
 /**
  * --------------------------------------------------------------
  * 服务器端get响应
  * --------------------------------------------------------------
  * 返回成功提示,5秒后跳转到指定页面
  */
 public function respondGet($code = '')
 {
     if (empty($code)) {
         return false;
     }
     \Omnipay::setGateway($code);
     $resquest = \Omnipay::completePurchase(['request_params' => \Input::all()]);
     $response = $resquest->send();
     if ($response->isSuccessful()) {
         //TODO
         //验证成功
         //更新账户余额
         //更新订单状态
     } else {
     }
     if ($code) {
         $payment = $this->get_by_code($_GET['code']);
         if (!$payment) {
             showmessage(L('payment_failed'));
         }
         $cfg = unserialize_config($payment['config']);
         $pay_name = ucwords($payment['pay_code']);
         pc_base::load_app_class('pay_factory', '', 0);
         $payment_handler = new pay_factory($pay_name, $cfg);
         $return_data = $payment_handler->receive();
         if ($return_data) {
             if ($return_data['order_status'] == 0) {
                 $this->update_member_amount_by_sn($return_data['order_id']);
             }
             $this->update_recode_status_by_sn($return_data['order_id'], $return_data['order_status']);
             //支付成功
             //showmessage(L('pay_success'),APP_PATH.'index.php?m=pay&c=deposit');
         } else {
             //支付失败
             //showmessage(L('pay_failed'),APP_PATH.'index.php?m=pay&c=deposit');
         }
     } else {
         //支付成功
     }
 }