android个人微信支付,Android之微信支付
Android開發中,大多數電商APP都會有支付這么模塊,此博客就講一下微信支付,代碼不多,很簡單就可以完成,支付寶支付請看博客 Android支付之支付寶封裝類
先來看看效果圖
微信支付首先要去微信開發平臺申請,得到相關信息,根據微信平臺文檔操作即可,如:appId? keydeng
首先導入libammsdk.jar 包
之后在項目包名下創建 wxapi 包? 如? com.zq.demo.wxapi? 前提? com.zq.demo? 包名乃是項目包名,不能有錯。
包下有三個類
Constants.Java(注:當然這個類也可以不要)
public class Constants {
public static final String APP_ID = "申請的APPID";
public static class ShowMsgActivity {
public static final String STitle = "showmsg_title";
public static final String SMessage = "showmsg_message";
public static final String BAThumbData = "showmsg_thumb_data";
}
}
AppRegister.java? 注冊
public class AppRegister extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);
msgApi.registerApp(Constants.APP_ID);
}
}
WXPayEntryActivity.java 支付回調
/***
* 微信支付成功回調接口
* @author zq
*
*/
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{
private static final String TAG = "MicroMsg.SDKSample.WXPayEntryActivity";private IWXAPI api;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pay_result);
api = WXAPIFactory.createWXAPI(this,Constants.APP_ID);
api.handleIntent(getIntent(), this);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
api.handleIntent(intent, this);
}
@Override
public void onReq(BaseReq req) {
}
@Override
public void onResp(BaseResp resp) {
if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.app_tip);
builder.setMessage(getString(R.string.pay_result_callback_msg, String.valueOf(resp.errCode)));
builder.show();
if(resp.errCode==0)//返回參數意思 參考文檔即可
{
//支付成功 執行相關操作
}
else
{
//支付失敗
}
}
finish();
}
}
調用支付
/***
* 微信支付
*/
public void wxpaly() {
PayReq request = new PayReq();
request.appId =Constants.APP_ID;
request.nonceStr ="iuWeKvt82vAGzxH3";
request.partnerId = "1900000109";
request.prepayId = "1101000000140415649af9fc314aa427",;
request.packageValue = "Sign=WXPay";
request.timeStamp = "支付時間";
request.sign = "7FFECB600D7157C5AA49810D2D8F28BC2811827B";
api.sendReq(request);
}
其中的參數為了安全一般是從后臺接口獲取得到的。
AndroidManifest.xml配置
android:name="com.zq.demo.wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop" >
權限:
代碼不多,主要是細節,希望對大家有所幫助。
總結
以上是生活随笔為你收集整理的android个人微信支付,Android之微信支付的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PageHelper分页插件使用
- 下一篇: Golang——map集合初始化、键值操