android - Java.io.FileNotFoundException "URL" -
i'm trying create , android app can pay through credit card using master card api. i' following tutorial ->>https://developer.mastercard.com/portal/pages/viewpage.action?pageid=14876685 says url not found.
this codes used:
public class mainactivity extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); strictmode.threadpolicy policy = new strictmode.threadpolicy.builder().permitall().build(); strictmode.setthreadpolicy(policy); ((button) findviewbyid(r.id.submit)).setonclicklistener(new view.onclicklistener() { public void onclick(view v) { // todo auto-generated method stub context context = getapplicationcontext(); string endpoint = "https://api.mastercard.com/payments/v1/purchase?format=xml"; edittext cardnumberinput = (edittext) findviewbyid(r.id.cardnumberinput); edittext expirationmonthinput = (edittext) findviewbyid(r.id.expirationmonthinput); edittext expirationyearinput = (edittext) findviewbyid(r.id.expirationyearinput); edittext cvvinput = (edittext) findviewbyid(r.id.cvvinput); edittext cardholdernameinput = (edittext) findviewbyid(r.id.cardholdernameinput); edittext amountinput = (edittext) findviewbyid(r.id.amountinput); final double amount = float.valueof(amountinput.gettext().tostring()); final string currency = "usd"; final string companyid = "comid"; final string companypassword = "compass"; final string messageid = "001"; final string settlementid = "011"; final string cardholdername = cardholdernameinput.gettext().tostring(); final string accountnumber = cardnumberinput.gettext().tostring(); final string expirymonth = expirationmonthinput.gettext().tostring(); final string expiryyear = expirationyearinput.gettext().tostring(); final string securitycode = cvvinput.gettext().tostring(); try { // send data url url = new url(endpoint); urlconnection conn = url.openconnection(); conn.setdooutput(true); conn.setdoinput(true); outputstreamwriter request = new outputstreamwriter(conn.getoutputstream()); // create xml post request.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); request.append("<purchaserequest>"); request.append("<merchantidentity>"); request.append("<companyid>"); request.append(companyid); request.append("</companyid>"); request.append("<companypassword>"); request.append(companypassword); request.append("</companypassword>"); request.append("</merchantidentity>"); request.append("<reference>"); request.append("<messageid>"); request.append(messageid); request.append("</messageid>"); request.append("<settlementid>"); request.append(settlementid); request.append("</settlementid>"); request.append("</reference>"); request.append("<amount>"); request.append("<currency>"); request.append(currency); request.append("</currency>"); request.append("<value>"); request.append(double.tostring(amount)); request.append("</value>"); request.append("</amount>"); request.append("<fundingcard>"); request.append("<cardholdername>"); request.append(cardholdername); request.append("</cardholdername>"); request.append("<accountnumber>"); request.append(accountnumber); request.append("</accountnumber>"); request.append("<expirymonth>"); request.append(expirymonth); request.append("</expirymonth>"); request.append("<expiryyear>"); request.append(expiryyear); request.append("</expiryyear>"); request.append("<securitycode>"); request.append(securitycode); request.append("</securitycode>"); request.append("</fundingcard>"); request.append("</purchaserequest>"); request.flush(); documentbuilderfactory docbuilderfactory = documentbuilderfactory.newinstance(); documentbuilder docbuilder = docbuilderfactory.newdocumentbuilder(); document doc = docbuilder.parse(conn.getinputstream()); node transactionresponsenode = doc.getelementsbytagname("transactionresponse").item(0); // test approval. string response = transactionresponsenode.getnodevalue().trim().touppercase(); log.d("**********response", ""+response); if (response.equals("approved") == true) { request.close(); string text = "the payment processed successfully. php" + amountinput.gettext().tostring() + " charged account."; toast toast = toast.maketext(context, text, toast.length_long); toast.show(); } else if (response.equals("declined")) { string text = "the payment declined."; toast toast = toast.maketext(context, text, toast.length_long); toast.show(); } else if (response.equals("error")) { string text = "error processing payment."; toast toast = toast.maketext(context, text, toast.length_long); toast.show(); } } catch (malformedurlexception e) { string text = "error"; toast toast = toast.maketext(context, ""+e, toast.length_long); toast.show(); } catch (ioexception e) { string text = "error"; toast toast = toast.maketext(context, ""+e, toast.length_long); toast.show(); } catch (parserconfigurationexception e) { string text = "error"; toast toast = toast.maketext(context, ""+e, toast.length_long); toast.show(); } catch (saxexception e) { string text = "error"; toast toast = toast.maketext(context, ""+e, toast.length_long); toast.show(); } } }); } } any thoughts me lot. thanks.
this log cat says:
05-22 11:20:58.129: d/**********error2(1424): java.io.filenotfoundexception: https://api.mastercard.com/payments/v3/purchase?format=xml
- better ui work on ui thread, , non-ui work on non-ui thread, android's honeycomb version law.
- network call using background thread.
- either use thread network call , put data on ui thead using handler or use called painless threading in android, asynctask.
Comments
Post a Comment