婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP實現財務審核通過后返現金額到客戶的功能

PHP實現財務審核通過后返現金額到客戶的功能

熱門標簽:開發地圖標注類網站 余姚電話機器人 電銷機器人問門薩維品牌my 廣東廣州在怎么申請400電話 百度地圖怎樣標注圖標 外呼系統能給企業帶來哪些好處 400電話蘭州申請請 百度地圖標注偏差 咸寧銷售電銷機器人系統

應用場景:

有這么一個返現的系統,當前端客戶發起提現的時候,后端就要通過審核這筆返現訂單,才可以返現到客戶的賬號里。

來看看下面的截圖

這里的業務場景就是經過兩輪審核:銷售審核,財務審核都通過后,后端就會付款一筆錢到客戶,當然,這里財務審核會有很多種情況,不通過與通過,通過后直接付款又有很多種情況,詳細可以查看微信付款到零錢的文檔。下面就來看看具體你的代碼實現

微信支付配置

1,數據表大概如下

CREATE TABLE `zmq_weixin_config` (
 `id` int(1) unsigned NOT NULL AUTO_INCREMENT COMMENT '微信公眾平臺編號,自增id',
 `weixin_name` varchar(10) NOT NULL COMMENT '微信公眾平臺名稱',
 `token` varchar(100) NOT NULL,
 `appid` char(18) NOT NULL,
 `appsecret` char(32) NOT NULL,
 `access_token` varchar(300) NOT NULL,
 `api_ticket` varchar(300) DEFAULT NULL COMMENT '微信卡包api_ticket',
 `api_ticket_expired_at` datetime DEFAULT NULL COMMENT '微信卡包api_ticket過期時間',
 `mchid` varchar(20) DEFAULT NULL COMMENT '商戶號',
 `mchkey` varchar(50) DEFAULT NULL COMMENT '支付密鑰',
 `expired_at` timestamp NULL DEFAULT NULL COMMENT 'access_token過期時間,會自動更新',
 `updated_at` timestamp NULL DEFAULT NULL COMMENT '記錄更新時間',
 `created_at` timestamp NULL DEFAULT NULL COMMENT '創建時間',
 `sort_order` smallint(5) NOT NULL DEFAULT '0' COMMENT '排序',
 `points_url` varchar(100) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='微信配置表';

2 .config的配置方法

/**
 * 獲取微信支付配置
 * 這里我是把配置信息存儲在數據表里,方便調用
 * $param是從controller里傳值過來:weixin_config_id,notify_url
 * @return array
 */
public function getWechatConfig($param)
{
  $weixin = WeixinConfigBaseModel::find($param['weixin_config_id']);
  if (empty($weixin)) {
    throw new Exception('微信配置ID錯誤');
  }

  return [
    'wechat' =>[
      $app_id => $weixin->appid,
      'mch_id' => $weixin->mchid,
      'notify_url' => empty($param['notify_url']) ? '' : $param['notify_url'], //回調url
      'key' => $weixin->mchkey,
      'cert_client' => resource_path().'/wechat/'.$weixin->id.'/apiclient_cert.pem', //證書與key
      'cert_key' => resource_path().'/wechat/'.$weixin->id.'/apiclient_key.pem',
    ]
  ];
}

企業付款到個人零錢核心代碼

/**
 * 獲取微信支付配置
 * 這里我是把配置信息存儲在數據表里,方便調用
 * $param是從controller里傳值過來:weixin_config_id,notify_url
 * @return array
 */
public function getWechatConfig($param)
{
  $weixin = WeixinConfigBaseModel::find($param['weixin_config_id']);
  if (empty($weixin)) {
    throw new Exception('微信配置ID錯誤');
  }

  return [
    'wechat' =>[
      $app_id => $weixin->appid,
      'mch_id' => $weixin->mchid,
      'notify_url' => empty($param['notify_url']) ? '' : $param['notify_url'], //回調url
      'key' => $weixin->mchkey,
      'cert_client' => resource_path().'/wechat/'.$weixin->id.'/apiclient_cert.pem', //證書與key
      'cert_key' => resource_path().'/wechat/'.$weixin->id.'/apiclient_key.pem',
    ]
  ];
}

財務審核,也就是微信返現到零錢,這個時候會返回成功結果,或者是各種不成功的結果

這里我用一個方法封裝

//財務審核
if($param['status'] == 2){

  //判斷返現金額與修改后的金額
  if($before_rebate_amount != $param['rebate_amount']){
    //返現金額不相等,則出款金額改變
    $out_amount = $param['rebate_amount'] - $before_rebate_amount ;
    $this->outMount($business->business_id,$out_amount);
  }

  if($param['rebate_status'] == 9){
    //財務拒絕通過
    $business->audit_status = $param['rebate_status'];
    $business->rebate_amount = $param['rebate_amount'];
    $business->status = 6;
    $business->save();

    //生成日志
    $this->insertWithdrawLog($param['withdraw_id'], $business->status, $business->audit_status, $param['rebate_remark'], $param['admin_id']);

  }else{
    //提現的各種返回結果
    $this->payReturnResult($business,$param);
  }
}
/**
 * Function:微信提現返回的各種結果
 * Author:cyw0413
 * @param $res
 * @param $business
 * @param $param
 */
public function payReturnResult($business,$param)
{
  $input = [
    'weixin_config_id' => 20 ,
    'openid'      => $business->business->open_id,
    'amount'      => $param['rebate_amount'] * 100,
    'trade_no'     => $business->order_sn, //商戶訂單號
    'desc'       => "微信提現"
  ];

  $pay = new PayLogBaseService();
  $res = $pay->weixinPay($input);

  if($res['result_code']=="SUCCESS"){
    //提現成功
    $business->audit_status = 4;
    $business->status = 4;
    $business->rebate_amount = $param['rebate_amount'];
    $param['rebate_remark'] = "已付款(".$param['rebate_amount'].")";

  }elseif ($res['err_code'] == "MONEY_LIMIT"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,已達到付款給此用戶額度上限";
    //throw new \Exception($param['rebate_remark']);

  }elseif ($res['err_code'] == "AMOUNT_LIMIT"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,低于最低付款金額或者高于最高付款金額";
    //throw new \Exception($param['rebate_remark']);
egdf
  }elseif ($res['err_code'] == "NOTENOUGH"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,付款帳號余額不足或資金未到賬";
    //throw new \Exception($param['rebate_remark']);

  }elseif ($res['err_code'] == "SIGN_ERROR"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,簽名錯誤";

  }elseif ($res['err_code'] == "PARAM_ERROR"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,參數錯誤";

  }elseif ($res['err_code'] == "OPENID_ERROR"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,Openid錯誤";

  }elseif ($res['err_code'] == "FATAL_ERROR"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,兩次請求參數不一致";

  }elseif ($res['err_code'] == "CA_ERROR"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,商戶API證書校驗出錯";

  }elseif ($res['err_code'] == "V2_ACCOUNT_SIMPLE_BAN"){
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,無法給非實名用戶付款";

  }else{
    $business->audit_status = 3;
    $business->status = 3;
    $param['rebate_remark'] = "提現失敗,服務器繁忙,請稍后再試";
    //throw new \Exception($param['rebate_remark']);
  }

  $business->save();

}

當微信平臺余額不足或者出現各種錯誤而提現失敗的時候,這里還有支持重新付款的功能:其實就是點擊按鈕后重新調用付款到零錢的功能,知道成功付款

/**
 * Function:重新付款
 * Author:cyw0413
 * @param $param
 * @throws \Exception
 */
public function repay($param)
{
  if(empty($param)){
    throw new \Exception("參數錯誤");
  }
  $business = GroupBusinessWithdrawBaseModel::find($param['withdraw_id']);
  if(empty($business)){
    throw new \Exception("不存在!");
  }
  if($business->audit_status != 3){
    throw new \Exception("狀態有錯誤");
  }
  //提現的各種返回結果
  $this->payReturnResult($business,$param);
}

總結

以上所述是小編給大家介紹的PHP實現財務審核通過后返現金額到客戶的功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • PHP實現財務審核通過后返現金額到客戶的功能
  • PHP利用百度ai實現文本和圖片審核
  • php+ajax發起流程和審核流程(以請假為例)
  • php注冊審核重點解析(數據訪問)
  • 如何用PHP做到頁面注冊審核
  • PHPCMS遭遇會員投稿審核無效的解決方法
  • PHP代碼審核的詳細介紹

標簽:衡陽 巴彥淖爾 麗江 臨沂 銅陵 重慶 十堰 鷹潭

巨人網絡通訊聲明:本文標題《PHP實現財務審核通過后返現金額到客戶的功能》,本文關鍵詞  PHP,實現,財務,審核,通,過后,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現財務審核通過后返現金額到客戶的功能》相關的同類信息!
  • 本頁收集關于PHP實現財務審核通過后返現金額到客戶的功能的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    337p亚洲精品色噜噜噜| 国产精品白丝在线| 日韩精品成人一区二区三区| 久久久久国产精品麻豆ai换脸 | 亚洲人精品一区| www激情久久| 欧美一区二区在线观看| 欧美日韩日日夜夜| 色婷婷综合五月| 成人免费高清在线观看| 国产永久精品大片wwwapp| 美日韩一区二区| 日韩黄色免费网站| 日韩成人精品在线| 蜜桃久久精品一区二区| 奇米影视一区二区三区小说| 天天色综合天天| 日本亚洲免费观看| 日本中文字幕一区二区视频| 午夜精品久久久久| 日本不卡视频一二三区| 日韩二区三区四区| 久久成人综合网| 国产永久精品大片wwwapp| 国产一区二区三区四| 国产成人三级在线观看| 成人性生交大片| 91麻豆视频网站| 5月丁香婷婷综合| 精品乱人伦一区二区三区| 337p日本欧洲亚洲大胆色噜噜| ww久久中文字幕| 国产精品乱子久久久久| 中文字幕一区二区三区在线播放 | 国产精品久久久久久久久果冻传媒| 中文字幕av免费专区久久| 1024成人网色www| 午夜精品久久久久久| 另类欧美日韩国产在线| 国产精品一区二区x88av| 菠萝蜜视频在线观看一区| 色一区在线观看| 欧美高清一级片在线| 久久久久久免费| 亚洲午夜国产一区99re久久| 麻豆国产精品一区二区三区| www.欧美日韩| 欧美不卡一区二区| 日韩毛片高清在线播放| 男人的j进女人的j一区| caoporm超碰国产精品| 精品1区2区3区| 日本一区二区三区在线观看| 亚洲福利电影网| 国产麻豆一精品一av一免费| 欧美视频日韩视频在线观看| 久久免费看少妇高潮| 亚洲成人在线观看视频| 国产不卡视频在线观看| 777久久久精品| 成人免费小视频| 激情综合色综合久久综合| 99麻豆久久久国产精品免费| 日韩精品一区二| 亚洲午夜一二三区视频| 国产大陆精品国产| 日韩欧美在线123| 亚洲资源中文字幕| 99久久国产免费看| 久久免费偷拍视频| 麻豆91在线看| 欧美性色黄大片| 亚洲欧洲三级电影| 国产盗摄视频一区二区三区| 欧美一区二区三区在线观看| 亚洲一区二区三区四区的| 99久久久国产精品| 国产欧美日韩精品一区| 麻豆精品一区二区| 4hu四虎永久在线影院成人| 夜色激情一区二区| 在线中文字幕不卡| 亚洲黄网站在线观看| 91首页免费视频| 欧美国产精品久久| 国产999精品久久久久久| 精品国产一区二区三区四区四 | 中文字幕乱码久久午夜不卡 | 亚洲成人av在线电影| 91丝袜美腿高跟国产极品老师 | 久久午夜电影网| 奇米影视一区二区三区| 91精品午夜视频| 日本不卡123| 欧美大片在线观看| 免费成人av在线| 日韩你懂的在线播放| 国内精品不卡在线| 日本一区二区三区电影| 成人白浆超碰人人人人| 国产精品成人免费| 91久久精品国产91性色tv | 国产传媒久久文化传媒| 久久综合给合久久狠狠狠97色69| 激情五月婷婷综合| 国产女主播在线一区二区| 国产91丝袜在线观看| 国产精品久久久久久亚洲毛片| 不卡视频一二三四| 一级日本不卡的影视| 欧美人伦禁忌dvd放荡欲情| 日本欧美久久久久免费播放网| 欧美一级欧美三级| 国产毛片一区二区| 亚洲日本护士毛茸茸| 欧美性色综合网| 精品一区二区国语对白| 中文字幕av一区二区三区免费看| 99久久99久久精品国产片果冻| 亚洲成在人线在线播放| 精品欧美一区二区久久| 成人av在线资源| 日韩高清不卡一区| 国产精品家庭影院| 欧美人狂配大交3d怪物一区| 国产福利一区二区| 亚洲一区二区视频在线观看| 337p日本欧洲亚洲大胆精品| 色哟哟精品一区| 国内久久精品视频| 亚洲精品免费看| 久久日一线二线三线suv| 一本一本久久a久久精品综合麻豆| 日日夜夜免费精品视频| 中文字幕 久热精品 视频在线| 在线免费一区三区| 激情文学综合丁香| 一区二区免费看| 久久亚洲私人国产精品va媚药| 一本大道av一区二区在线播放| 久久国产精品99久久人人澡| 一区二区在线免费观看| 欧美国产综合一区二区| 日韩欧美一二三四区| 色av成人天堂桃色av| 国产高清亚洲一区| 奇米综合一区二区三区精品视频| 亚洲精品中文字幕在线观看| 久久亚洲二区三区| 91精品国产色综合久久不卡电影| 99re热视频这里只精品| 国产伦精一区二区三区| 日韩二区三区在线观看| 亚洲综合激情另类小说区| 欧美韩日一区二区三区四区| 日韩精品中文字幕一区二区三区 | 日韩精品一区二区三区中文不卡| 91美女在线视频| 国产一区二区久久| 蜜桃av噜噜一区| 亚洲国产乱码最新视频| 亚洲视频一区在线观看| 欧美国产日韩a欧美在线观看| 精品国产乱码久久久久久久| 日韩一二三区不卡| 欧美一区二区三区日韩| 欧美一区二区在线免费播放| 91麻豆精品久久久久蜜臀| 欧美日韩大陆一区二区| 欧美群妇大交群中文字幕| 欧美日韩免费观看一区三区| 欧美三级韩国三级日本一级| 欧美日韩一区在线| 欧美久久久久久蜜桃| 欧美高清视频在线高清观看mv色露露十八 | 色天天综合久久久久综合片| 成人高清视频在线| youjizz久久| 91麻豆.com| 在线看一区二区| 欧美日韩一区小说| 在线播放中文一区| 日韩免费福利电影在线观看| 亚洲精品一区二区三区香蕉| 久久久国产一区二区三区四区小说 | 精品卡一卡二卡三卡四在线| 日韩精品一区二区三区在线播放 | 日韩欧美国产综合一区| 欧美xxxxxxxx| 国产午夜精品一区二区三区视频| 国产日产欧美一区二区三区| 国产三级久久久| 亚洲免费av在线| 午夜精品123| 国内成人自拍视频| 成人av在线网| 欧美肥妇free| 欧美国产精品一区| 亚洲一区国产视频| 久久66热re国产|