429 lines
18 KiB
XML
429 lines
18 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
||
<Application name="lps" trace="yes">
|
||
|
||
<!--退货(POS)-->
|
||
<Transaction code="2111020" log_switch="1">
|
||
<!-- 验证卡片合法性 -->
|
||
<DynSentence name="CHK_LPSTCRD_INFO">
|
||
<Sentence>
|
||
SELECT CRD_STS,USR_NO,MAIN_AC,MBL_NO FROM LPSTCRD WHERE SUB_AC=?
|
||
</Sentence>
|
||
<Fields>SUB_AC|</Fields>
|
||
</DynSentence>
|
||
|
||
<!--查询脱机消费交易状态-->
|
||
<DynSentence name="QRY_LPSTOFP_INFO">
|
||
<Sentence>
|
||
SELECT LP_ORD_STS ,PROC_RSL,TX_AMT OCSM_TX_AMT,RFD_FEE_PRC_MOD,CHG_FEE_FLG,FEE_AMT,RFD_FEE_PRC_MOD,CHG_FEE_DT,MERC_FEE_MOD,
|
||
MERC_TYP,USR_CITY,USR_PROV,USR_CITY_NM,MERC_CITY_NM
|
||
FROM LPSTOFP
|
||
WHERE SUB_AC=? AND POS_TRM=? AND MERC_ID=? AND POS_JRN=? AND TRM_TX_DT=? AND TRM_TX_TM=? AND CLR_STS='1'
|
||
FOR UPDATE
|
||
</Sentence>
|
||
<Fields>SUB_AC|OCSM_POS_TRM|OCSM_MERC|OCSM_POS_JRN|OCSM_TRM_DT|OCSM_TRM_TM|</Fields>
|
||
</DynSentence>
|
||
|
||
<!--更新脱机消费记录表状态为退货-->
|
||
<DynSentence name="UPD_LPSTOFP_ORDSTS">
|
||
<Sentence>
|
||
UPDATE LPSTOFP
|
||
SET LP_ORD_STS=?,TM_SMP=?,RFD_GRS=?,RFD_FEE_GRS=?,TX_TYP='20',RFD_DT=?
|
||
WHERE SUB_AC=? AND POS_TRM=? AND MERC_ID=? AND POS_JRN=? AND TRM_TX_DT=? AND TRM_TX_TM=?
|
||
</Sentence>
|
||
<Fields>LP_ORD_STS|SYS_TM_SMP|TX_AMT|REAL_FEE_AMT|TX_DT|SUB_AC|OCSM_POS_TRM|OCSM_MERC|OCSM_POS_JRN|OCSM_TRM_DT|OCSM_TRM_TM|</Fields>
|
||
</DynSentence>
|
||
|
||
<!--更新退货记录表状态为成功-->
|
||
<DynSentence name="UPD_LPSTRVS_BILSTS">
|
||
<Sentence>
|
||
UPDATE LPSTRVS SET BIL_STS='1',TM_SMP=?,MSG_CD='LPS00000' WHERE JRN_NO=?
|
||
</Sentence>
|
||
<Fields>SYS_TM_SMP|JRN_NO|</Fields>
|
||
</DynSentence>
|
||
|
||
<!-- 更新消费撤销记录具体错误信息码 -->
|
||
<DynSentence name="UPD_LPSTRVS_MSGCD">
|
||
<Sentence>
|
||
UPDATE LPSTRVS SET MSG_CD=?,TM_SMP=? WHERE JRN_NO=?
|
||
</Sentence>
|
||
<Fields>GWA.MSG_CD|SYS_TM_SMP|JRN_NO|</Fields>
|
||
</DynSentence>
|
||
|
||
<FlowCtrl>
|
||
<!--验证交易TAC-->
|
||
<If condition="NOT(ISNULL($TAC_BLOCK))">
|
||
<Set>TAC_CRD_OWN_FLG=SUBSTR($TAC_BLOCK,1,16)</Set>
|
||
<Set>TAC_MK_IDX=SUBSTR($TAC_BLOCK,17,2)</Set>
|
||
<Set>TAC_MK_VER=SUBSTR($TAC_BLOCK,19,2)</Set>
|
||
<Set>TAC=SUBSTR($TAC_BLOCK,21,8)</Set>
|
||
<Set>TAC_AMT=SUBSTR($TAC_BLOCK,29,8)</Set>
|
||
<Set>TAC_POS_TX_TYP=SUBSTR($TAC_BLOCK,37,2)</Set>
|
||
<Set>TAC_OCSM_TRM=SUBSTR($TAC_BLOCK,39,12)</Set>
|
||
<Set>TAC_OCSM_TRM_SEQ=SUBSTR($TAC_BLOCK,51,8)</Set>
|
||
<Set>TAC_OTX_DT=SUBSTR($TAC_BLOCK,59,8)</Set>
|
||
<Set>TAC_OTX_TM=SUBSTR($TAC_BLOCK,67,6)</Set>
|
||
<Set>TAC_CRD_BAL=SUBSTR($TAC_BLOCK,73,8)</Set>
|
||
<!-- 验证交易TAC -->
|
||
<Call package="LPS_PUB" function="CheckTransactionTAC">
|
||
<Input>SUB_AC|TAC_AMT|TAC_POS_TX_TYP|TAC_OCSM_TRM|TAC_OCSM_TRM_SEQ|TAC_OTX_DT|TAC_OTX_TM|TAC|</Input>
|
||
<Output>MSG_CD|</Output>
|
||
</Call>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))"> <!-- 生成交易TAC失败 -->
|
||
<Set>~MSG_DAT=生成交易TAC失败</Set>
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
</If>
|
||
|
||
<!--验证卡片合法性-->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||
<Arg name="SqlCmd" value="CHK_LPSTCRD_INFO"/>
|
||
</Exec>
|
||
<If condition="~RetCod=2">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20055"/>
|
||
<Arg name="MsgDat" value="用户未开通手机钱包"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
<ElseIf condition="~RetCod!=0">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS00001"/>
|
||
<Arg name="MsgDat" value="数据库操作失败"/>
|
||
</Exec>
|
||
<Return/>
|
||
</ElseIf>
|
||
|
||
<!--用户-商户状态查询-->
|
||
<Set>INP_DAT.MERC_ID=$OCSM_MERC</Set>
|
||
<Set>INP_DAT.MERC_TX_TYP=07</Set>
|
||
<Set>INP_DAT.TX_CD=2111020</Set>
|
||
<Set>INP_DAT.MERC_CAP_TYP=1</Set>
|
||
<Set>INP_DAT.DC_PTY_FLG=D</Set> <!-- 转账交易-商户为付款方 -->
|
||
<Call package="URM_PUB" function="CHK_MER_STS">
|
||
<Input>INP_DAT|GWA|</Input>
|
||
<Output>OUT_DAT|MSG_CD|</Output>
|
||
</Call>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
||
<Set>~MSG_DAT=商户状态不合法</Set>
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
|
||
<!-- 商户黑名单控制 -->
|
||
<Set>CBL_IN.USR_NO=@O.OUT_DAT.USR_NO</Set>
|
||
<Set>CBL_IN.TX_TYP=20</Set> <!-- 退货 -->
|
||
<Exec func="RRC:ChkBlackLst">
|
||
<Arg name="_I_INP_DAT" value="CBL_IN"/>
|
||
<Arg name="_O_OUT_DAT" value="CBL_OUT"/>
|
||
</Exec>
|
||
<Exec func="PUB:DumpDs"/>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
<Arg name="MsgDat" value="商户黑名单检查失败"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
|
||
|
||
<!-- 主账户状态检查 -->
|
||
<Set>INP_DAT.MBLNO_OR_LOGID=$MBL_NO</Set>
|
||
<Set>INP_DAT.DC_PTY_FLG=C</Set> <!-- 收款方 -->
|
||
<Set>INP_DAT.TX_CD=$GWA.TX_CD</Set>
|
||
<Call package="URM" function="CHK_USER_STS">
|
||
<Input>INP_DAT</Input>
|
||
<Output>OUT_DAT|MSG_CD</Output>
|
||
</Call>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
<Arg name="MsgDat" value="主账户状态异常"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
|
||
<!--查询原脱机交易处理状态-->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||
<Arg name="SqlCmd" value="QRY_LPSTOFP_INFO"/>
|
||
</Exec>
|
||
<If condition="~RetCod=2">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20079"/>
|
||
<Arg name="MsgDat" value="脱机交易记录不存在或交易失败,暂不能退货"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
<ElseIf condition="~RetCod!=0">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS00001"/>
|
||
<Arg name="MsgDat" value="数据库操作失败"/>
|
||
</Exec>
|
||
<Return/>
|
||
</ElseIf>
|
||
|
||
<If condition="IS_NOEQUAL_STRING($PROC_RSL,00)"> <!-- 此笔退货记录清分失败 -->
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20080"/>
|
||
<Arg name="MsgDat" value="此笔退货记录清分失败,无法退货"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
<Else>
|
||
<If condition="IS_EQUAL_STRING($LP_ORD_STS,R)"> <!-- 交易状态为退货 -->
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20082"/>
|
||
<Arg name="MsgDat" value="此笔交易已完成退货,无法再次退货"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
<ElseIf condition="IS_EQUAL_STRING($LP_ORD_STS,C)"> <!-- 交易已撤销 -->
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20077"/>
|
||
<Arg name="MsgDat" value="此笔消费已经进行过消费撤销"/>
|
||
</Exec>
|
||
<Return/>
|
||
</ElseIf>
|
||
</Else>
|
||
|
||
|
||
<!--判断交易金额是否合法-->
|
||
<If condition="DOUBLECMP($OCSM_TX_AMT,4,AMTSIMPLEFMT($TX_AMT))"> <!--退款金额不等于交易金额-->
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20083"/>
|
||
<Arg name="MsgDat" value="退款金额与交易金额不相等"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
|
||
<!-- 查询商户基本信息 -->
|
||
<Set>QMI_IN.MERC_ID=$OCSM_MERC</Set>
|
||
<Exec func="URM:QueryMerchInfo">
|
||
<Arg name="_I_INP_DAT" value="QMI_IN"/>
|
||
<Arg name="_O_OUT_DAT" value="QMI_OUT"/>
|
||
</Exec>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))"> <!-- 查询商户信息失败 -->
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
|
||
<!--登记消费撤销/退货记录表-->
|
||
<Set>JRN_NO=$GWA.JRN_NO</Set>
|
||
<Set>MERC_ID=$OCSM_MERC</Set>
|
||
<Set>TX_DT=$GWA.TX_DT</Set>
|
||
<Set>TX_TM=$GWA.TX_TM</Set>
|
||
<Set>TRM_TX_DT=$OCSM_TRM_DT</Set>
|
||
<Set>TRM_TX_TM=$OCSM_TRM_TM</Set>
|
||
<Set>RVS_FLG=R</Set> <!-- 消费退货 -->
|
||
<Set>BIL_STS=2</Set> <!-- 记录退货初始状态为失败 -->
|
||
<Set>CLR_STS=1</Set> <!-- 记录清分状态为已清分 -->
|
||
<Set>AC_DT=$GWA.AC_DT</Set> <!-- 清分会计日期 -->
|
||
<Set>OCSM_TRM=$TAC_OCSM_TRM</Set> <!-- 原终端机编号 -->
|
||
<Set>OCSM_TRM_LOG=$TAC_OCSM_TRM_SEQ</Set> <!-- 原终端机交易序号 -->
|
||
<Set>CRD_BAL=AMTSIMPLEFMT(HEX2DEC($TAC_CRD_BAL))</Set> <!-- 卡片交易余额 -->
|
||
<Set>TX_AMT=AMTSIMPLEFMT($OTX_AMT)</Set>
|
||
<Set>OTX_AMT=$TX_AMT</Set> <!-- 原交易金额 -->
|
||
<Set>MSG_CD=LPS99999</Set>
|
||
<!-- 商户信息参数 -->
|
||
<Set>MERC_ABBR=@O.QMI_OUT.MERC_ABBR</Set> <!-- 商户简称 -->
|
||
<Set>CLR_MERC=@O.QMI_OUT.CLR_MERC</Set> <!-- 清算商户号 -->
|
||
<Set>MERC_PROV=@O.QMI_OUT.MERC_PROV</Set> <!-- 商户归属省 -->
|
||
<Set>MERC_CITY=@O.QMI_OUT.MERC_CITY</Set> <!-- 商户归属市 -->
|
||
<Set>TXN_ATTR=2</Set> <!-- 交易属性 0:完整收款 1 非完整 2完整退款-->
|
||
<Set>RFD_FEE_PRC_MOD=@O.QMI_OUT.RFD_FEE_PRC_MOD</Set>
|
||
<Set>FEE_DT=$CHG_FEE_DT</Set>
|
||
|
||
<Exec func="PUB:InsertRecord" error="IGNORE">
|
||
<Arg name="TblNam" value="LPSTRVS"/>
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20084"/>
|
||
<Arg name="MsgDat" value="登记退货记录失败"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
|
||
<Exec func="PUB:CommitWork"/>
|
||
|
||
|
||
<!--退货账务处理 开始-->
|
||
<!--检查商户是否退还手续费-->
|
||
<If condition="IS_EQUAL_STRING($RFD_FEE_PRC_MOD,0)"> <!--退还手续费-->
|
||
<If condition="IS_EQUAL_STRING($MERC_FEE_MOD,3)"> <!-- 汇总计算汇总收取(待讨论手续费计算方式)-->
|
||
<Set>REAL_FEE_AMT=0.00</Set>
|
||
</If>
|
||
<Else>
|
||
<Set>REAL_FEE_AMT=$FEE_AMT</Set>
|
||
</Else>
|
||
</If>
|
||
<ElseIf condition="IS_EQUAL_STRING($RFD_FEE_PRC_MOD,1)"> <!--不退还手续费-->
|
||
<Set>REAL_FEE_AMT=0.00</Set>
|
||
</ElseIf>
|
||
<Else> <!--全额退还后退手续费(暂未用到)-->
|
||
</Else>
|
||
|
||
<If condition="DOUBLECMP($REAL_FEE_AMT,6,0.00)"> <!--实际退费手续费大于0-->
|
||
<!--计算商户交易服务费获取内部用户号-->
|
||
<Set>CMF_IN.MERC_ID=$OCSM_MERC</Set>
|
||
<Set>CMF_IN.CAP_TYP=1</Set>
|
||
<Set>CMF_IN.TX_MOD=1</Set> <!--现场脱机-->
|
||
<Set>CMF_IN.FEE_TYP=01</Set> <!--消费佣金-->
|
||
<Set>CMF_IN.ORD_AMT=$TX_AMT</Set>
|
||
<Set>CMF_IN.RCV_AMT1=$TX_AMT</Set>
|
||
<Set>CMF_IN.RCV_AMT2=0</Set>
|
||
<Set>CMF_IN.RCV_AMT3=0</Set>
|
||
<Set>CMF_IN.TOT_CALL_FLG=1</Set> <!--单笔结算-->
|
||
<Set>CMF_IN.RED_COUPON_FEE_TYP=0</Set> <!--红包代金券均不收取手续费-->
|
||
<Exec func="URM:ComputeMerchFee">
|
||
<Arg name="_I_INP_DAT" value="CMF_IN"/>
|
||
<Arg name="_O_OUT_DAT" value="CMF_OUT"/>
|
||
</Exec>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))"> <!--计算交易服务费失败-->
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
<Arg name="MsgDat" value="计算交易服务费失败"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
<!--记录服务费信息-->
|
||
<Set>AC_TYP=@O.CMF_OUT.FEE_IAC_TYP</Set> <!--内部账户类型 -->
|
||
<Set>AC_NO=@O.CMF_OUT.FEE_AC_NO</Set> <!-- 内部账户号 -->
|
||
<Set>AC_CD=REPSTR($AC_NO,$AC_TYP,"")</Set> <!-- 账户代码 -->
|
||
|
||
<!--内部用户支出-->
|
||
<Set>IAW_IN.AC_NO=$AC_NO</Set>
|
||
<Set>IAW_IN.AC_TYP=$AC_TYP</Set>
|
||
<Set>IAW_IN.AC_NM=现场脱机消费服务费</Set>
|
||
<Set>IAW_IN.CAP_TYP=1</Set>
|
||
<Set>IAW_IN.TX_CD=$GWA.TX_CD</Set>
|
||
<Set>IAW_IN.TX_TYP=32</Set> <!-- 手续费 -->
|
||
<Set>IAW_IN.BUS_TYP=0061</Set> <!-- 批量扣交易服务费 -->
|
||
<Set>IAW_IN.AMT=$REAL_FEE_AMT</Set>
|
||
<Set>IAW_IN.TX_DT=$OCSM_TRM_DT</Set>
|
||
<Set>IAW_IN.TX_TM=$OCSM_TRM_TM</Set>
|
||
<Set>IAW_IN.TX_CD=$GWA.TX_CD</Set>
|
||
<Set>IAW_IN.ORD_TYP=05</Set>
|
||
<Set>IAW_IN.ORD_NO=$GWA.JRN_NO</Set>
|
||
<!--调用账户内部账户存入-->
|
||
<Exec func="ACM:InnerAccountWithdraw">
|
||
<Arg name="_I_GWA" value="GWA"/>
|
||
<Arg name="_I_INP_DAT" value="IAW_IN"/>
|
||
<Arg name="_O_OUT_DAT" value="IAW_OUT"/>
|
||
</Exec>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))"> <!--内部账户存入失败-->
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
<Arg name="MsgDat" value="内部账户存入失败"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
</If>
|
||
|
||
|
||
<!--调用账户-商户支出-->
|
||
<Set>MER_MW.MERC_ID1=$CLR_MERC</Set>
|
||
<Set>MER_MW.CAP_TYP1=1</Set>
|
||
<Set>MER_MW.AMT1=FSUB($TX_AMT,$REAL_FEE_AMT,2)</Set>
|
||
<Set>MER_MW.TX_OPP_ID=$MAIN_AC</Set>
|
||
<Set>MER_MW.ORD_TYP=05</Set>
|
||
<Set>MER_MW.TX_CD=$GWA.TX_CD</Set>
|
||
<Set>MER_MW.ORD_NO=$GWA.JRN_NO</Set>
|
||
<Set>MER_MW.TX_OPP_TYP=0</Set>
|
||
<Set>MER_MW.TX_TYP=20</Set> <!-- 消费退款 -->
|
||
<Set>MER_MW.BUS_TYP=0052</Set>
|
||
<Exec func="ACM:MercWithdraw">
|
||
<Arg name="_I_GWA" value="GWA"/>
|
||
<Arg name="_I_INP_DAT" value="MER_MW"/>
|
||
<Arg name="_O_OUT_DAT" value="MER_MW_OUT"/>
|
||
</Exec>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
||
<Set>~MSG_DAT=调用商户支出失败</Set>
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
</Exec>
|
||
<Exec func="PUB:ExecSql">
|
||
<Arg name="SqlCmd" value="UPD_LPSTRVS_MSGCD"/>
|
||
</Exec>>
|
||
<Return/>
|
||
</If>
|
||
|
||
|
||
<!-- 调用账户-主账户存入 -->
|
||
<Set>M_MAD.AC_NO=$MAIN_AC</Set>
|
||
<Set>M_MAD.CAP_TYP=1</Set>
|
||
<Set>M_MAD.TX_DT=$GWA.TX_DT</Set>
|
||
<Set>M_MAD.TX_TM=$GWA.TX_TM</Set>
|
||
<Set>M_MAD.ORD_NO=$GWA.JRN_NO</Set>
|
||
<Set>M_MAD.AMT=$TX_AMT</Set>
|
||
<Set>M_MAD.TX_OPP_CD=$OCSM_MERC</Set>
|
||
<Set>M_MAD.MAX_CHK_FLG=N</Set> <!--主账户存入时,暂定最高限额不做检查 -->
|
||
<Set>M_MAD.ORD_TYP=05</Set>
|
||
<Set>M_MAD.TX_CD=$GWA.TX_CD</Set>
|
||
<Set>M_MAD.TX_OPP_TYP=1</Set>
|
||
<Set>M_MAD.TX_TYP=20</Set> <!-- 消费退款 -->
|
||
<Set>M_MAD.BUS_TYP=0052</Set>
|
||
<Exec func="ACM:MainAccountDeposit">
|
||
<Arg name="_I_GWA" value="GWA"/>
|
||
<Arg name="_I_INP_DAT" value="M_MAD"/>
|
||
<Arg name="_O_OUT_DAT" value="M_MAD_OUT"/>
|
||
</Exec>
|
||
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
||
<Set>~MSG_DAT=调用主账户存入失败</Set>
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
||
</Exec>
|
||
<Exec func="PUB:ExecSql">
|
||
<Arg name="SqlCmd" value="UPD_LPSTRVS_MSGCD"/>
|
||
</Exec>>
|
||
<Return/>
|
||
</If>
|
||
<!--退货账务处理 结束-->
|
||
|
||
<!--更新原交易状态为退货-->
|
||
<If condition="IS_EQUAL_STRING($RFD_FEE_PRC_MOD,0)"> <!-- 商户退还手续费 -->
|
||
<Set>FEE_AMT=0.00</Set> <!-- 手续费置为0 -->
|
||
</If>
|
||
<Set>LP_ORD_STS=R</Set>
|
||
<Exec func="PUB:ExecSql">
|
||
<Arg name="SqlCmd" value="UPD_LPSTOFP_ORDSTS"/>
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20085"/>
|
||
<Arg name="MsgDat" value="更新原脱机消费记录状态失败"/>
|
||
</Exec>
|
||
<Exec func="PUB:ExecSql">
|
||
<Arg name="SqlCmd" value="UPD_LPSTRVS_MSGCD"/>
|
||
</Exec>>
|
||
<Return/>
|
||
</If>
|
||
|
||
<!-- 更新退货交易状态为成功 -->
|
||
<Exec func="PUB:ExecSql">
|
||
<Arg name="SqlCmd" value="UPD_LPSTRVS_BILSTS"/>
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS20078"/>
|
||
<Arg name="MsgDat" value="更新原脱机消费交易状态失败"/>
|
||
</Exec>
|
||
<Return/>
|
||
</If>
|
||
|
||
<Exec func="PUB:GWASetMsg">
|
||
<Arg name="MsgCd" value="LPS00000"/>
|
||
</Exec>
|
||
|
||
|
||
</FlowCtrl>
|
||
</Transaction>
|
||
|
||
</Application>
|