142 lines
4.8 KiB
XML
142 lines
4.8 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Application name="lps" trace="yes">
|
|
|
|
<!--手机钱包卡注销V1.1-->
|
|
<Transaction code="2130070" log_switch="1">
|
|
<FlowCtrl>
|
|
<!--交易设置-->
|
|
<Set>CMD_CD=SUBSTR($PIN_DAT,1,2)</Set> <!--命令类型-->
|
|
<Set>SUB_AC=SUBSTR($PIN_DAT,9,20)</Set> <!--卡片应用序列号-->
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
</Exec>
|
|
|
|
<!--报文MAC校验-->
|
|
<Call package="LPS_PUB" function="CheckMessageMAC">
|
|
<Input>SUB_AC|PIN_DAT|</Input>
|
|
<Output>MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
|
<!--MAC校验失败-->
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--报文解析-->
|
|
<Call package="LPS_PUB" function="MessageParse">
|
|
<Input>CMD_CD|PIN_DAT|</Input>
|
|
<Output>MSG_CD|STK_AREA|</Output>
|
|
</Call>
|
|
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
|
<!--报文解析失败-->
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--手机钱包卡销户-->
|
|
<Call package="LPS_PUB" function="CancelSubAccount">
|
|
<Input>GWA|SUB_AC|</Input>
|
|
<Output>MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="IS_SUCC(@O.MSG_CD)">
|
|
<!--子账户销户成功-->
|
|
<Set>RSL_CD=00</Set>
|
|
</If>
|
|
<Else>
|
|
<!--子账户销户失败-->
|
|
<Set>RSL_CD=01</Set>
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
<Goto>END</Goto>
|
|
</Else>
|
|
|
|
<!--设置组件输入数据-->
|
|
<Set>INP_DAT.MBL_NO=$MBL_NO</Set>
|
|
<Set>INP_DAT.CAN_BUS_CNL=$GWA.BUS_CNL</Set>
|
|
|
|
<!--主账户销户-->
|
|
<Call package="URM_PUB" function="CLOSE_USER">
|
|
<Input>GWA|INP_DAT|</Input>
|
|
<Output>OUT_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<!--判断销户是否成功-->
|
|
<If condition="IS_SUCC(@O.MSG_CD)">
|
|
<!--手机支付账户销户成功-->
|
|
<Set>RSL_CD=00</Set> <!--开户结果 00:成功;01:失败-->
|
|
</If>
|
|
<Else>
|
|
<If condition="OR(IS_EQUAL_STRING(@O.MSG_CD,URM20069),IS_EQUAL_STRING(@O.MSG_CD,URM20020),IS_EQUAL_STRING(@O.MSG_CD,URM20019),IS_EQUAL_STRING(@O.MSG_CD,URM20012))">
|
|
<!--手机支付账户已经销户-->
|
|
<Set>RSL_CD=00</Set>
|
|
</If>
|
|
<Else>
|
|
<!--手机支付账户销户失败-->
|
|
<Set>RSL_CD=01</Set>
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
</Else>
|
|
</Else>
|
|
|
|
<Label>END</Label>
|
|
|
|
<!--交易设置-->
|
|
<Set>CMD_CD=13</Set>
|
|
<Set>SUB_CMD_CD=@O.STK_AREA.SUB_CMD_CD</Set>
|
|
<Set>CRD_JRN_NO=@O.STK_AREA.CRD_JRN_NO</Set>
|
|
|
|
<!--下行报文组织-->
|
|
<Call package="LPS_PUB" function="MessageBuild">
|
|
<Output>BK_TXN_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
|
<If condition="IS_SUCC($GWA.MSG_CD)">
|
|
<!--报文组织失败-->
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
</If>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--生成报文MAC-->
|
|
<Call package="LPS_PUB" function="CreateMessageMAC">
|
|
<Input>SUB_AC|@O.BK_TXN_DAT|</Input>
|
|
<Output>BK_TXN_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
|
<If condition="IS_SUCC($GWA.MSG_CD)">
|
|
<!--生成报文MAC失败-->
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
</If>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--设置返回报文-->
|
|
<Set>BK_TXN_DAT=@O.BK_TXN_DAT</Set>
|
|
|
|
<!--下发钱包激活指令-->
|
|
<Set>SMS_CD=LPS800</Set>
|
|
<Call package="LPS_PUB" function="SendShortMessage"/>
|
|
|
|
<!--如果手机钱包销户成功,则短信通知用户-->
|
|
<If condition="$RSL_CD=00">
|
|
<Set>SMS_CD=LPS005</Set> <!-- 发送主账户销户短信 -->
|
|
<Call package="LPS_PUB" function="SendShortMessage"/>
|
|
|
|
<Set>SMS_CD=LPS002</Set> <!-- 发送钱包销户短信 -->
|
|
<Call package="LPS_PUB" function="SendShortMessage"/>
|
|
</If>
|
|
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
|
|
</Application>
|