第一章微信掃碼支付介紹
?微信掃碼支付就是我們目前生活中最常使用的聯(lián)通端支付方法之一。
第二章微信支付必要條件
?我們要完成微信支付,這么我們顧客自己是付款方,這么收款方呢?所以在這兒我們須要一個(gè)收款方。這么要才能成為微信掃碼支付的收款方,我們須要去申請(qǐng)微信的服務(wù)號(hào),之后去開通掃碼支付。(這個(gè)服務(wù)號(hào)個(gè)人未能申請(qǐng),在這兒不做教程說明)
第三章微信支付流程介紹
微信支付模式介紹
模式一:商戶必須在公眾平臺(tái)后臺(tái)設(shè)置支付反彈URL。
模式二:調(diào)用微信的插口,獲取支付的地址。
在這兒,我沒法登錄后臺(tái),所以選擇使用模式二。
模式二開發(fā)流程介紹
按照上述的時(shí)序圖,得到如下的流程:注意上圖中藍(lán)色部份就是我們開發(fā)者須要做的部份
(1)商戶后臺(tái)系統(tǒng)按照用戶購買的商品生成訂單。
(2)用戶確認(rèn)支付后調(diào)用微信支付【統(tǒng)一下單API】生成預(yù)支付交易.
(3)微信支付收到懇求后生成預(yù)支付交易單,并返回交易會(huì)話的二維碼鏈接
(4)商戶后臺(tái)系統(tǒng)按照返回的生成二維碼。
(5)用戶打開微信“掃一掃”掃描二維碼,微信顧客端將掃碼內(nèi)容發(fā)送到微信支付系統(tǒng)。
(6)微信支付系統(tǒng)收到顧客端懇求,驗(yàn)證鏈接有效性后發(fā)起用戶支付,要求用戶授權(quán)。
(7)用戶在微信顧客端輸入密碼,確認(rèn)支付后,微信顧客端遞交授權(quán)。
(8)微信支付系統(tǒng)按照用戶授權(quán)完成支付交易。
(9)微信支付系統(tǒng)完成支付交易后給微信顧客端返回交易結(jié)果,并將交易結(jié)果通過郵件、微信消息提示用戶。微信顧客端展示支付交易結(jié)果頁面。
(10)微信支付系統(tǒng)通過發(fā)送異步消息通知商戶后臺(tái)系統(tǒng)支付結(jié)果。商戶后臺(tái)系統(tǒng)需回復(fù)接收情況,通知微信后臺(tái)系統(tǒng)不再發(fā)送該單的支付通知。
(11)未收到支付通知的情況,商戶后臺(tái)系統(tǒng)調(diào)用【查詢訂單API】。
(12)商戶確認(rèn)訂單已支付后給用戶發(fā)貨。
第四章核心流程所涉及的功能代碼
1.調(diào)用微信的【統(tǒng)一下單API】,會(huì)的到微信支付的地址
2.依據(jù)生成二維碼
3.調(diào)用【查詢訂單API】,查詢微信支付的結(jié)果。
第五章統(tǒng)一下單api代碼說明
首先須要下載微信支付的jar包【SDK與DEMO下載】
其中微信掃碼點(diǎn)單,企業(yè)公眾號(hào)id、api密鑰、商戶帳號(hào)須要申請(qǐng)服務(wù)號(hào)能夠擁有,可以查看第二章,這兒公司隱私,不能透漏
收款方的配置文件
public class MyConfig implements WXPayConfig { ??//獲取 App ID(企業(yè)方公眾號(hào)Id) ??@Override ??public String getAppID() { ?? ? ?return "*****************"; ? } ?? //獲取 API 密鑰 ??@Override ??public String getKey() { ?? ? ?return "*****************"; ? } ??//獲取 Mch ID(商戶賬號(hào)) ??@Override ??public String getMchID() { ?? ? ?return "****************"; ? } ? ??//獲取商戶證書內(nèi)容(我們這里不需要證書) ??@Override ??public InputStream getCertStream() { ?? ? ?// TODO Auto-generated method stub ?? ? ?return null; ? } ? ??//HTTP(S) 連接超時(shí)時(shí)間,單位毫秒 ??@Override ??public int getHttpConnectTimeoutMs() { ?? ? ?// TODO Auto-generated method stub ?? ? ?return 8000; ? } ? ??//HTTP(S) 讀數(shù)據(jù)超時(shí)時(shí)間,單位毫秒 ??@Override ??public int getHttpReadTimeoutMs() { ?? ? ?return 10000; ? } }
統(tǒng)一下單DEMO
詳盡參數(shù)點(diǎn)擊【統(tǒng)一下單API】
class{
voidmain([]args){
=new();
//加載微信支付的企業(yè)參數(shù)
WXPaywxpay=newWXPay();
//設(shè)置微信支付的參數(shù)
Mapdata=new();
//商品的描述
data.put("body","商城");
//訂單號(hào),訂單號(hào)必須惟一。自己測試請(qǐng)切換其他訂單號(hào)
data.put("","12");
//設(shè)備號(hào),無關(guān)
data.put("","");
//幣種人民幣
data.put("","CNY");
//支付金額
data.put("","50");
data.put("","123.12.12.123");
//異步接收微信支付結(jié)果通知的反彈地址,通知url必須為內(nèi)網(wǎng)可訪問的url,不能攜帶參數(shù)。我們不適用異步通知,而且這兒的參數(shù)必需要有
data.put("","");
data.put("","");//此處指定為掃碼支付
data.put("","12");
?
try{
Mapresp=wxpay.(data);
for(Map.Entryentry:resp.()){
key=entry.();
value=entry.();
.out.(key+":"+value);
}catch(e){
e.();
輸出結(jié)果
輸出結(jié)果是一個(gè)map集合,map集合的詳盡參數(shù)介紹同樣點(diǎn)擊【統(tǒng)一下單API】,重點(diǎn)是,獲取map集合中的key為的值,這個(gè)就是微信支付的地址。
第六章二維碼生成介紹
我們一般掃描二維碼微信掃碼點(diǎn)單,雖然可以發(fā)覺訪問了一個(gè)地址。說白了,二維碼的本質(zhì)就是一個(gè)網(wǎng)路資源的地址。二維碼的生成是通過js插件生成的。
【.js下載】
??? ????? ???????
結(jié)果如圖:
切換參數(shù)中的百度的地址為我們第五章中生成的支付地址://wxpay/?pr=
第七章查詢訂單API代碼說明
詳盡參數(shù)請(qǐng)參考【查詢訂單API】
voidmain([]args){
//加載企業(yè)參數(shù)
=new();
WXPaywxpay=newWXPay();
//設(shè)置須要查詢的訂單的單號(hào)
Mapdata=new();
data.put("","12");
//輸出查詢的結(jié)果
try{
Mapresp=wxpay.(data);
/*
代表的就是訂單支付結(jié)果
—支付成功
—轉(zhuǎn)入退貨
—未支付
—已關(guān)掉
—已撤消(刷卡支付)
--用戶支付中
--支付失敗(其他緣由,如交行返回失敗)
*/
for(Map.Entryentry:resp.()){
key=entry.();
value=entry.();
.out.(key+":"+value);
}catch(e){
e.();
返回值同樣是一個(gè)map集合,其中的key所對(duì)應(yīng)的值就是訂單的交易狀態(tài)。
參數(shù)結(jié)果:
第八章:總結(jié)
1.必須申請(qǐng)公眾號(hào),獲取微信支付的參數(shù)。
2.在中設(shè)置微信支付的參數(shù)
3.調(diào)用微信支付的下單的api,填寫指定參數(shù),獲取支付的url地址
4.調(diào)用現(xiàn)有的js,給定指定的url地址參數(shù),生成掃碼支付的二維碼地址
5.后臺(tái)協(xié)程查詢訂單的支付狀態(tài)
免責(zé)聲明:部分文章信息來源于網(wǎng)絡(luò)以及網(wǎng)友投稿,本站只負(fù)責(zé)對(duì)文章進(jìn)行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,如本站文章和轉(zhuǎn)稿涉及版權(quán)等問題,請(qǐng)作者在及時(shí)聯(lián)系本站,我們會(huì)盡快為您處理。
熱門資訊
- 美團(tuán)外賣的抽成規(guī)則 餓了么抽點(diǎn)比例是多少
- 外賣好評(píng)30字有哪些 常見的外賣評(píng)語大全
- 木屋燒烤價(jià)目表一覽 微信外賣訂餐系統(tǒng)推薦
- 海底撈排隊(duì)取號(hào)微信是多少 海底撈是怎么預(yù)約排隊(duì)
- 如何通過微信掃碼支付找到支付人微信號(hào)?看這里!
- 胡桃里消費(fèi)人均大概是多少錢 二維碼掃碼點(diǎn)餐系統(tǒng)哪個(gè)好用
- 美團(tuán)外賣怎么點(diǎn)兩份?步驟及注意事項(xiàng)!!
- 肯德基優(yōu)惠券怎么獲得 肯德基微信外賣怎么點(diǎn)
- 連鎖收銀系統(tǒng)對(duì)連鎖門店運(yùn)營會(huì)有怎么樣的影響?
- 微信公眾號(hào)點(diǎn)餐是怎么實(shí)現(xiàn) 餐飲商家怎么制作外賣訂餐系統(tǒng)