gatewayUrl = AlipayConfig::GATEWAY; $aop->appId = AlipayConfig::APPID; $aop->rsaPrivateKey = AlipayConfig::APPPRIVATEKEY; $aop->alipayrsaPublicKey = AlipayConfig::ALIPAYPUBLICKEY; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset = 'UTF-8'; $aop->format = 'json'; $param = [ 'out_biz_no' => $orderid, 'payee_type' => 'ALIPAY_USERID', 'payee_account' => $userid, 'amount' => $amount, 'remark' => '提现转账' ]; $request = new \AlipayFundTransToaccountTransferRequest; $request->setBizContent(json_encode($param)); $result = $aop->execute($request); $responseNode = str_replace('.', '_', $request->getApiMethodName()) . '_response'; $resultCode = $result->$responseNode->code; if(! empty($resultCode) && $resultCode == 10000){ return ['flag' => 0, 'msg' => '付款成功', 'orderid' => $orderid]; } else if ($resultCode == 20000 || ($resultCode == 40004 && $result->$responseNode->sub_code == 'SYSTEM_ERROR')){ $res = $this->query($orderid); if (0 == $res['flag']) { return ['flag' => 0, 'msg' => '付款成功', 'orderid' => $orderid]; } else { return ['flag' => 1, 'msg' => '付款失败:' . $res['msg']]; } } return ['flag' => -1, 'msg' => '付款失败:' . $result->$responseNode->sub_msg]; } /** * 订单状态查询 * @param $orderid * @return array */ protected function query($orderid) { $aop = new \AopClient (); $aop->gatewayUrl = AlipayConfig::GATEWAY; $aop->appId = AlipayConfig::APPID; $aop->rsaPrivateKey = AlipayConfig::APPPRIVATEKEY; $aop->alipayrsaPublicKey = AlipayConfig::ALIPAYPUBLICKEY; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset = 'UTF-8'; $aop->format = 'json'; $request = new \AlipayFundTransOrderQueryRequest (); $param = [ 'out_biz_no' => $orderid ]; $request->setBizContent(json_encode($param)); $result = $aop->execute ( $request); $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response"; $resultCode = $result->$responseNode->code; if(! empty($resultCode) && $resultCode == 10000){ return ['flag' => 0, 'msg' => '付款成功']; } return ['flag' => 1, 'msg' => $result->$responseNode->sub_msg]; } }