1. 程式人生 > >APP微信提現介面

APP微信提現介面

昨天分享了微信支付介面、今天早上正好有空、給大家分享一下APP提現的介面、

提現必須得用雙向證書、所以大家一定要在微信的商戶平臺找到相應的地方去設定、因為我做這個提現已經有一段時間了、所以設定微信商戶平臺的那幾個地方沒有圖的情況、也說不清楚、下次再做提現的時候、給大家分享如何設定商戶平臺那幾個地方、不是很難、下面貼程式碼

<?php
namespace Home\Controller;
use Think\Controller;
class TixianController extends Controller{
//高階功能-》開發者模式-》獲取
private $app_id1 = ''
; //appid private $app_secret1 = ''; //secreat private $apikey1 = ''; //支付祕鑰 private $mchid1 = 's'; //商戶號 private $app_id=null; private $app_secret=null; private $apikey=null; private $mchid=null; public $error=0; public $state = ''; //金額,需在例項化時傳入 public $amount = '0'; //使用者訂單號,需在例項化時傳入 public $order_sn
= ''; //使用者openid,需在例項化時傳入 public $openid = ''; //微信提現操作介面-------public function actionAct_tixian() { $this->state=md5(uniqid(rand(), TRUE)); $this->amount=I('amount');//設定POST過來錢數 $this->order_sn=rand(100,999).date('YmdHis'); //隨機數可以作為單號 $this->openid= I('openid'); //設定獲取POST過來使用者的OPENID $user_id
= I('user_id'); $this->app_id=$this->app_id1; $this->app_secret=$this->app_secret1; $this->apikey=$this->apikey1; $this->mchid=$this->mchid1; $xml=$this->tiXianAction(); $result=simplexml_load_string($xml); if($result->return_code=='SUCCESS' && $result->result_code=='SUCCESS') { $cash = D('cash'); $data['user_id'] = $user_id; $data['amount'] = $this->amount; $res = $cash->where('user_id="'.$user_id.'"')->find(); if($res){ $res2 = $cash->where('user_id="'.$user_id.'"')->setInc('amount',$this->amount); $res4 = D('member')->where('user_id="'.$user_id.'"')->setDec('user_balance',$this->amount); }else{ $res3 = $cash->add($data); } $output = array('code' => 1, 'data' => $result->result_code, 'info' => '提現成功'); exit(json_encode($output)); }else{ $output = array('code' => 2, 'data' => $xml, 'info' => '提現失敗'); exit(json_encode($output)); } } /** * 提現介面操作,控制器呼叫 * @param $openid 使用者openid 唯一標示 * @return */ //提現介面操作 public function tiXianAction(){ //獲取xml資料 $data=$this->getdataXml($this->openid); $ch = curl_init (); //介面地址 $MENU_URL="https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"; curl_setopt ( $ch, CURLOPT_URL, $MENU_URL ); curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "POST" ); curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE ); curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, FALSE ); //證書地址,微信支付下面 curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLCERT, 'C:\web\www\Home\wx_pay\apiclient_cert.pem'); //證書這塊大家把檔案放到哪都行、 curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLKEY, 'C:\web\www\Home\wx_pay\apiclient_key.pem');//注意證書名字千萬別寫錯、 //$zs1=dirname(dirname(__FILE__)).'\wx_pay\apiclient_cert.pem'; //$zs2=dirname(dirname(__FILE__)).'\wx_pay\apiclient_key.pem'; //show_bug($zs1); //curl_setopt($ch,CURLOPT_SSLCERT,$zs1); //curl_setopt($ch,CURLOPT_SSLKEY,$zs2); // curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; // Windows NT 5.0)'); //curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 ); curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); $info = curl_exec ( $ch ); //返回結果 if($info){ curl_close($ch); return $info; } else { $error = curl_errno($ch); curl_close($ch); return "curl出錯,錯誤碼:$error"; } } /** * 獲取資料封裝為陣列 * @param $openid 使用者openid 唯一標示 * @return xml */ private function getdataXml($openid){ //封裝成資料 $dataArr=array( 'amount'=>$this->amount*100,//金額(以分為單位,必須大於100'check_name'=>'NO_CHECK',//校驗使用者姓名選項,NO_CHECK:不校驗真實姓名 FORCE_CHECK:強校驗真實姓名(未實名認證的使用者會校驗失敗,無法轉賬)OPTION_CHECK:針對已實名認證的使用者才校驗真實姓名(未實名認證使用者不校驗,可以轉賬成功) 'desc'=>'提現',//描述 'mch_appid'=>$this->app_id, 'mchid'=>$this->mchid,//商戶號 'nonce_str'=>rand(100000, 999999),//不長於32位的隨機數 'openid'=>$openid,//使用者唯一標識 'partner_trade_no'=>$this->order_sn,//商戶訂單號 're_user_name'=>'',//使用者姓名,check_nameNO_CHECK時為可選項 'spbill_create_ip'=>$_SERVER["REMOTE_ADDR"],//伺服器ip ); //獲取簽名 $sign=$this->getSign($dataArr); //xml資料 $data="<xml> <mch_appid>".$dataArr['mch_appid']."</mch_appid> <mchid>".$dataArr['mchid']."</mchid> <nonce_str>".$dataArr['nonce_str']."</nonce_str> <partner_trade_no>".$dataArr['partner_trade_no']."</partner_trade_no> <openid>".$dataArr['openid']."</openid> <check_name>".$dataArr['check_name']."</check_name> <re_user_name>".$dataArr['re_user_name']."</re_user_name> <amount>".$dataArr['amount']."</amount> <desc>".$dataArr['desc']."</desc> <spbill_create_ip>".$dataArr['spbill_create_ip']."</spbill_create_ip> <sign>".$sign."</sign> </xml>"; return $data; } /** * 作用:格式化引數,簽名過程需要使用 */ private function formatBizQueryParaMap($paraMap, $urlencode) { $buff = ""; ksort($paraMap); foreach ($paraMap as $k => $v) { if($v){ if($urlencode) { $v = urlencode($v); } $buff .= $k . "=" . $v . "&"; } } $reqPar=NULL; if (strlen($buff) > 0) { $reqPar = substr($buff, 0, strlen($buff)-1); } return $reqPar; } /** * 作用:生成簽名 */ private function getSign($Obj) { foreach ($Obj as $k => $v) { $Parameters[$k] = $v; } //簽名步驟一:按字典序排序引數 ksort($Parameters); $String = $this->formatBizQueryParaMap($Parameters, false); //echo 'string1'.$String.'</br>'; //簽名步驟二:在string後加入KEY $String = $String."&key=".$this->apikey; //echo "string2".$String."</br>"; //簽名步驟三:MD5加密 $String = md5($String); //echo "string3 ".$String."</br>"; //簽名步驟四:所有字元轉為大寫 $result_ = strtoupper($String); //echo "result ".$result_."</br>"; return $result_; } //----------- private function http($url, $method='POST', $postfields = null, $headers = array()) { header("Content-Type:text/html;charset=utf-8");

