⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ccpaymentservices.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            Element currentTotalsElement = UtilXml.firstChildElement(transactionElement, "CurrentTotals");            Element totalsElement = UtilXml.firstChildElement(currentTotalsElement, "Totals");            String authAmountStr = UtilXml.childElementValue(totalsElement, "Total");            result.put("processAmount", new Double(Double.parseDouble(authAmountStr) / 100));        } else {            result.put("authResult", Boolean.valueOf(false));            result.put("processAmount", Double.valueOf("0.00"));        }        result.put("authRefNum", UtilXml.childElementValue(orderFormElement, "Id"));        result.put("authFlag", UtilXml.childElementValue(procResponseElement, "Status"));        result.put("authMessage", UtilXml.childElementValue(procResponseElement, "CcReturnMsg"));        // AVS        String avsCode = UtilXml.childElementValue(procResponseElement, "AvsDisplay");        if (UtilValidate.isNotEmpty(avsCode)) {            result.put("avsCode", avsCode);        }        // Fraud score        Element fraudInfoElement = UtilXml.firstChildElement(orderFormElement, "FraudInfo");        if (fraudInfoElement != null) {            result.put("scoreCode", UtilXml.childElementValue(fraudInfoElement, "TotalScore"));        }        List messages = getMessageList(responseDocument);        if (UtilValidate.isNotEmpty(messages)) {            result.put("internalRespMsgs", messages);        }        return result;    }    private static Map processCreditResponse(Document responseDocument) {        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        Element orderFormElement = UtilXml.firstChildElement(engineDocElement, "OrderFormDoc");        Element transactionElement = UtilXml.firstChildElement(orderFormElement, "Transaction");        Element procResponseElement = UtilXml.firstChildElement(transactionElement, "CardProcResp");        Map result = ServiceUtil.returnSuccess();        String errorCode = UtilXml.childElementValue(procResponseElement, "CcErrCode");        if ("1".equals(errorCode)) {            result.put("creditResult", Boolean.valueOf(true));            result.put("creditCode", UtilXml.childElementValue(transactionElement, "AuthCode"));            Element currentTotalsElement = UtilXml.firstChildElement(transactionElement, "CurrentTotals");            Element totalsElement = UtilXml.firstChildElement(currentTotalsElement, "Totals");            String creditAmountStr = UtilXml.childElementValue(totalsElement, "Total");            result.put("creditAmount", new Double(Double.parseDouble(creditAmountStr) / 100));        } else {            result.put("creditResult", Boolean.valueOf(false));            result.put("creditAmount", Double.valueOf("0.00"));        }        result.put("creditRefNum", UtilXml.childElementValue(orderFormElement, "Id"));        result.put("creditFlag", UtilXml.childElementValue(procResponseElement, "Status"));        result.put("creditMessage", UtilXml.childElementValue(procResponseElement, "CcReturnMsg"));        List messages = getMessageList(responseDocument);        if (UtilValidate.isNotEmpty(messages)) {            result.put("internalRespMsgs", messages);        }        return result;    }    private static Map processCaptureResponse(Document responseDocument) {        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        Element orderFormElement = UtilXml.firstChildElement(engineDocElement, "OrderFormDoc");        Element transactionElement = UtilXml.firstChildElement(orderFormElement, "Transaction");        Element procResponseElement = UtilXml.firstChildElement(transactionElement, "CardProcResp");        Map result = ServiceUtil.returnSuccess();        String errorCode = UtilXml.childElementValue(procResponseElement, "CcErrCode");        if ("1".equals(errorCode)) {            result.put("captureResult", Boolean.valueOf(true));            result.put("captureCode", UtilXml.childElementValue(transactionElement, "AuthCode"));            Element currentTotalsElement = UtilXml.firstChildElement(transactionElement, "CurrentTotals");            Element totalsElement = UtilXml.firstChildElement(currentTotalsElement, "Totals");            String captureAmountStr = UtilXml.childElementValue(totalsElement, "Total");            result.put("captureAmount", new Double(Double.parseDouble(captureAmountStr) / 100));        } else {            result.put("captureResult", Boolean.valueOf(false));            result.put("captureAmount", Double.valueOf("0.00"));        }        result.put("captureRefNum", UtilXml.childElementValue(orderFormElement, "Id"));        result.put("captureFlag", UtilXml.childElementValue(procResponseElement, "Status"));        result.put("captureMessage", UtilXml.childElementValue(procResponseElement, "CcReturnMsg"));        List messages = getMessageList(responseDocument);        if (UtilValidate.isNotEmpty(messages)) {            result.put("internalRespMsgs", messages);        }        return result;    }    private static Map processReleaseResponse(Document responseDocument) {        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        Element orderFormElement = UtilXml.firstChildElement(engineDocElement, "OrderFormDoc");        Element transactionElement = UtilXml.firstChildElement(orderFormElement, "Transaction");        Element procResponseElement = UtilXml.firstChildElement(transactionElement, "CardProcResp");        Map result = ServiceUtil.returnSuccess();        String errorCode = UtilXml.childElementValue(procResponseElement, "CcErrCode");        if ("1".equals(errorCode)) {            result.put("releaseResult", Boolean.valueOf(true));            result.put("releaseCode", UtilXml.childElementValue(transactionElement, "AuthCode"));            Element currentTotalsElement = UtilXml.firstChildElement(transactionElement, "CurrentTotals");            Element totalsElement = UtilXml.firstChildElement(currentTotalsElement, "Totals");            String releaseAmountStr = UtilXml.childElementValue(totalsElement, "Total");            result.put("releaseAmount", new Double(Double.parseDouble(releaseAmountStr) / 100));        } else {            result.put("releaseResult", Boolean.valueOf(false));            result.put("releaseAmount", Double.valueOf("0.00"));        }        result.put("releaseRefNum", UtilXml.childElementValue(orderFormElement, "Id"));        result.put("releaseFlag", UtilXml.childElementValue(procResponseElement, "Status"));        result.put("releaseMessage", UtilXml.childElementValue(procResponseElement, "CcReturnMsg"));        List messages = getMessageList(responseDocument);        if (UtilValidate.isNotEmpty(messages)) {            result.put("internalRespMsgs", messages);        }        return result;    }    private static Map processRefundResponse(Document responseDocument) {        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        Element orderFormElement = UtilXml.firstChildElement(engineDocElement, "OrderFormDoc");        Element transactionElement = UtilXml.firstChildElement(orderFormElement, "Transaction");        Element procResponseElement = UtilXml.firstChildElement(transactionElement, "CardProcResp");        Map result = ServiceUtil.returnSuccess();        String errorCode = UtilXml.childElementValue(procResponseElement, "CcErrCode");        if ("1".equals(errorCode)) {            result.put("refundResult", Boolean.valueOf(true));            result.put("refundCode", UtilXml.childElementValue(transactionElement, "AuthCode"));            Element currentTotalsElement = UtilXml.firstChildElement(transactionElement, "CurrentTotals");            Element totalsElement = UtilXml.firstChildElement(currentTotalsElement, "Totals");            String refundAmountStr = UtilXml.childElementValue(totalsElement, "Total");            result.put("refundAmount", new Double(Double.parseDouble(refundAmountStr) / 100));        } else {            result.put("refundResult", Boolean.valueOf(false));            result.put("refundAmount", Double.valueOf("0.00"));        }        result.put("refundRefNum", UtilXml.childElementValue(orderFormElement, "Id"));        result.put("refundFlag", UtilXml.childElementValue(procResponseElement, "Status"));        result.put("refundMessage", UtilXml.childElementValue(procResponseElement, "CcReturnMsg"));        List messages = getMessageList(responseDocument);        if (UtilValidate.isNotEmpty(messages)) {            result.put("internalRespMsgs", messages);        }        return result;    }    private static Map processReAuthResponse(Document responseDocument) {        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        Element orderFormElement = UtilXml.firstChildElement(engineDocElement, "OrderFormDoc");        Element transactionElement = UtilXml.firstChildElement(orderFormElement, "Transaction");        Element procResponseElement = UtilXml.firstChildElement(transactionElement, "CardProcResp");        Map result = ServiceUtil.returnSuccess();        String errorCode = UtilXml.childElementValue(procResponseElement, "CcErrCode");        if ("1".equals(errorCode)) {            result.put("reauthResult", Boolean.valueOf(true));            result.put("reauthCode", UtilXml.childElementValue(transactionElement, "AuthCode"));            Element currentTotalsElement = UtilXml.firstChildElement(transactionElement, "CurrentTotals");            Element totalsElement = UtilXml.firstChildElement(currentTotalsElement, "Totals");            String reauthAmountStr = UtilXml.childElementValue(totalsElement, "Total");            result.put("reauthAmount", new Double(Double.parseDouble(reauthAmountStr) / 100));        } else {            result.put("reauthResult", Boolean.valueOf(false));            result.put("reauthAmount", Double.valueOf("0.00"));        }        result.put("reauthRefNum", UtilXml.childElementValue(orderFormElement, "Id"));        result.put("reauthFlag", UtilXml.childElementValue(procResponseElement, "Status"));        result.put("reauthMessage", UtilXml.childElementValue(procResponseElement, "CcReturnMsg"));        List messages = getMessageList(responseDocument);        if (UtilValidate.isNotEmpty(messages)) {            result.put("internalRespMsgs", messages);        }        return result;    }    private static List getMessageList(Document responseDocument) {        List messageList = new ArrayList();        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        Element messageListElement = UtilXml.firstChildElement(engineDocElement, "MessageList");        List messageElementList = UtilXml.childElementList(messageListElement, "Message");        if (UtilValidate.isNotEmpty(messageElementList)) {            for (Iterator i = messageElementList.iterator(); i.hasNext();) {                Element messageElement = (Element) i.next();                int severity = 0;                try {                    severity = Integer.parseInt(UtilXml.childElementValue(messageElement, "Sev"));                } catch (NumberFormatException nfe) {                    Debug.logError("Error parsing message severity: " + nfe.getMessage(), module);                    severity = 9;                }                String message = "[" + UtilXml.childElementValue(messageElement, "Audience") + "] " +                        UtilXml.childElementValue(messageElement, "Text") + " (" + severity + ")";                messageList.add(message);            }        }        return messageList;    }    private static int getMessageListMaxSev(Document responseDocument) {        int maxSev = 0;        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        Element messageListElement = UtilXml.firstChildElement(engineDocElement, "MessageList");        String maxSevStr = UtilXml.childElementValue(messageListElement, "MaxSev");        if (UtilValidate.isNotEmpty(maxSevStr)) {            try {                maxSev = Integer.parseInt(maxSevStr);            } catch (NumberFormatException nfe) {                Debug.logError("Error parsing MaxSev: " + nfe.getMessage(), module);                maxSev = 9;            }        }        return maxSev;    }    private static String getReferenceNum(Document responseDocument) {        String referenceNum = null;        Element engineDocElement = UtilXml.firstChildElement(responseDocument.getDocumentElement(), "EngineDoc");        if (engineDocElement != null) {            Element orderFormElement = UtilXml.firstChildElement(engineDocElement, "OrderFormDoc");            if (orderFormElement != null) {                referenceNum = UtilXml.childElementValue(orderFormElement, "Id");            }        }        return referenceNum;    }    private static Document buildPrimaryTxRequest(Map context, String type, Double amount, String refNum) {        String paymentConfig = (String) context.get("paymentConfig");        if (UtilValidate.isEmpty(paymentConfig)) {            paymentConfig = "payment.properties";        }        Document requestDocument = createRequestDocument(paymentConfig);        Element engineDocElement = UtilXml.firstChildElement(requestDocument.getDocumentElement(), "EngineDoc");        Element orderFormDocElement = UtilXml.firstChildElement(engineDocElement, "OrderFormDoc");        // add the reference number as a comment        UtilXml.addChildElementValue(orderFormDocElement, "Comments", refNum, requestDocument);        Element consumerElement = UtilXml.addChildElement(orderFormDocElement, "Consumer", requestDocument);        // email address        GenericValue billToEmail = (GenericValue) context.get("billToEmail");        if (billToEmail != null) {            UtilXml.addChildElementValue(consumerElement, "Email", billToEmail.getString("infoString"), requestDocument);        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -