📄 handle.cpre
字号:
ASSERT_NORMAL(SetExpDate(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddAmt(pxmlstruResp, piso8583stru)); } ASSERT_NORMAL(SetMac(piso8583stru, cTransMac, BIT_MAC128)); return NORMAL;}RESULT HandleAuthSettle(PISO8583STRU piso8583stru){ UINT nBit = BIT_MAC128; XMLSTRU xmlstruReq, xmlstruResp; BOOL bIsReverse; memset(&xmlstruReq, 0, sizeof(xmlstruReq)); memset(&xmlstruResp, 0, sizeof(xmlstruResp)); bIsReverse = IsReverse(piso8583stru); ASSURE_NORMAL(VerifyMac(piso8583stru, cTransMac, BIT_MAC128)) ASSURE_NORMAL(CreateXml(&xmlstruReq, FALSE, AP_PATH_ROOT, NULL)) ASSURE_NORMAL(GetAuthSettle(&xmlstruReq, piso8583stru, bIsReverse)) ASSURE_NORMAL(RecordJournal(&xmlstruReq, piso8583stru)) ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp)) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION)) RETURN_RESULT(EXCEPTION) else { if (!VERIFY_NORMAL(SetAuthSettle(piso8583stru, &xmlstruResp, bIsReverse))) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT)) RETURN_RESULT(EXCEPTION) } RETURN_RESULT(NORMAL)}/* * 存款。 */RESULT GetDeposit(PXMLSTRU pxmlstruReq, PCISO8583STRU piso8583stru){ ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_SUBMITREQ)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE, AP_TRANSCODE_CS_DEPOSIT)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQID, AP_REQID_ISI)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "N")); ASSERT_NORMAL(GetReqDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetReqTime(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetReqSeqNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetOrgReqType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAccNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetCurrType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAmt(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetFee(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetExpDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetSettleDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAgent(piso8583stru, pxmlstruReq)); return NORMAL;}RESULT SetDeposit(PISO8583STRU piso8583stru, PCXMLSTRU pxmlstruResp){ SetBitInIso8583(piso8583stru, BIT_ENTRYMODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PINCAPTURECODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK2, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK3, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ACCEPTORNAME, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PIN, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ORGDATA, NULL, 0); ASSERT_NORMAL(SetRespCode(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddResp(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddAmt(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetMac(piso8583stru, cTransMac, BIT_MAC64)); return NORMAL;} RESULT HandleDeposit(PISO8583STRU piso8583stru){ UINT nBit = BIT_MAC64; XMLSTRU xmlstruReq, xmlstruResp; memset(&xmlstruReq, 0, sizeof(xmlstruReq)); memset(&xmlstruResp, 0, sizeof(xmlstruResp)); ASSURE_NORMAL(VerifyMac(piso8583stru, cTransMac, BIT_MAC64)) ASSURE_NORMAL(CreateXml(&xmlstruReq, FALSE, AP_PATH_ROOT, NULL)) ASSURE_NORMAL(GetDeposit(&xmlstruReq, piso8583stru)) ASSURE_NORMAL(RecordJournal(&xmlstruReq, piso8583stru)) ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp)) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION)) RETURN_RESULT(EXCEPTION) else { if (!VERIFY_NORMAL(SetDeposit(piso8583stru, &xmlstruResp))) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT)) RETURN_RESULT(EXCEPTION) } RETURN_RESULT(NORMAL)}/* * 取款。 */RESULT GetWithdraw(PXMLSTRU pxmlstruReq, PCISO8583STRU piso8583stru, BOOL bIsReverse){ ASSERT_NORMAL(INSERT_MSGTYPE(bIsReverse)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE, AP_TRANSCODE_CS_WITHDRAW)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQID, AP_REQID_ISI)); ASSERT_NORMAL(GetReqDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetReqTime(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAccNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetCurrType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAmt(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetFee(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetSettleDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetOrgReqType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAgent(piso8583stru, pxmlstruReq)); if (!bIsReverse) { ASSERT_NORMAL(GetReqSeqNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAccPwd(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetTrack2(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetTrack3(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetExpDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "Y")); } else { ASSERT_NORMAL(GetReqSeqNoInReverse(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "N")); } return NORMAL;}RESULT SetWithdraw(PISO8583STRU piso8583stru, PCXMLSTRU pxmlstruResp, BOOL bIsReverse){ SetBitInIso8583(piso8583stru, BIT_ENTRYMODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PINCAPTURECODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK2, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK3, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ACCEPTORNAME, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PIN, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ORGDATA, NULL, 0); ASSERT_NORMAL(SetRespCode(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddResp(pxmlstruResp, piso8583stru)); if (!bIsReverse) { ASSERT_NORMAL(SetExpDate(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAuthResp(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetIdNo(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddAmt(pxmlstruResp, piso8583stru)); } ASSERT_NORMAL(SetMac(piso8583stru, cTransMac, bIsReverse ? BIT_MAC128 : BIT_MAC64)); return NORMAL;}RESULT HandleWithdraw(PISO8583STRU piso8583stru){ UINT nBit = 0; XMLSTRU xmlstruReq, xmlstruResp; BOOL bIsReverse; memset(&xmlstruReq, 0, sizeof(xmlstruReq)); memset(&xmlstruResp, 0, sizeof(xmlstruResp)); bIsReverse = IsReverse(piso8583stru); nBit = bIsReverse ? BIT_MAC128 : BIT_MAC64; ASSURE_NORMAL(VerifyMac(piso8583stru, cTransMac, nBit)) ASSURE_NORMAL(CreateXml(&xmlstruReq, FALSE, AP_PATH_ROOT, NULL)) ASSURE_NORMAL(GetWithdraw(&xmlstruReq, piso8583stru, bIsReverse)) ASSURE_NORMAL(RecordJournal(&xmlstruReq, piso8583stru)) ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp)) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION)) RETURN_RESULT(EXCEPTION) else { if (!VERIFY_NORMAL(SetWithdraw(piso8583stru, &xmlstruResp, bIsReverse))) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT)) RETURN_RESULT(EXCEPTION) } RETURN_RESULT(NORMAL)}/* * 转帐入。 */RESULT GetTransferIn(PXMLSTRU pxmlstruReq, PCISO8583STRU piso8583stru){ ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_SUBMITREQ)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE, AP_TRANSCODE_CS_TRANSFERIN)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQID, AP_REQID_ISI)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "N")); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_ADDACCTYPE, AP_ACCTYPE_CARD)); ASSERT_NORMAL(GetReqDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetReqTime(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetReqSeqNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetOrgReqType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAccNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAmt(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetFee(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetCurrType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetExpDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetSettleDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAgent(piso8583stru, pxmlstruReq)); return NORMAL;}RESULT SetTransferIn(PISO8583STRU piso8583stru, PCXMLSTRU pxmlstruResp){ SetBitInIso8583(piso8583stru, BIT_ENTRYMODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PINCAPTURECODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK2, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK3, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ACCEPTORNAME, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PIN, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ORGDATA, NULL, 0); ASSERT_NORMAL(SetRespCode(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddResp(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetMac(piso8583stru, cTransMac, BIT_MAC64)); return NORMAL;}RESULT HandleTransferIn(PISO8583STRU piso8583stru){ UINT nBit = BIT_MAC64; XMLSTRU xmlstruReq, xmlstruResp; memset(&xmlstruReq, 0, sizeof(xmlstruReq)); memset(&xmlstruResp, 0, sizeof(xmlstruResp)); ASSURE_NORMAL(VerifyMac(piso8583stru, cTransMac, BIT_MAC64)) ASSURE_NORMAL(CreateXml(&xmlstruReq, FALSE, AP_PATH_ROOT, NULL)) ASSURE_NORMAL(GetTransferIn(&xmlstruReq, piso8583stru)) ASSURE_NORMAL(RecordJournal(&xmlstruReq, piso8583stru)) ASSURE_NORMAL(ApCaSubmit(&xmlstruReq, &xmlstruResp)) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_EXCEPTION)) RETURN_RESULT(EXCEPTION) else { if (!VERIFY_NORMAL(SetTransferIn(piso8583stru, &xmlstruResp))) if (ApIsRespCode(&xmlstruResp, AP_RESPCODE_ACCEPT)) RETURN_RESULT(EXCEPTION) } RETURN_RESULT(NORMAL)}/* * 转帐出。 */RESULT GetTransferOut(PXMLSTRU pxmlstruReq, PCISO8583STRU piso8583stru, BOOL bIsReverse){ ASSERT_NORMAL(INSERT_MSGTYPE(bIsReverse)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSCODE,AP_TRANSCODE_CS_TRANSFEROUT)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQID, AP_REQID_ISI)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_ADDACCTYPE, AP_ACCTYPE_CARD)); ASSERT_NORMAL(GetReqDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetReqTime(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAccNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetCurrType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAmt(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetFee(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetMerchType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetSettleDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetOrgReqType(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAgent(piso8583stru, pxmlstruReq)); if (!bIsReverse) { ASSERT_NORMAL(GetReqSeqNo(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetAccPwd(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetTrack2(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetTrack3(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(GetExpDate(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "Y")); } else { ASSERT_NORMAL(GetReqSeqNoInReverse(piso8583stru, pxmlstruReq)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRACKVERIFY, "N")); } return NORMAL;}RESULT SetTransferOut(PISO8583STRU piso8583stru, PCXMLSTRU pxmlstruResp, BOOL bIsReverse){ SetBitInIso8583(piso8583stru, BIT_ENTRYMODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PINCAPTURECODE, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK2, NULL, 0); SetBitInIso8583(piso8583stru, BIT_TRACK3, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ACCEPTORNAME, NULL, 0); SetBitInIso8583(piso8583stru, BIT_PIN, NULL, 0); SetBitInIso8583(piso8583stru, BIT_ORGDATA, NULL, 0); ASSERT_NORMAL(SetRespCode(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddResp(pxmlstruResp, piso8583stru)); if (!bIsReverse) { ASSERT_NORMAL(SetExpDate(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAuthResp(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetIdNo(pxmlstruResp, piso8583stru)); ASSERT_NORMAL(SetAddAmt(pxmlstruResp, piso8583stru)); } ASSERT_NORMAL(SetMac(piso8583stru, cTransMac, bIsReverse ? BIT_MAC128 : BIT_MAC64)); return NORMAL;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -