本篇简单介绍Android App中接入微信支付,包括App内支付和扫码支付。分享+支付 pofei
微信支付
wechat 官方接入文档
App内支付
源码下载
主要流程:
1.微信支付平台注册账号
注:注册并申请成功以后,需要在API安全中设置你的API密钥 32个字符。建议使用 MD5加密 ,并且需要妥善的保存。因为无法查看。
2.生成预支付订单
3.生成签名参数
4.调起微信,完成支付
扫码支付
扫码支付使用的是微信统一下单API ,使用的是模式二,模式一 一直说URL参数错误,完全按照官方文档来的 令人费解。
统一下单API
统一下单API
在上面的基础上,修改
private String getProductArgs() { // TODO Auto-generated method stub StringBuffer xml=new StringBuffer(); try { String nonceStr=getNonceStr(); currentOrderId = getOutTrade(); xml.append("<xml>"); List<NameValuePair> packageParams=new LinkedList<NameValuePair>(); packageParams.add(new BasicNameValuePair("appid", WXConstants.APP_ID)); packageParams.add(new BasicNameValuePair("body", "APP pay test")); packageParams.add(new BasicNameValuePair("mch_id", WXConstants.MCH_ID)); packageParams.add(new BasicNameValuePair("nonce_str", nonceStr)); // 回调 URL 地址,这里是第三方 packageParams.add(new BasicNameValuePair("notify_url", "http:///pay/orderquery"; CheckAsyncTask checkAsyncTask = new CheckAsyncTask(); checkAsyncTask.execute(urlString);private class CheckAsyncTask extends AsyncTask<String,Void, Map<String, String>> { private ProgressDialog dialog; @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); dialog = ProgressDialog.show(PayActivity.this, "提示", "正在查看订单状态!"); } @Override protected Map<String, String> doInBackground(String... params) { // TODO Auto-generated method stub String url=String.format(params[0]); String entity=getProductCheckArgs(); byte[] buf= wxUtils.httpPost(url, entity); String content = new String(buf); Map<String,String> xml=decodeXml(content); // 可以通过 xml.get("trade_state"); 获取订单的状态 return xml; } @Override protected void onPostExecute(Map<String, String> result) { // TODO Auto-generated method stub super.onPostExecute(result); if (dialog != null) { dialog.dismiss(); } } }
以上就是如何在Android App中接入微信支付的详细内容,更多关于在Android App中接入微信支付的资料请关注其它相关文章!