* @version : HUOSDK 8.0 */ namespace api\apple\controller\v8; use api\common\controller\AppleApiBaseController; use huo\controller\pay\Notify; use huo\controller\pay\Sdk; use huolib\constant\OrderConst; use huolib\status\OrderStatus; use think\Exception; class ClientOrderController extends AppleApiBaseController { public function _initialize() { parent::_initialize(); } /** * 新版支付页面数据 * http://doc.1tsdk.com/138?page_id=3402 * 【域名】/cpay/info * 【域名】/v8/cpay/info */ public function getInfo() { $this->checkLogin(); $_order_rq = $this->setOrderData(); $_pay_token = get_val($this->rq_data, 'pay_token', ''); $_rs = $_order_rq->checkPayToken($_pay_token); if (false == $_rs) { $_code = OrderStatus::TOKEN_ARGS_ERROR; $this->error(OrderStatus::getMsg($_code), [], $_code); } $_order_id = $_order_rq->getOrderId(); $_rdata = (new Sdk())->getPayInfo($_order_id, true); $this->returnData($_rdata); } /** * 查询支付结果 * http://doc.1tsdk.com/138?page_id=2909 * 【域名】/v8/product/query */ public function read() { try { $_order_rq = $this->setOrderData(); $_order = new Sdk(); $_rdata = $_order->getStatus($_order_rq->getOrderId()); if (false == $_rdata) { $this->error('ERROR'); } if (OrderConst::CP_STATUS_SUC != $_rdata['cp_status'] && OrderConst::PAY_STATUS_SUC == $_rdata['status']) { $_rs = (new Notify())->notify($_order_rq->getOrderId()); if (OrderStatus::NO_ERROR == $_rs['code']) { $_rdata['status'] = OrderConst::PAY_STATUS_SUC; $_rdata['cp_status'] = OrderConst::CP_STATUS_SUC; } } $_rdata['order_id'] = $_order_rq->getOrderId(); $this->success(lang('SUCCESS'), $_rdata); } catch (Exception $_e) { $this->error($_e->getMessage()); } } }