如何在我的应用程序中集成ATOM付款网关? [英] How do I integrate the ATOM payment gateway in my app?
问题描述
我是Android的新手.
我想知道如何在应用程序中集成 ATOM支付网关移动结帐页面?
I am new to Android.
I want to know how can I integrate the ATOM payment gateway mobile checkout page in my application?
我想要它,以便用户应填写他的信用卡详细信息并在线付款.
I want it so that the user should fill his credit card details and pay on-line.
如果我使用其他付款网关(例如Paytm或Payu),它们会提供SDK,但Atom不会提供
If I use other payment gateways, like Paytm or Payu they provide an SDK, but Atom doesn't
任何帮助将不胜感激
推荐答案
更新:Android SDK现在由ATOM Payment网关提供.
Update: Android SDK is now provided by ATOM Payment gateway.Click this to get the SDK for various platform.
常用方法
在付款按钮点击
private class StartPayment extends AsyncTask<String, Void, String> {
String Atom2Request;
@Override
protected String doInBackground(String... params) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String CurrDateTime = sdf.format(new Date()).toString();
vVenderURL = "https://paynetzuat.atomtech.in/paynetz/epi/fts?login=160&pass=Test@123&ttype=NBFundTransfer&prodid=NSE&amt=50&txncurr=INR&txnscamt=0&clientcode=TkFWSU4%3d&txnid=123&date=03/07/2015&custacc=1234567890&udf1=Customer&udf2=rajtufan@gmail.com&udf3=8485835654&udf4=pune&ru=http://example.webservice/response.aspx?";
Log.d("Vvendor URL", vVenderURL);
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(vVenderURL); // getting XML
Document doc = parser.getXMLElement(xml); // getting DOM element
Log.d("XML URL", xml);
NodeList nList = doc.getElementsByTagName(KEY_RESPONSE);
for (int tempN = 0; tempN < nList.getLength(); tempN++) {
Node nNode = nList.item(tempN);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("URL : " + eElement.getElementsByTagName("url").item(0).getChildNodes().item(0).getNodeValue());
xmlURL = eElement.getElementsByTagName("url").item(0).getChildNodes().item(0).getNodeValue();
NodeList aList = eElement.getElementsByTagName("param");
String vParamName;
for (int atrCnt = 0; atrCnt < aList.getLength(); atrCnt++) {
vParamName = aList.item(atrCnt).getAttributes().getNamedItem("name").getNodeValue();
System.out.println("<br>paramName : : " + vParamName);
if (vParamName.equals("ttype")) {
xmlttype = aList.item(atrCnt).getChildNodes().item(0).getNodeValue();
} else if (vParamName.equals("tempTxnId")) {
xmltempTxnId = aList.item(atrCnt).getChildNodes().item(0).getNodeValue();
} else if (vParamName.equals("token")) {
xmltoken = aList.item(atrCnt).getChildNodes().item(0).getNodeValue();
} else if (vParamName.equals("txnStage")) {
xmltxnStage = aList.item(atrCnt).getChildNodes().item(0).getNodeValue();
}
}
Log.d("XML URL", xmlURL);
Log.d("XML TRANS TYPE", xmlttype);
Log.d("tempTxnId : ", xmltempTxnId);
Log.d("param : token :", xmltoken);
Log.d("param : txnStage : ", xmltxnStage);
}
}//for
Atom2Request = xmlURL + "?ttype=" + xmlttype + "&tempTxnId=" + xmltempTxnId + "&token=" + xmltoken + "&txnStage=" + xmltxnStage;
Atom2Request = Atom2Request.replace(" ", "%20");
Log.d("ATOM 2nd Request URl", Atom2Request);
return Atom2Request;
}
@Override
protected void onPostExecute(String result) {
if (pDialog != null) {
pDialog.dismiss();
Intent intent = new Intent(Recharge_Activity.this, WebContent.class);
intent.putExtra(KEY_ATOM2REQUEST, result);
startActivityForResult(intent, 3);
}
}
@Override
protected void onPreExecute() {
pDialog.setMessage("Processing Request...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
super.onPreExecute();
}
}
当我们收到网页的回复时,我们已形成网址并转移到
when we got response from web page we have form a url and transfer to
WebContent.class
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebContent extends Activity {
private static final String TAG = "WebContent";
SharedPreferences sp;
static Context mContext;
public static final String KEY_ATOM2REQUEST = "Atom2Request";
String Atom2Request;
Intent intent;
boolean loadingFinished = true;
boolean redirect = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webviewrecharge);
// Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));
mContext = this;
Bundle extras = getIntent().getExtras();
if (extras != null)
Atom2Request = extras.getString(KEY_ATOM2REQUEST);
Log.d("ATOM2Request webview", Atom2Request);
WebView webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
webView.loadUrl(Atom2Request);
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
if (!loadingFinished) {
redirect = true;
}
loadingFinished = false;
view.loadUrl(urlNewString);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap facIcon) {
loadingFinished = false;
//SHOW LOADING IF IT ISNT ALREADY VISIBLE
Log.w(TAG, "Loading");
}
@Override
public void onPageFinished(WebView view, String url) {
if (!redirect) {
loadingFinished = true;
}
if (loadingFinished && !redirect) {
//HIDE LOADING IT HAS FINISHED
Log.w(TAG, "Finish Loading");
} else {
redirect = false;
}
}
}
public class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void onResponse(String reponseText) {
Intent returnIntent = new Intent();
returnIntent.putExtra("Result", reponseText);
setResult(RESULT_OK, returnIntent);
finish();
}
}
}
//在 vVendorURl 中,您需要一个重定向网址才能从 ATOM 获取请求并将响应发送到 android移动>
//in vVendorURl you need a redirect url to fetch request from ATOM and send response to android Mobile
只需将此代码放在重定向网址
//reponseText是从ATOM改正的文本,表示是"或否"
//reponseText is text recevied frm ATOM that is Okay or No
在vVendorUrl中,您必须传递返回网址..在服务器中创建一个页面..并将此 java脚本代码放入网址中.
in vVendorUrl you have to pass a return url..make a page in server ..and put this java script code inside url.
<script type="text/javascript">
function showAndroidToast(reponseText) {
Android.onResponse(reponseText);
}
这篇关于如何在我的应用程序中集成ATOM付款网关?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!