相關推薦

APP提現介面

昨天分享了微信支付介面、今天早上正好有空、給大家分享一下APP提現的介面、 提現必須得用雙向證書、所以大家一定要在微信的商戶平臺找到相應的地方去設定、因為我做這個提現已經有一段時間了、所以設定微信商戶平臺的那幾個地方沒有圖的情況、也說不清楚、下次再做提現的時候、給大家分享如

php對接app支付的請求介面

<?php ini_set('date.timezone','Asia/Shanghai'); error_reporting(E_ERROR); define("APP_TYPE", "app"); define('IN_ECS', true); require_once APPPAT

app支付的集成步驟

with rom str chat clas singletop new intent res 1.引用地址 //微信支付 compile ‘com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+‘ 2.註冊    pri

公眾號與APP第三方登錄賬號打通

class 微信服務號 成功 信用 lock 通用 管理中心 post 公眾 一個項目同時開發了APP和微信服務號,需要做到APP和微信服務號的賬號互通同步,也就是說一個賬號在2個地方都可以用,當然這個前提是保證你公司自己的服務器的數據庫用的是同一套。 為保證用戶數據的唯

***公眾號支付+H5支付+掃碼支付+小程序支付+APP支付解決方案總結

ati asc alt creat chapter edit 隨機字符串 glob 測試 最近負責的一些項目開發,都用到了微信支付(微信公眾號支付、微信H5支付、微信掃碼支付、APP微信支付)。在開發的過程中,在調試支付的過程中,或多或少都遇到了一些問題,今天總結下,分享,

APP登入 伺服器處理程式碼

採用框架THINKPHP5 需要客戶端傳的引數有  udid openid nickname avatar_path /* * @param 第三方微信登入 * @param openid udid nickname avatar_path */

高仿聊天介面長按彈框樣式

