Paytm платежен шлюз java уеб интеграция - jsp проба вътре в извикването на сервлет не работи понякога поради javascript от подаване

Използвам Paytm за интегриране на шлюза за плащане и използвам примерния комплект, който е пример за Внедряване на JSP.

Това, което правя, е да поставя този код в моя сервлет метод, както следва:

int appointmentId = rst_appnt.getInt(1);//unique id 
TreeMap< String, String> parameters = new TreeMap<String, String>();
parameters.put("ORDER_ID", String.valueOf(appointmentId));
parameters.put("CUST_ID", "CUST001");
parameters.put("INDUSTRY_TYPE_ID", "Retail");
parameters.put("CHANNEL_ID", "WEB");
//parameters.put("TXN_AMOUNT", String.valueOf(rst_appnt.getDouble(3)));
parameters.put("TXN_AMOUNT", "10");
parameters.put("MID", "WorldP64425807474247");
parameters.put("CHANNEL_ID", "WEB");
parameters.put("INDUSTRY_TYPE_ID", "Retail");
parameters.put("WEBSITE", "worldpressplg");
parameters.put("MOBILE_NO", "9876543210");
parameters.put("EMAIL", "[email protected]");
parameters.put("CALLBACK_URL", "http://localhost:8080/Test/pgResponse.jsp");
String checkSum = CheckSumServiceHelper.getCheckSumServiceHelper().genrateCheckSum(PaytmConstants.MERCHANT_KEY, parameters);

StringBuilder outputHtml = new StringBuilder();
outputHtml.append("<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>");
outputHtml.append("<html>");
outputHtml.append("<head>");
outputHtml.append("<title>Merchant Check Out Page</title>");
outputHtml.append("</head>");
outputHtml.append("<body>");
outputHtml.append("<center><h1>Please do not refresh this page...</h1></center>");
outputHtml.append("<form method='post' action='https://pguat.paytm.com/oltp-web/processTransaction' name='f1'>");
outputHtml.append("<table border='1'>");
outputHtml.append("<tbody>");

for (Map.Entry<String, String> entry : parameters.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    outputHtml.append("<input type='hidden' name='" + key + "' value='" + value + "'>");
}

outputHtml.append("<input type='hidden' name='CHECKSUMHASH' value='" + checkSum + "'>");

outputHtml.append("</tbody>");
outputHtml.append("</table>");
outputHtml.append("<script type='text/javascript'>");
outputHtml.append("document.f1.submit();");
outputHtml.append("</script>");
outputHtml.append("</form>");

out.print(outputHtml);

Тук се изпраща чрез изпращане на формуляр в JavaScript, както се вижда в кода по-долу:

outputHtml.append("<script type='text/javascript'>");
outputHtml.append("document.f1.submit();");
outputHtml.append("</script>");

Но изглежда, че понякога не изпълнява скрипта вътре в сървлета.

Затова се позовах на пример за Paytm Java.

Но, за съжаление, той няма код за извикване на услуга към Paytm.

Правилно ли се справям, като използвам JavaScript вътре в сървлета, или трябва да използвам Java API вместо примерния JSP комплект?


person Santhucool    schedule 14.07.2016    source източник


Отговори (1)


просто добавяте този синтаксис, но не и задействане. така че го задействайте на документ при зареждане.

outputHtml.append("<script type='text/javascript'>");
                          outputHtml.append("document.onload=document.f1.submit();");
                      outputHtml.append("</script>");

или можете да подадете върху натоварването на тялото.

 <body onload="document.form.submit()">
person Zigri2612    schedule 14.07.2016
comment
В моя случай понякога работи не винаги. Това решава ли проблема завинаги? - person Santhucool; 14.07.2016
comment
да, ако се държи зле, тогава го добавяте към натоварването на тялото, докато го актуализирам - person Zigri2612; 14.07.2016