android微信支付開發過程

2021-07-23 02:35:50 字數 1459 閱讀 5602

表4.1 介面規則

傳輸方式

為保證交易安全性,採用https傳輸

提交方式

採用post方法提交

資料格式

提交和返回資料都為xml格式,根節點名為xml

字元編碼

統一採用utf-8字元編碼

簽名演算法

md5,後續會相容sha1、sha256、hmac等。

簽名要求

請求和接收資料均需要校驗簽名,詳細方法請參考安全規範-簽名演算法

證書要求

呼叫申請退款、撤銷訂單介面需要商戶證書

判斷邏輯

先判斷協議字段返回,再判斷業務返回,最後判斷交易狀態

2、發起乙個執行緒生成支付訂單。這裡要注意金額的單位為分,只能為整數。

3、把支付訂單post到後台生成乙個預支付訂單,返回prepay_id(預支付回話標識)

5、支付結果會在wxpayentryactivity類裡onresp函式中檢視,當errcode為:0表示成功 -1表示錯誤 -2表示使用者取消。

二、**實現部分

2.1 在androidmanifest.xml中註冊。

2.2 把libammsdk.jar拷貝到專案的libs裡。

final iwxapi msgapi = wxapifactory.createwxapi(context, null);

2.4 發起乙個執行緒生成支付訂單。

getprepayidtask getprepayid = new getprepayidtask();

getprepayid.execute();

private class getprepayidtask extends

asynctask>

@override

protected void onpostexecute(mapresult)

@override

protected void oncancelled()

@override

protected mapdoinbackground(void... params) }

生成支付訂單。

private string genproductargs() catch (exception e) }

// 生成簽名引數

private void genpayreq() }

private void sendpayreq()

2.6 支付結果判斷

在wxpayentryactivity類中onresp判斷。

public void onresp(baseresp resp) else if(resp.errcode== -1)

else if(resp.errcode== -2)

} }

開發過程中遇到的問題

1、生成預支付訂單的時候會生成失敗。

2、支付返回結果收不到,onresp沒有走到。

微信退款開發過程

商戶號 mch id 隨機字串 nonce str 商戶訂單號 out trade no 商戶退單號 out refund no 退款總金額 refund fee 訂單總金額 total fee 操作員帳號 op user id 商戶平台中對應的key值 key 注意事項 1.訂單總金額和退款總金額...

微信退款開發過程

php view plain copy print?商戶號 mch id 隨機字串 nonce str 商戶訂單號 out trade no 商戶退單號 out refund no 退款總金額 refund fee 訂單總金額 total fee 操作員帳號 op user id 商戶平台中對應的k...

android微信支付開發流程

1.建立乙個廣播 override public void onreceive context context,intent intent public class wxpayentryactivity extends activity implements iwxapieventhandler,v...