效果圖 背景 在公司做的專案裡面,剛好有需要用到微信聊天介面長按彈框樣式這種 UI 的。 網上找了一下,沒找到。 Android 現成的 ListPopupWindow 又不能滿足需求。 因此在非上班時間擼一個出來,供大家使用。 示例程式碼 關鍵檔案、示例程式

.net Core 呼叫Jsapi介面,H5解析二維碼

專案裡需要用到掃描二維碼,自己實現,不會。 找到了兩種解決方案: 通過reqrcode.js,這是一個前端解析二維碼內容的js庫。如果二維碼比較清晰,用這種效果也不錯 呼叫微信掃一掃功能,這種效果很好。但是除錯介面超級麻煩。 具體實現:前端程式碼(vue)(前端用到 vux) &l

JS支付程式碼_前端呼叫支付介面

轉自:http://dditblog.com/itshare_553.html 跟大家分享一段微信支付的js程式碼片段、V3版的微信支付沒有paySignKey引數、基本上是直接複製就可以使用了、改一改自己的引數就好了、話不多說、直接上程式碼   支付按鈕的點選事件

HTML5仿手機聊天介面

HTML5仿手機微信聊天介面,截圖效果如下: 原始碼如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTML5模擬微信聊天介面&l

php支付介面開發,獲取php掃碼支付返回結果,php開發微支付demo原始碼

現在很多網站都是用php開發的, 一些觀看了子恆老師微信公眾號運營視訊後, 想要更加深入的學習, 留言說“php怎麼做微信支付介面開發呢?” “有沒有php微信支付介面開發的demo例項” 下面來詳細談談… 一、 php微信支付介面開發要做的準備 只有你先準備配置好, 然後才能正確

php 實現app支付

class Wxpay { /* 配置引數 */ private $config = array( 'appid' => "wxc888888888", /*微信開放平臺上的應用id*/ 'mch_id' => "88

外交部迴應孟晚舟被拘;提現手續費或上漲;鬥魚緊急裁員 | 極客頭條

「CSDN 極客頭條」,是從 CSDN 網站延伸至官方微信公眾號的特別欄目,專注於一天業界事報道。風裡雨裡,我們將每天為朋友們,播報最新鮮有料的新聞資訊,讓所有技術人,時刻緊跟業界潮流。 快訊速知 劉強東代理律所:“和解”言論純屬造謠生事,已進行證據保全 微

個人支付寶介面、個人支付介面免簽收款

個人網站站長無法申請到支付寶和微信支付API介面,個人網站開發人員要想實現收款介面除了想辦法搞到企業資質申請官方的支付介面外還可以想辦法通過個人收款碼來實現。 無論是商家還是個人都能免費註冊完成實名認證便能獲得一個商戶二維碼用於收款民生一碼通:,並且沒有門檻連街邊小販也

mui、HBuilder、 HTML5+實現分享分享介面閃退的問題

實現微信分享的步驟有如下幾步:   1. 在微信開放平臺申請AppID、AppSecret;   2. 配置Hbuilder專案中的manifest.json檔案,新增分享許可權和配置分享SDK;    3. 測試分享。  

django2.0呼叫支付介面實現PC端掃碼支付

準備工作: 程式碼實現: 目錄結構 class WeChartPay(object): def __init__( self, appid, mch_id,

呼叫JSSDK介面,實現自定義分享功能

1,你需有一個公眾號,沒有不用談自定義分享內容了; 2,公眾號上把你的域名增加到“JS介面安全域名”: 3,我這功能是基於thinkphp3.1實現的,按下圖上網下包放在對應該目錄下: 4,修改核心公共檔案:functions.php 加入程式碼: /*

RestTemplate請求介面時Could not extract response:

異常資訊: org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for re

支付介面常見問題

一、回撥頁面 正常流程使用者支付完成後會返回至發起支付的頁面,如需返回至指定頁面,則可以在MWEB_URL後拼接上redirect_url引數,來指定回撥頁面。 如,您希望使用者支付完成後跳轉至ht

網站對接支付寶,支付介面史上最詳細教程

聯絡qq:1104752746對接支付寶支付介面,官方文件已經寫的很清楚了,但是也有很多像我一樣的小白,第一次對接支付寶支付介面,會有些迷茫,所以我在此寫下這篇文章,給我和我一樣的同學,一點思路吧。三分鐘就可以申請介面實用小技巧QQ:1104752746支付寶個人即時到賬支付