我正在尝试在Android中实现支付网关,并且支付处理器需要在" Pay"单击按钮。示例链接是:
https://vpay.com/?p=linkToken&v_merchant_id=qa331322179752&merchant_ref=234-567-890&memo=Bulk+order+from+McAckney+Web+Shop&total=13000& notify_url = HTTP%3A%2F%2Fwww.example.com%2Fnotification.php&安培; success_url = HTTP%3A%2F%2Fwww.example.com%2Fthank_you.html&安培; fail_url = HTTP%3A%2F%2Fwww.example.com%2Ffailed.html
现在,如果参数输入正确,该链接将返回格式为https://vpay.com/pay/bnlink/xxxxxxxx-x0的另一个链接,访问时会根据提供的参数显示可用于付款的VPay付款页面。
支付处理器应该在生成新链接时使用自动重定向,而只是显示新链接并保留在那里。有没有办法让这个新的"返回"链接然后访问它,以便用户输入付款信息。
谢谢!
答案 0 :(得分:0)
如果您在活动中使用自己的网页视图或付费内容片段,则可以使用以下Webview方法。下面是一段有用的代码:
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i(TAG, "Processing webview url click...");
view.loadUrl(url);
Log.v(TAG,"html content of url:"+ getHtml(String url) );
return true;
}
public void onPageFinished(WebView view, String url) {
Log.i(TAG, "Finished loading URL: " +url);
}
});
<\ n>在shouldOverrideUrlLoading方法中,您将根据网址添加条件是否在webview中加载此网址。
要获取网址的html内容,请使用以下方法:
public String getHtml(String url) {
HttpClient vClient = new DefaultHttpClient();
HttpGet vGet = new HttpGet(url);
String response = "";
try {
ResponseHandler<String> vHandler = new BasicResponseHandler();
response = vClient.execute(vGet, vHandler);
} catch (Exception e) {
e.printStackTrace();
}
return response;
}