1. 程式人生 > >一份完成的微信支付攻略

一份完成的微信支付攻略

Android微信支付整合步驟

遇到問題歡迎聯絡作者 [email protected]

一、 準備工作

在應用整合微信支付之前,我們在微信開放平臺必須要個開發者賬戶

1.註冊完之後建立一個移動應用,並獲取APPid等可以參考:

2.申請開通微信支付能力

  • 認證開發者資格

  • 開通微信支付

3.開通成功後,獲取得到商戶號並在商戶平臺配置API金鑰(生成預支付訂單號需要)

4.在專案中新增微信支付依賴

  • build檔案中

    //微信支付
    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.1.6'
    

5.在專案包名下建立一個wxapi的包,並建立一個WXPayEntryActivity的類(微信分享以及登入必須要求,該類繼承activity並實現IWXAPIEventHandler介面,用於拿到支付的回撥結果),並在清單檔案中註冊。

二、 調起微信支付

步驟:

1.客戶端(APP)提交訂單資訊給服務端,服務端根據微信介面:統一下單介面,生成預支付Id(prepay_id)返回給客戶端。

2.客戶端(APP)根據預支付Id(prepay_id)調起微信支付


3. 生成預支付Id(這步在服務端生成完成,切記)

名稱 欄位 欄位舉例 解釋 預留
應用ID appid wxe154574854 微信開放平臺稽核通過的應用APPID
商戶號 mch_id 1530000109 微信支付分配的商戶號
隨機字串 nonce_str 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
商品描述 body 騰訊充值中心-QQ會員充值 使用者付款介面顯示,APP——需傳入應用市場上的APP名字-實際商品名稱,天天愛消除-遊戲充值。
商戶訂單號 out_trade_no 20150806125346
總金額 total_fee 888 以分為單位
終端IP spbill_create_ip 123.12.12.123
交易型別 trade_type APP 支付型別
簽名 sign C380BEC2BFD727A4B6845133519F3AD6
API介面密碼匙 API_KEY 15488845448acb48884544a7488845448acb4a74a7ba 開發者平臺對應有多個APP的,這個值必須登入每個商戶號分別設定,商戶資訊以註冊應用成功回執的郵件為準

* 詳情可看:統一下單
* 生成簽名後請自行校驗 微信支付介面簽名校驗工具

  • 最終提交的樣例

    <xml>
       <appid>wx2421b1c4370ec43b</appid>
       <attach>支付測試</attach>
       <body>APP支付測試</body>
       <mch_id>10000100</mch_id>
       <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
       <notify_url>http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
       <out_trade_no>1415659990</out_trade_no>
       <spbill_create_ip>14.23.150.211</spbill_create_ip>
       <total_fee>1</total_fee>
       <trade_type>APP</trade_type>
       <sign>0CB01533B8C1EF103065174F50BCA001</sign>
    </xml>
    

sign簽名生成:

1.把我們所需要提交的引數(除sign外),拼接成URL鍵值對的格式(即key1=value1&key2=value2…)

2.得到拼接後的字串之後拼接在商戶平臺生成 API金鑰

3.拼接完key之後,進行MD5運算,再將得到的字串所有字元轉換為大寫,得到sign

提交所有引數 調起統一下單介面 獲取預支付Id

APP客戶端調起微信支付

根據微信提供的調起微信支付的規則,APP端需要提交的引數為:

  • 1.sign簽名生成

​ sign簽名生成步驟跟上面敘述的是一樣的(省略)。

  • 2.生成完簽名,拼接所有支付引數。(PayReq,IWXAPI是微信提供jar包裡的類)

  • 3.調起微信支付

至此,調起微信支付所有步驟完成

效果圖:

相關推薦

完成支付

Android微信支付整合步驟 遇到問題歡迎聯絡作者 [email protected] 一、 準備工作 在應用整合微信支付之前,我們在微信開放平臺必須要個開發者賬戶 1.註冊完之後建立一個移動應用,並獲取APPid等可以參考:

利用Xposed hook完成 支付寶 QQ個人免籤支付系統

微信,支付寶,QQ三端個人支付二維碼生成與監控!有PHP,JAVA介面回撥,個人收款好助手! 實現收款即時到個人微信或者支付寶賬戶!方便安全。 支付寶、微信個人收款二維碼實時生成,通過app實現,app對外提供web介面,訪問web介面傳遞金額、備註、型別等引數,app收

Laravel使用EasyWechat,3分鐘完成支付

一.準備工作 1.下載微信官方PHP的SDK,裡面有個rootca.pem要用到,在php.ini裡配置curl.cainfo=你存放rootca.pem的絕對路徑,重啟PHP 2.composer整合easywechat的laravel版本,具體怎麼使用點這裡 2.1

Android支付功能整合【全

遵循:BY-SA 作者:譚東 時間:2016年10月28日 環境:Windows 7 Android版微信支付官方文件和Demo問題很多,官方也沒有及時更新和細化開發整合文件。 這裡分享我整合Android客戶端微信支付的思路和部分程式碼。希望對大家有幫

次痛苦又甜蜜的支付踩坑之旅

call utf-8 客戶 打開 區分 AD times jpg 運算 凡是和錢打交道的事,沒有一樣是容易的。這是我第一次接觸微信支付,發現網上還是有很多同學在求助,XXX了怎麽辦?XXX是什麽情況?為了幫助更多的小夥伴脫離“苦海”,我決定寫下這次的踩坑之旅,給更多的人幫助

Java支付開發之掃碼支付模式

官方文件 準備工作:已通過微信認證的公眾號, 必須通過ICP備案域名(否則會報支付失敗) 借鑑了很多大神的文章,在此先謝過了 大體過程:先掃碼(還沒有確定實際要支付的金額),這個碼是商品的二維碼,再生成訂單,適用於自動販賣機之類固定金額的。 模式一支付的流程如下圖,稍微有點複雜

張圖瞭解支付支付流程

轉自:https://www.cnblogs.com/yang-shuai/p/6516173.html   1、微信支付 以下是微信支付互動時序圖,統一下單API、支付結果通知API和查詢訂單API等都涉及簽名過程, 呼叫都必須在商戶伺服器端完成。如圖1所示。

支付(APP支付)-服務端開發(

微信支付,首先需要註冊一個商戶平臺公眾賬號,(網址:https://pay.weixin.qq.com/index.php/home/d_login) 目前微信支付的接入方式有四種方式:公眾號支付,APP支付,掃描支付,刷卡支付。本文中我將詳細講解一下APP支付。 微信支付→APP支付官方文件:https

支付分錢

微信支付遇到一個坑,踩了好久............ 再價格處理方面,往往是兩位小數換算成分,如19.90換算成分1990,直接乘以100也就行了,但是又使用了一個轉換為整數型別的函式intval() 這下子結果就不對了,如下: 19.90 intval(float(19.90

java版+支付支付支付()

最近公司在做支付模組,在接入過程中遇到了很多坑,費了不少事,現在分享一下接入方法,也記錄一下,以後可能還用的到。用的是支付寶的即時到帳支付功能和微信的掃碼支付功能,相比起來,個人感覺支付寶的文件和接入方式都比微信的容易理解和操作,也不用自己寫頁面,接入起來比較方便,畢竟是支付

[轉帖]"支付"勒索病毒製造者被鎖定 傳播、危害和疫情終極解密 --- 可以學習下年火絨團隊的分析原理的精神.

"微信支付"勒索病毒製造者被鎖定 傳播、危害和疫情終極解密 https://www.cnbeta.com/articles/tech/794851.htm 12月1日,首個要求"微信支付"贖金的勒索病毒在國內爆發,根據"火絨威脅情報系統"監測和評估,截至4日晚,該病毒至少感染了10萬臺

C#支付)—— 基礎幫助類

最近做了下微信支付,坑好多了,最終還是做完了,避免下次再走坑,在此總結一下 配置類 public class Config { //=======【基本資訊設定】===================================== /*

小程式 - 支付 & 支付完成回撥

微信支付是小程式一個重要的功能,詳情參考官方文件 文件中必填的引數由後臺人員返回給前端,通常前端攜帶訂單號請求後臺介面,換取這些引數 觸發支付的程式碼如下 wx.requestPayment({ timeStamp: '', nonceStr: '', package:

支付 :公眾號支付3 申請退款

/** * 驗證簽名 * * @param map * @return */ public boolean verifyWeixinNotify(Map<Object, Object> map) {

uni-app 1.4 釋出,套程式碼,發行小程式(/支付寶/百度)、H5、App多個平臺

在2019新年到來之際,uni-app 1.4版本正式釋出,新增支援百度、支付寶小程式,開放外掛市場,同時注入更多優秀特性,為開發者送上了一份新年大禮! 支援更多小程式平臺 uni-app 1.4 版本新增支援百度、支付寶小程式,從此一次開發,可釋出小程式(微信/支付寶/百度)、H5、App(iOS/An

支付二維碼native原生支付開發模式

開發前,商戶必須在公眾平臺後臺設定支付回撥URL。URL實現的功能:接收使用者掃碼後微信支付系統回撥的productid和openid;URL設定詳見回撥地址設定。 1.業務流程時序圖 圖6.8:原生支付介面模式一時序圖 業務流程說明: 1)商戶後

(轉) 支付分錢 (bug)

再價格處理方面,往往是兩位小數換算成分,如18.90換算成分1890,直接乘以100也就行了,但是又使用了一個轉換為整數型別的函式intval() 這下子結果就不對了,如圖: 這是因為浮點型別的數字不能在不丟失一點兒精度的情況下通過內部二進位制轉換得到結果的,換句話說就是浮

支付爬坑

微信支付-那些年填過的坑 由於最近專案需要用到微信支付,所以需要研究微信支付相關內容,微信支付本身不是什麼問題,只是過程比較繁瑣,前提工作需要準備充足方可開工,不然你會一個坑接著一坑的掉。 由於業務需要,需要pc端掃碼支付(掃碼支付)、微信公眾號端支付(公眾號支付)、ap

使用Node.js搭建支付後臺(

第一部分前期儲備 1.1 註冊前的概述 從微信公眾平臺可以獲取到公眾號的分類如下: 1. 服務號:主要偏於為使用者傳達資訊(類似報紙雜誌),認證前後都是每天只可以群發一條訊息;【適用人群】:媒體,企業,政府或其他組織 2. 訂閱號: 主要偏於服務互動(類似銀行,114,提供

Java支付總結():獲得prepay_id(以及生成支付簽名)

預設你已經取得了微信支付相關的許可權,並且有了商戶號,key值等等。 如果你一直簽名錯誤,請看上一篇帖子:http://blog.csdn.net/qq_25821067/article/details/55253399 要想獲取prepay_id,就必須要生成正確的簽名,