Пример #1
0
 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;
 }