📄 handle.cpre
字号:
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 + -