Ejemplo n.º 1
0
 /**
  * 网站配置账户给用户返还投资利息
  * @param $uid 需要给用户返还的uid
  * @param $money 返还金额
  * @return array
  */
 public static function giveInterest($uid, $money)
 {
     //获取配置中--给利息的人员编号
     $config = self::getConfig();
     $sinapay_give_accrual = $config->sinapay_give_accrual;
     $pay_uid = $sinapay_give_accrual;
     $summary = "给网站返还利息";
     $goods_id = "hwq";
     // 托管代收
     $invest = self::invest($pay_uid, $goods_id, $money, $summary);
     if ($invest['errorNum']) {
         $return = array('errorNum' => '1', 'errorMsg' => $invest['errorMsg'], 'data' => null);
         return $return;
     }
     //获取收款人信息 ---给用户返还利息
     $payee_identity_id = self::getIdentity($uid);
     if (!$payee_identity_id) {
         $return = array('errorNum' => '1', 'errorMsg' => '收款人不存在', 'data' => null);
         return $return;
     }
     $out_trade_no = self::build_order_no();
     $account_type = 'SAVING_POT';
     $summary = "网站返还利息";
     $sina = new sina();
     $payee = $sina->create_single_hosting_pay_trade($out_trade_no, $payee_identity_id, $account_type, $money, $summary);
     //获取成功的订单信息
     $orig_outer_trade_no = $invest['data']['out_trade_no'];
     $refund_amount = $invest['data']['money'];
     $identity_id = $invest['data']['identity_id'];
     if ($payee['response_code'] == 'APPLY_SUCCESS') {
         //给用户利息失败---进行退款操作
         if ($payee['trade_status'] != "PAY_FINISHED") {
             self::hostingRefund($identity_id, $orig_outer_trade_no, $refund_amount, $summary = '返还用户利息失败');
             $return = array('errorNum' => '1', 'errorMsg' => '返还利息失败', 'data' => null);
             return $return;
         }
         // 怎加返回单号
         $trade_no = $orig_outer_trade_no;
         $return = array('errorNum' => '0', 'errorMsg' => 'success', 'data' => array('trade_no' => $trade_no));
         return $return;
     } else {
         self::hostingRefund($identity_id, $orig_outer_trade_no, $refund_amount, $summary = '返还用户利息失败');
         $return = array('errorNum' => '1', 'errorMsg' => $payee['response_message'], 'data' => null);
         return $return;
     }
 }