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

📄 handle.cpre

📁 商业银行前置系统
💻 CPRE
📖 第 1 页 / 共 5 页
字号:
            return EXCEPTION;        }    }    else if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION))    {        VERIFY_NORMAL(SetMac(piso8583stru, cKey));        DeleteXml(&xmlstruReq);        DeleteXml(&xmlstruResp);         return EXCEPTION;    }    else    {        VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetMac(piso8583stru, cKey));    }        DeleteXml(&xmlstruReq);    DeleteXml(&xmlstruResp);     return NORMAL;}RESULT HandleAuthSettle(PISO8583STRU piso8583stru){    XMLSTRU xmlstruReq;    XMLSTRU xmlstruResp;    PXMLSTRU pxmlstruReq;    PXMLSTRU pxmlstruResp;    UCHAR cKey[SIZE_KEY];    pxmlstruReq = &xmlstruReq;    pxmlstruResp = &xmlstruResp;    memset(&xmlstruReq, 0, sizeof(xmlstruReq));    memset(&xmlstruResp, 0, sizeof(xmlstruResp));        ASSURE_NORMAL(CheckBatchNo(piso8583stru))    ASSURE_NORMAL(GetKey(piso8583stru, cKey))    ASSURE_NORMAL(VerifyMac(piso8583stru, cKey))        ASSURE_NORMAL(CreateReqXml(&xmlstruReq))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_SUBMITREQ))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE, AP_TRANSCODE_CS_AUTHSETTLE))    ASSURE_NORMAL(GetReqDateTime(&xmlstruReq))    ASSURE_NORMAL(GetReqId(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetReqSeqNoExt(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetAccNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetAccPwd(piso8583stru, &xmlstruReq, cKey))    ASSURE_NORMAL(GetBatchNoExt(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetVouchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetOrgAuthCode(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetMerchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetExpDate(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetAmt(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "N"))        if (IsEntryMode(piso8583stru, "021") || IsEntryMode(piso8583stru, "022"))    {        UpdateInXmlExt(&xmlstruReq, AP_PATH_TRACKVERIFY, "Y");                ASSURE_NORMAL(GetTrack2(piso8583stru, &xmlstruReq))        ASSURE_NORMAL(GetTrack3(piso8583stru, &xmlstruReq))    }    ASSURE_NORMAL(RecordJournal(&xmlstruReq))    ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp))    VERIFY_NORMAL(UpdatePos(piso8583stru, &xmlstruResp));    SetBitInIso8583(piso8583stru, BIT_AMT, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_EXPDATE, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_ENTRYMODE, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_NII, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_TRACK2, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_TRACK3, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_ORGAUTHCODE, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_PIN, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_OPERATOR, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_VOUCHNOBATCHNO, NULL, 0);    VERIFY_NORMAL(SetCertNo(piso8583stru, &xmlstruResp));    VERIFY_NORMAL(SetAuthCode(piso8583stru, &xmlstruResp));    VERIFY_NORMAL(SetBal(piso8583stru, &xmlstruResp));    if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT))    {        if (!VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetMac(piso8583stru, cKey)))        {            DeleteXml(&xmlstruReq);            DeleteXml(&xmlstruResp);             return EXCEPTION;        }    }    else if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION))    {        VERIFY_NORMAL(SetMac(piso8583stru, cKey));        DeleteXml(&xmlstruReq);        DeleteXml(&xmlstruResp);         return EXCEPTION;    }    else    {        VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetMac(piso8583stru, cKey));    }        DeleteXml(&xmlstruReq);    DeleteXml(&xmlstruResp);     return NORMAL;}RESULT HandleCancel(PISO8583STRU piso8583stru){    XMLSTRU xmlstruReq;    XMLSTRU xmlstruResp;    PXMLSTRU pxmlstruReq;    PXMLSTRU pxmlstruResp;    UCHAR cKey[SIZE_KEY];    pxmlstruReq = &xmlstruReq;    pxmlstruResp = &xmlstruResp;    memset(&xmlstruReq, 0, sizeof(xmlstruReq));    memset(&xmlstruResp, 0, sizeof(xmlstruResp));        ASSURE_NORMAL(CheckBatchNo(piso8583stru))    ASSURE_NORMAL(GetKey(piso8583stru, cKey))    ASSURE_NORMAL(VerifyMac(piso8583stru, cKey))        ASSURE_NORMAL(CreateReqXml(&xmlstruReq))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_SUBMITREQ))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE, AP_TRANSCODE_CS_CANCEL))    ASSURE_NORMAL(GetReqDateTime(&xmlstruReq))    ASSURE_NORMAL(GetReqId(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetReqSeqNoExt(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetAccNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetBatchNoExt(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetVouchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetMerchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetOrgVouchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetExpDate(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetAmt(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "N"))        if (IsEntryMode(piso8583stru, "021") || IsEntryMode(piso8583stru, "022"))    {        UpdateInXmlExt(&xmlstruReq, AP_PATH_TRACKVERIFY, "Y");                ASSURE_NORMAL(GetTrack2(piso8583stru, &xmlstruReq))        ASSURE_NORMAL(GetTrack3(piso8583stru, &xmlstruReq))    }    ASSURE_NORMAL(RecordJournal(&xmlstruReq))    ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp))    VERIFY_NORMAL(UpdatePos(piso8583stru, &xmlstruResp));    SetBitInIso8583(piso8583stru, BIT_AMT, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_EXPDATE, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_ENTRYMODE, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_NII, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_TRACK2, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_TRACK3, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_FUNDTYPE, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_PIN, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_OPERATOR, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_ORGVOUCHNO, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_VOUCHNOBATCHNO, NULL, 0);    VERIFY_NORMAL(SetCertNo(piso8583stru, &xmlstruResp));    VERIFY_NORMAL(SetAuthCode(piso8583stru, &xmlstruResp));    VERIFY_NORMAL(SetBal(piso8583stru, &xmlstruResp));    if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT))    {        if (!VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetMac(piso8583stru, cKey)))        {            DeleteXml(&xmlstruReq);            DeleteXml(&xmlstruResp);             return EXCEPTION;        }    }    else if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION))    {        VERIFY_NORMAL(SetMac(piso8583stru, cKey));        DeleteXml(&xmlstruReq);        DeleteXml(&xmlstruResp);         return EXCEPTION;    }    else    {        VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetMac(piso8583stru, cKey));    }        DeleteXml(&xmlstruReq);    DeleteXml(&xmlstruResp);     return NORMAL;}RESULT HandleReverse(PISO8583STRU piso8583stru){    XMLSTRU xmlstruReq;    XMLSTRU xmlstruResp;    PXMLSTRU pxmlstruReq;    PXMLSTRU pxmlstruResp;    char szTransCode[AP_LEN_TRANSCODE + 1];    UCHAR cKey[SIZE_KEY];    pxmlstruReq = &xmlstruReq;    pxmlstruResp = &xmlstruResp;    memset(&xmlstruReq, 0, sizeof(xmlstruReq));    memset(&xmlstruResp, 0, sizeof(xmlstruResp));    ASSURE_NORMAL(CheckBatchNo(piso8583stru))    ASSURE_NORMAL(GetKey(piso8583stru, cKey))    ASSURE_NORMAL(VerifyMac(piso8583stru, cKey))        ASSURE_NORMAL(CreateReqXml(&xmlstruReq))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_CANCELREQ))    bufclr(szTransCode);    ASSERT_NORMAL(GetTransCodeInReverse(piso8583stru, szTransCode));    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE, szTransCode));    ASSURE_NORMAL(GetReqDateTime(&xmlstruReq))    ASSURE_NORMAL(GetReqId(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetReqSeqNoInReverse(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetAccNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetBatchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetMerchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "N"))        ASSURE_NORMAL(RecordJournal(&xmlstruReq))    ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp))    VERIFY_NORMAL(UpdatePos(piso8583stru, &xmlstruResp));    SetBitInIso8583(piso8583stru, BIT_NII, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_OPERATOR, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_ORGTRACE, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_VOUCHNOBATCHNO, NULL, 0);    if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT))    {        if (!VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetMac(piso8583stru, cKey)))        {            DeleteXml(&xmlstruReq);            DeleteXml(&xmlstruResp);             return EXCEPTION;        }    }    else if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION))    {        VERIFY_NORMAL(SetMac(piso8583stru, cKey));        DeleteXml(&xmlstruReq);        DeleteXml(&xmlstruResp);         return EXCEPTION;    }    else    {        VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetMac(piso8583stru, cKey));    }        DeleteXml(&xmlstruReq);    DeleteXml(&xmlstruResp);     return NORMAL;}RESULT HandleAdjust(PISO8583STRU piso8583stru){    return NORMAL;}RESULT HandleSettle(PISO8583STRU piso8583stru){    XMLSTRU xmlstruReq;    XMLSTRU xmlstruResp;    PXMLSTRU pxmlstruReq;    PXMLSTRU pxmlstruResp;    UCHAR cKey[SIZE_KEY];    pxmlstruReq = &xmlstruReq;    pxmlstruResp = &xmlstruResp;    memset(&xmlstruReq, 0, sizeof(xmlstruReq));    memset(&xmlstruResp, 0, sizeof(xmlstruResp));        ASSURE_NORMAL(CheckBatchNo(piso8583stru))    ASSURE_NORMAL(GetKey(piso8583stru, cKey))    ASSURE_NORMAL(VerifyMac(piso8583stru, cKey))        ASSURE_NORMAL(CreateReqXml(&xmlstruReq))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_SUBMITREQ))    ASSURE_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE, AP_TRANSCODE_CS_SETTLE))    ASSURE_NORMAL(GetReqDateTime(&xmlstruReq))    ASSURE_NORMAL(GetReqId(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetReqSeqNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetBatchNo(piso8583stru, &xmlstruReq))    ASSURE_NORMAL(GetSettle(piso8583stru, &xmlstruReq))        ASSURE_NORMAL(RecordJournal(&xmlstruReq))    ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp))    VERIFY_NORMAL(UpdatePos(piso8583stru, &xmlstruResp));    if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_SETTLE_NOTEQUAL))        ASSURE_NORMAL(WriteTitleInUpload(piso8583stru))    SetBitInIso8583(piso8583stru, BIT_NII, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_OPERATOR, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_SETTLEDATA, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_BATCHNO, NULL, 0);    if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT))    {        if (!VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp)) ||            !VERIFY_NORMAL(SetMac(piso8583stru, cKey)))        {            DeleteXml(&xmlstruReq);            DeleteXml(&xmlstruResp);             return EXCEPTION;        }    }    else if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION))    {        VERIFY_NORMAL(SetMac(piso8583stru, cKey));        DeleteXml(&xmlstruReq);        DeleteXml(&xmlstruResp);         return EXCEPTION;    }    else    {        VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetHostTrace(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetRespCode(piso8583stru, &xmlstruResp));        VERIFY_NORMAL(SetMac(piso8583stru, cKey));    }        DeleteXml(&xmlstruReq);    DeleteXml(&xmlstruResp);     return NORMAL;}RESULT HandleSettle2(PISO8583STRU piso8583stru){    XMLSTRU xmlstruReq;    XMLSTRU xmlstruResp;    PXMLSTRU pxmlstruReq;    PXMLSTRU pxmlstruResp;    UCHAR cKey[SIZE_KEY];    pxmlstruReq = &xmlstruReq;    pxmlstruResp = &xmlstruResp;    memset(&xmlstruReq, 0, sizeof(xmlstruReq));    memset(&xmlstruResp, 0, sizeof(xmlstruResp));        ASSURE_NORMAL(GetKey(piso8583stru, cKey))    ASSURE_NORMAL(VerifyMac(piso8583stru, cKey))    VERIFY_NORMAL(SetDateTime(piso8583stru, &xmlstruResp));    VERIFY_NORMAL(UpdateBatchNo(piso8583stru));        SetBitInIso8583(piso8583stru, BIT_NII, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_OPERATOR, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_SETTLEDATA, NULL, 0);    SetBitInIso8583(piso8583stru, BIT_BATCHNO, NULL, 0);    VERIFY_NORMAL(FillRespIso8583(piso8583stru, "00"));    VERIFY_NORMAL(SetMac(piso8583stru, cKey));    return NORMAL;}RESULT HandleUpload(PISO8583STRU piso8583stru){    XMLSTRU xmlstruReq;    XMLSTRU xmlstruResp;    PXMLSTRU pxmlstruReq;    PXMLSTRU pxmlstruResp;    UCHAR cKey[SIZE_KEY];    pxmlstruReq = &xmlstruReq;

⌨️ 快捷键说明

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