總要說兩句
public
class
wxpayentryactivity
extends
activity
implements
iwxapieventhandler
@override
protected
void
onnewintent(intent intent)
@override
public
void
onreq(basereq req)
@override
public
void
onresp(baseresp resp)
}
android:name=".wxapi.wxpayentryactivity"
android:exported="true"
android:launchmode="singletop"/>
public
class
extends
broadcastreceiver
}
intent-filter>
receiver>
public
boolean
if (mwxapi == null)
return
false;
}}
(因為我的專案是在後台服務端生成,所以這步暫時不寫,後面再補上。)
5、發起支付
payreq request = new payreq();
request.partnerid = "收款方商戶id";
request.prepayid= "預支付訂單id";
request.packagevalue = "sign=wxpay";//死值
request.noncestr= "隨機字串";
request.timestamp= "當前時間戳";
request.sign= "簽名";
boolean checkargs = request.checkargs();
if(checkargs )
sortedmap<
string, string
>
map=
new treemap<
string, string
>();
mapmap
.put("partnerid", "***");
map.put("prepayid", "***");
map.put("package", "***");
map.put("noncestr", "***");
map.put("timestamp", "***");
stringbuilder sb =
new stringbuilder();
set ese =
map.entryset();
iterator it = es.iterator();
while(it.hasnext())
+"api_key");
return md5util.encode(sb.tostring());//最終的sign
6、新增混淆配置
-keep class
com.tencent.mm.sdk.**
@override
public
void
onresp(baseresp resp)
}
因為我們最終要把支付結果傳到我們自己的activity中,所以我使用者了localbroadcastmanager 。
resp.errcode就是支付結果,0成功,-1失敗,-2取消。
8、接受broadcast
private localbroadcastmanager mlocalbroadcastmanager;
private broadcastreceiver receiver = new broadcastreceiver()
};mlocalbroadcastmanager = localbroadcastmanager.getinstance(this);
mlocalbroadcastmanager.registerreceiver(receiver, new intentfilter("wxpayresult"));
@override
protected
void
ondestroy()
今天先記錄這麼多,過兩天我再優化一下細節的地方。
thank you~
Android 整合微信支付詳解
申請通過,填寫 資料審核 審核通過如下 param ordertype 附加引數,不傳為null。不能為 this.mch id mch id this.api key api key this.orderon orderon this.productfeename productfeename t...
android微信支付
1,開啟 3,示例 發布使用的簽名正確的話取消和成功都能正確通知.2,測試時使用weixindemo中的debug keystore 3,需要注意應用要通過審核,並且幾個key值正確 商家向財付通申請的商家id 第一步,獲取accesstoken,accesstoken值第二步要用 private ...
android微信支付
builder.settitle 提示 builder.show 現在說一下支付結果返回 1的問題,這個問題真是糾結了好久啊,如果你是按照上面的步驟來的話還出現 1的話,原因只有兩個 1.可能是後台返回給你的引數不正確導致支付失敗,後台調起預支付介面的時候要注意中文亂碼問題,二是注意總金額是int型...