/** * 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')); } }
/** * 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 { //支付成功 } }