Używam bramki płatności w mojej aplikacji na Androida. Korzystam z podglądu strony internetowej, aby załadować stronę płatności. Przekazałem przekierowanie do bramki płatności, do której przekierowanie zostanie przekierowane po potwierdzeniu płatności. Potwierdzenie z banku (sukces/niepowodzenie) zostanie przesłane z powrotem do tego adresu URL. Mogę przekierować moją stronę internetową do tego adresu URL, aby pokazać klientowi, że transakcja się powiodła. Muszę pobrać dane POST, które są wysyłane do przekierowania. Muszę złożyć zamówienie w mojej aplikacji, jeśli transakcja się powiedzie. Obecnie robię to, sprawdzam adres URL przekierowania, czy ma to na celu pomyślną transakcję. Chciałbym wiedzieć, czy istnieje jakakolwiek inna metoda, za pomocą której mogę sprawdzić status mojej transakcji? Oto mój kod,Otrzymuj dane POST z Android Webview
mWebview = (WebView)findViewById(R.id.webView1);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
mWebview.getSettings().setAppCacheEnabled(false);
mWebview.getSettings().setLoadWithOverviewMode(true);
mWebview.getSettings().setUseWideViewPort(true);
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
pd.show();
}
@Override
public void onPageFinished(WebView view, String url) {
pd.dismiss();
String webUrl = mWebview.getUrl();
Log.i("RETURN URL", "RETURN URL IS "+webUrl);
if(url.equals("http://www.mydomain.in/trxn_complete")) //This is my method.But I think its ugly one
{
AlertDialog alertDialog = new AlertDialog.Builder(OnlinePaymentActivity.this).create();
alertDialog.setMessage("Transaction successful.Press OK to continue");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Add your code for the button here.
//Transaction success, So place order
new Orderitems(OnlinePaymentActivity.this).execute();
}
});
alertDialog.show();
}
}
});
mWebview .loadUrl("http://263.134.260.173/gateway/epi/fts?ttype="+type+"&tempTxnId="+tempTxnId+"&token="+token+"&txnStage="+txnStage);
}
Czy rozwiązać swój problem? –