Android(安卓)京东支付
16lz
2021-01-25
import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.webkit.JavascriptInterface;import android.webkit.WebChromeClient;import android.webkit.WebView;import android.webkit.WebViewClient;import com.commons.CallBack;import com.geluyawangluo.withthenight.YiYuanMainActivity;import com.geluyawangluo.withthenight.tool.ScreenManagerFour;import com.geluyawangluo.withthenight.yiyuanyiz.JdPay;import com.geluyawangluo.withthenight.yiz.OrderYiz;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.RequestParams;import com.te33.yelaiban.R;import org.json.JSONObject;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.HashMap;/** * Created by Administrator on 2016/5/24. */public class JDPayWeb extends Activity{ private WebView webView; private JdPay jdPay; private OrderYiz orderYiz; private String id=""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_jdpayweb); ScreenManagerFour.getInstance().addActivity(this); jdPay=new JdPay(this); orderYiz=new OrderYiz(this); webView=(WebView)findViewById(R.id.web); Intent intent=this.getIntent(); if(intent!=null){ id=intent.getStringExtra("id"); jDPayCanShu(); } } //获取京东支付需要的参数 public void jDPayCanShu(){ orderYiz.getJdPayCanShu(id ,new CallBack() { @Override public void run(boolean isError, JSONObject jsonObject) { if(isError){ return; } if(jsonObject.optString("success").equals("1")){ HashMap map=new HashMap (); JSONObject datas=jsonObject.optJSONObject("data");
map.put("currency",datas.optString("currency"));
map.put("failCallbackUrl",datas.optString("failCallbackUrl")); map.put("merchantNum",datas.optString("merchantNum")); map.put("merchantRemark",datas.optString("merchantRemark")); map.put("merchantSign",datas.optString("merchantSign")); map.put("notifyUrl",datas.optString("notifyUrl")); map.put("successCallbackUrl",datas.optString("successCallbackUrl")); map.put("token",datas.optString("token")); map.put("tradeAmount",datas.optString("tradeAmount")); map.put("tradeDescription",datas.optString("tradeDescription")); map.put("tradeNum",datas.optString("tradeNum")); map.put("tradeName",datas.optString("tradeName")); map.put("tradeTime",datas.optString("tradeTime")); map.put("version",datas.optString("version")); loginByAsyncHttpClientPost(map); } } }); } public void loginByAsyncHttpClientPost(HashMapmap) { RequestParams params = new RequestParams();
//京东支付需要的参数params.put( "successCallbackUrl", getStr(map.get( "successCallbackUrl"))); params.put( "tradeDescription", getStr(map.get( "tradeDescription"))); params.put( "tradeTime", getStr(map.get( "tradeTime"))); params.put( "tradeNum", getStr(map.get( "tradeNum"))); params.put( "tradeName", getStr(map.get( "tradeName"))); params.put( "merchantRemark", getStr(map.get( "merchantRemark"))); params.put( "version", getStr(map.get( "version"))); params.put( "currency", getStr(map.get( "currency"))); params.put( "merchantSign", getStr(map.get( "merchantSign"))); params.put( "token", getStr(map.get( "token"))); params.put( "tradeAmount", getStr(map.get( "tradeAmount"))); params.put( "notifyUrl", getStr(map.get( "notifyUrl"))); params.put( "merchantNum", getStr(map.get( "merchantNum"))); params.put( "failCallbackUrl", getStr(map.get( "failCallbackUrl"))); getRutl(params.toString()); }//处理京东支付的参数,不经过这一步无法请求 public String getStr(String str){ String postData= ""; try { postData = URLEncoder. encode(str.toString(), "utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return postData;}//请求京东支付 public void getRutl( String str){ webView.setWebChromeClient( new WebChromeClient()); webView.setWebViewClient( new WebViewClient()); webView.getSettings().setJavaScriptEnabled( true);
//京东支付网址 webView.postUrl("https://m.jdpay.com/wepay/web/pay",str.getBytes()); webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { String str=url; super.onPageFinished(view, url); } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } }); } }
更多相关文章
- 漫谈Android网络编程
- 单例模式之传递Context参数
- Android(安卓)GPRS的自动打开与关闭
- Android压力测试之Monkey
- Build Android(安卓)Project with Gradle
- 初涉Android之数据库数据列表显示
- Ubuntu下android studio如何使用ndk-build的so库
- android 软件参数设置的保存和读取 附源码
- Android中使用Post请求的方法