Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Java by oskar ( 6 years ago )
package com.dwidasa.igate.door.ib;
import java.io.IOException;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
import org.apache.log4j.Logger;
import com.dwidasa.igate.json.JSONException;
import com.dwidasa.igate.json.JSONObject;
import com.dwidasa.igate.model.MProcessor;
import com.dwidasa.igate.service.Message;
import com.dwidasa.igate.service.adapter.Processor;
import com.dwidasa.igate.support.MessageHelper;
import com.dwidasa.igate.utility.Constant;
import com.dwidasa.igate.utility.EncriptionUtil;
public class CardlessWithdrawal implements Processor {
private String mti, ftcd;
private Logger logger = Logger.getLogger(CardlessWithdrawal.class);
@Override
public void setup(MProcessor m) {
String[] filter = m.getRunFilter().split("\\|");
this.mti = filter[0].trim();
this.ftcd = filter[1].trim();
}
@Override
public String getProgram() {
return getClass().getName();
}
@Override
public boolean isExecute(Message Msg) {
logger.info("mti : "+mti);
logger.info("ftcd : "+ftcd);
if (MessageHelper.isNetwork(Msg)) {
return false;
}
if (MessageHelper.isResponse(Msg)) {
if (!Constant.Success.equals(Msg.trb039) && !Constant.RSPC_TIMEOUT.equals(Msg.trb039)) {
logger.info("HOHO is execute false :" + Msg.trb037 + " " + Msg.trb039);
return false;
}
}
if ((mti.indexOf(Constant.Request) != -1) && MessageHelper.isRequest(Msg)) {
if (ftcd.indexOf(Constant.All) != -1) {
return true;
} else if (ftcd.indexOf(Msg.trftcd) != -1) {
return true;
}
} else if ((mti.indexOf(Constant.Response) != -1) && MessageHelper.isResponse(Msg)) {
if (ftcd.indexOf(Constant.All) != -1) {
return true;
} else if (ftcd.indexOf(Msg.trftcd) != -1) {
return true;
}
} else if (mti.indexOf(Msg.trmti) != -1) {
if (ftcd.indexOf(Constant.All) != -1) {
return true;
} else if (ftcd.indexOf(Msg.trftcd) != -1) {
return true;
}
} else if (mti.indexOf(Constant.All) != -1) {
if (ftcd.indexOf(Constant.All) != -1) {
return true;
} else {
return (ftcd.indexOf(Msg.trftcd) != -1);
}
}
return false;
}
@Override
public Message execute(Message Msg) {
logger.info("execute");
logger.info(Msg.rtstyp);
if(Msg.rtstyp.equals("NT")) {
if(MessageHelper.isRequest(Msg) || MessageHelper.isReversal(Msg)) {
logger.info("input json");
String token=Msg.trb048.substring(15);
String phoneNumber=Msg.trb048.substring(0,15).trim();
String nominal="";
String secretKey="abcdef";
try {
String url = "";
if(MessageHelper.isReversal(Msg)) {
logger.info("reversal ^^");
url = "http://172.23.101.200:8081/ib-sulselbar/rest/cashOut/reversalCashOutAtmIgate";
}else {
url = "http://172.23.101.200:8081/ib-sulselbar/rest/cashOut/postingCashOutAtmIgate";
}
JSONObject json = new JSONObject();
json.put("nomor_rekening", "");
json.put("nominal", nominal);
json.put("token", token);
json.put("signature", EncriptionUtil.sha1(token+phoneNumber+secretKey));
json.put("nama", "BSSB");
json.put("no_referensi", Msg.trb037);
json.put("phoneNumber", phoneNumber);
logger.info("request : "+json.toString());
String response = Request.Post(url)
.bodyString(json.toString(), ContentType.APPLICATION_JSON).connectTimeout(15000)
.socketTimeout(15000).execute().returnContent().asString();
logger.info("RESPONSE " + Msg.trb037 + ": " + response);
json = new JSONObject(response);
String responseCode;
responseCode = json.getString("respon_code");
Msg.trb039 = responseCode;
if(responseCode.equals("00")) {
Msg.trb004 = Long.parseLong(json.getString("nominal"))*100;
Msg.trb102 = json.getString("nomor_rekening");
Msg.trrspa = Constant.Approve;
Msg.rtrmod = Constant.Manager;
}else {
Msg.trrspa = Constant.Decline;
}
} catch (JSONException | IOException e) {
// TODO Auto-generated catch block
logger.info("error : "+e);
Msg.trb039 = "04";
Msg.trrspa = Constant.Decline;
}
}
}
return Msg;
}
}
Revise this Paste