public function alipayChannel4Recharge($request, $response) { /*{{{*/ $needPay = $request->getRequest('needPay', 0); $needPay = XString::calculateBalancePrice($needPay); DBC::requireTrue($needPay > 0, '价格有错误 或 余额可够支付'); $user = DAL::get()->find('user', $request->userid); DBC::requireFalse($user->isNull(), '用户不存在'); $depositeOrderId = $request->getRequest('depositeOrderId', 0); $depositeOrder = DAL::get()->find('depositeOrder', $depositeOrderId); if ($depositeOrder->isNull()) { $depositeOrder = OrderClient::getInstance()->createDepositeOrder($user, $needPay, DepositeOrder::RECHARGE_TYPE_ALIPAYWAP); } DBC::requireFalse($depositeOrder->isNull(), '无效订单!'); if ($request->appType == 'mobileapp') { $returnUrl = WaperAlipay::getDefaultReturnUrl(); $sellerUrl = WaperAlipay::getDefaultSellerUrl(); } else { $returnUrl = WaperAlipay::getDefaultReturnUrl4TouchRecharge(); $sellerUrl = WaperAlipay::getDefaultSellerUrl4TouchRecharge($depositeOrder->id); } $notifyUrl = WaperAlipay::getDefaultNotifyUrl(); $aliPayUrl = WaperAlipay::getAliWapPayUrl($depositeOrder->id, Pay::TYPE_RECHARGE, $needPay, $notifyUrl, $returnUrl, $sellerUrl, Pay::getTypeDesc(Pay::TYPE_RECHARGE), $user->name . "在线充值"); $response->setRedirect($aliPayUrl); return parent::DIRECT_OUTPUT; }