hbuilder的移動端APP如何實現微信支付,求具體流程詳解
阿新 • • 發佈:2019-02-16
HBuilder 基座已實現H5 plus的支付API,現已整合支付寶快捷支付平臺。使用支付功能前必須在支付寶網站開通”快捷支付“服務,並配置伺服器生成訂單資訊。
開發指導
支付流程如下:
plus API使用步驟:
1. 呼叫plus.payment.getChannels()獲取系統支援的支付通道;
2. 呼叫plus.payment.request()發起支付請求。 示例程式碼
1. 雙擊應用的manifest.json檔案,選中“使用第三方外掛”
Ctrl+S儲存。
plus API使用步驟:
1. 呼叫plus.payment.getChannels()獲取系統支援的支付通道;
2. 呼叫plus.payment.request()發起支付請求。 示例程式碼
-
var channel=null;
-
// 1. 獲取支付通道
-
function plusReady(){
-
// 獲取支付通道
-
plus.payment.getChannels(function(channels){
-
channel=channels[0];
-
},function(e){
-
alert("獲取支付通道失敗:"+e.message);
-
});
-
}
-
document.addEventListener('plusready',plusReady,false);
-
var ALIPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/alipay.php?total=';
-
var WXPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total=';
-
// 2. 發起支付請求
-
function pay(id){
-
// 從伺服器請求支付訂單
-
var PAYSERVER='';
-
if(id=='alipay'){
-
PAYSERVER=ALIPAYSERVER;
-
}else if(id=='wxpay'){
-
PAYSERVER=WXPAYSERVER;
-
}else{
-
plus.nativeUI.alert("不支援此支付通道!",null,"捐贈");
-
return;
-
}
-
var xhr=new XMLHttpRequest();
-
xhr.onreadystatechange=function(){
-
switch(xhr.readyState){
-
case 4:
-
if(xhr.status==200){
-
plus.payment.request(channel,xhr.responseText,function(result){
-
plus.nativeUI.alert("支付成功!",function(){
-
back();
-
});
-
},function(error){
-
plus.nativeUI.alert("支付失敗:" + error.code);
-
});
-
}else{
-
alert("獲取訂單資訊失敗!");
-
}
-
break;
-
default:
-
break;
-
}
-
}
-
xhr.open('GET',PAYSERVER);
-
xhr.send();
- }
1. 雙擊應用的manifest.json檔案,選中“使用第三方外掛”
Ctrl+S儲存。
-
點選manifest.json檔案的“程式碼檢視”,在permissions節點下新增Payment節點:
-
在plus -> distribute -> plugins 節點下新增payment節點:
alipay節點下配置支付寶相關資訊
scheme值為iOS平臺呼叫支付寶的“快捷支付”應用返回時用到的標識,推薦使用小寫字串。
weixin節點下配置微信支付相關資訊
appid值為在微信開放平臺申請應用的AppID值。
-
登入支付寶賬號,簽約申請“移動快捷支付”功能,操作流程參考:
-
生成金鑰(公鑰和私鑰),並提交到支付寶,參考教程:
上傳公鑰
-
使用微信支付功能需到微信開放平臺申請移動應用並開通支付功能
申請應用後可以獲取AppID和AppSecret值。 -
開通支付功能後可獲取支付業務伺服器配置資料
PARTNER:財付通商戶號
PARTNER_KEY:財付通金鑰
PAYSIGNKEY:支付簽名金鑰