December 27, 2021
当交易完成后需要退款时,通常有两种场景:
在 WalletsNet 中,以上两种场景的退款均支持,WalletsNet 一旦收到收款方FI发出的退款报文,则会立即执行退款,退款的特点为:
收款人可以主动将收到的付款退给付款人,当:
通常情况下都是由付款人向收款人发起退款的请求,比如电商中的退款退货,以下为收款人同意退款的流程,当:
当收款人收到付款人的退款请求,也可以拒绝退款请求,下图为收款人拒绝退款请求的流程
通常驳回的原因有几种:
如果遇到以上几类问题,该退款申请被视为无效,WalletsNet 会直接驳回该消息而不会转发给对方机构
pacs.004 报文使用场景:
编号 | 发出方 | 收到方 | 备注 |
---|---|---|---|
1 | 收款方 FI | WalletsNet | 收款方主动退款,发出退款报文 |
2 | WalletsNet | 付款方 FI | WalletsNet 转发退款消息(副本)给付款方 |
以下 pacs.004 message sample 对应的场景为「编号-1」
x
1{
2 "AppHdr": {
3 "BizMsgIdr": "B20211226BPSP00017009083",
4 "CreDt": "2021-12-26",
5 "Fr": {
6 "FIId": {
7 "FinInstnId": {
8 "ClrSysMmbId": {
9 "MmbId": "收款方 PID"
10 }
11 }
12 }
13 },
14 "MsgDefIdr": "pacs.004.001.08",
15 "To": {
16 "FIId": {
17 "FinInstnId": {
18 "ClrSysMmbId": {
19 "MmbId": "WalletsNet PID"
20 }
21 }
22 }
23 }
24 },
25 "Document": {
26 "PmtRtr": {
27 "GrpHdr": {
28 "MsgId": "20211226BWPSP37569956196",
29 "CreDtTm": "2021-12-26T21:58:37.863034+08:00",
30 "NbOfTxs": "1", // 固定值,表示对应的退款交易笔数
31 "SttlmInf": {
32 "SttlmMtd": "CLRG", // 固定值
33 "ClrSys": {
34 "Cd": "WNET" // 固定值
35 }
36 }
37 },
38 "TxInf": {
39 "RtrId": "20211226BWPSP78781722896",
40 "OrgnlGrpInf": {
41 "OrgnlMsgId": "20211226XBWPSP78296584429", // 原来的 MsgId
42 "OrgnlMsgNmId": "pacs.008.001.09" // 原来的 MsgNmId
43 },
44 "OrgnlInstrId": "20211226XBWPSP61321707640", // 原来的 InstrId
45 "OrgnlEndToEndId": "20211226XBWPSP83449134289",
46 "OrgnlTxId": "20211226XBWPSP71488226246",
47 "RtrdIntrBkSttlmAmt": {
48 "Ccy": "USD",
49 "Amount": "12.99"
50 },
51 "IntrBkSttlmDt": "2021-12-26",
52 "InstgAgt": {
53 "FinInstnId": {
54 "ClrSysMmbId": {
55 "MmbId": "收款方 PID" // 退款指令发起方,也就是收款方
56 }
57 }
58 },
59 "InstdAgt": {
60 "FinInstnId": {
61 "ClrSysMmbId": {
62 "MmbId": "付款方 PID" // 退款指令接收方,也就是付款方
63 }
64 }
65 },
66 "RtrRsnInf": {
67 "Rsn": {
68 "Cd": "MD06" // (1)MD06 表示 Refund Request By End Customer(2)FOCR 表示 Following Cancellation Request,仅支持这两种
69 }
70 }
71 }
72 }
73 }
74}
camt.056 报文使用场景:
编号 | 发出方 | 收到方 | 备注 |
---|---|---|---|
1 | 付款方 FI | WalletsNet | 付款方发起退款申请 |
2 | WalletsNet | 收款方 FI | WalletsNet 转发退款申请给收款方 |
以下 camt.056 message sample 对应的场景为「编号-2」
x
1{
2 "AppHdr": {
3 "BizMsgIdr": "B20211216WCSMHKHKXXXBPSP47412931010",
4 "CreDt": "2021-12-16",
5 "Fr": {
6 "FIId": {
7 "FinInstnId": {
8 "ClrSysMmbId": {
9 "MmbId": "WCSMHKHKXXX"
10 }
11 }
12 }
13 },
14 "MsgDefIdr": "camt.056.001.09",
15 "To": {
16 "FIId": {
17 "FinInstnId": {
18 "ClrSysMmbId": {
19 "MmbId": "{收件方 PID}"
20 }
21 }
22 }
23 }
24 },
25 "Document": {
26 "FIToFIPmtCxlReq": {
27 "Assgnmt": {
28 "Assgne": {
29 "Agt": {
30 "FinInstnId": {
31 "ClrSysMmbId": {
32 "MmbId": "指令接收方 PID" // 退款请求,指令接收方也就是收款方机构
33 }
34 }
35 }
36 },
37 "Assgnr": {
38 "Agt": {
39 "FinInstnId": {
40 "ClrSysMmbId": {
41 "MmbId": "指令发出方 PID" // 退款请求,指令发起方也就是付款方机构
42 }
43 }
44 }
45 },
46 "CreDtTm": "2021-12-16T20:35:22.290226+08:00",
47 "Id": "16667290383688761345"
48 },
49 "Case": {
50 "Cretr": {
51 "Agt": {
52 "FinInstnId": {
53 "ClrSysMmbId": {
54 "MmbId": "Case发起方,即指令发出方 PID" // 退款请求,case发起方是付款方机构
55 }
56 }
57 }
58 },
59 "Id": "16667290383688761344" // case ID 由 case 发起方自行填写,用于将来的内部核对
60 },
61 "Undrlyg": {
62 "OrgnlGrpInfAndCxl": {
63 "OrgnlMsgId": "对应原报文的 MsgId",
64 "OrgnlMsgNmId": "pacs.008.001.009" // 对应原报文的 scheme
65 },
66 "TxInf": { // 以下字段均来自原 Message,用于收件方查找原交易
67 "CxlRsnInf": {
68 "Rsn": {
69 "Cd": "CUST" // 交易取消的原因,CUST表示由用户触发的退款申请,具体见下方表格
70 }
71 },
72 "OrgnlClrSysRef": "20211216XPAYHKHHXXXBWPSP15743949903",
73 "OrgnlEndToEndId": "20211216XPAYHKHHXXXBWPSP15743949903",
74 "OrgnlInstrId": "20211216XPAYHKHHXXXBWPSP15743949903",
75 "OrgnlIntrBkSttlmAmt": {
76 "Amount": "38.94", // 初始 pacs.008 报文中的结算金额,需严格一致
77 "Ccy": "HKD"// 初始 pacs.008 报文中的结算币种,需严格一致
78 },
79 "OrgnlIntrBkSttlmDt": "2021-12-16",
80 "OrgnlTxId": "20211216XPAYHKHHXXXBWPSP15743949903"
81 }
82 }
83 }
84 }
85}
Reason Code | 使用者 | 说明 | ISO Description |
---|---|---|---|
CUST | 申请退款方机构 | 客户申请取消交易(即退款) | Requested By Customer Cancellation requested by the Debtor due to Debtor’s mistake or error. |
DUPL | 申请退款方机构 | 因重复交易申请取消交易(即退款) | Duplicate Payment Payment is a duplicate of another payment. |
FRAD | 申请退款方机构 | 因欺诈原因申请取消交易(即退款) | Fraudulent Origin Debtor claims payment was unauthorized or fraudulently induced. |
TECH | 申请退款方机构 | 因技术故障申请取消交易(即退款) | Technical Problem Cancellation requested following technical problems resulting in an erroneous transaction. |
DS24 | WalletsNet | 因超时通知双边交易已被取消 | Time-out Waiting time expired due to incomplete order |
camt.029 报文使用场景:
编号 | 发出方 | 收到方 | 备注 |
---|---|---|---|
1 | 收款方 FI | WalletsNet | 收款方拒绝退款,发出拒绝报文,即 Negative camt.029 |
2 | WalletsNet | 付款方 FI | WalletsNet 转发退款拒绝消息(副本)给付款方 |
以下 camt.029 message sample 对应的场景为「编号-1」
xxxxxxxxxx
781{
2 "AppHdr": {
3 "BizMsgIdr": "B20210517WCSMHKHKXXXPSP95392645792",
4 "MsgDefIdr": "admi.002.001.01",
5 "CreDt": "2021-02-05",
6 "Fr": {
7 "FIId": {
8 "FinInstnId": {
9 "ClrSysMmbId": {
10 "MmbId": "发件方 PID"
11 }
12 }
13 }
14 },
15 "To": {
16 "FIId": {
17 "FinInstnId": {
18 "ClrSysMmbId": {
19 "MmbId": "收件方 PID"
20 }
21 }
22 }
23 }
24 },
25 "Document": {
26 "RsltnOfInvstgtn": {
27 "Assgnmt": {
28 "Id": "M20210517WCSMHKHKXXXPSP95392645792",
29 "Assgnr": {
30 "Agt": {
31 "FinInstnId": {
32 "ClrSysMmbId": {
33 "MmbId": "发件方 PID"
34 }
35 }
36 }
37 },
38 "Assgne": {
39 "Agt": {
40 "FinInstnId": {
41 "ClrSysMmbId": {
42 "MmbId": "收件方 PID"
43 }
44 }
45 }
46 },
47 "CreDtTm": "2021-02-05T22:16:32.395613+08:00"
48 },
49 "Sts": {
50 "Conf": "RJCR"
51 },
52 "CxlDtls": {
53 "OrgnlGrpInfAndSts": {
54 "RslvdCase": { // 对退款请求的回复
55 "Id": "20211226XBWPSP87757897253", // case ID
56 "Cretr": {
57 "Agt": {
58 "FinInstnId": {
59 "ClrSysMmbId": {
60 "MmbId": "xxxxxxxx" // 最终收件方
61 }
62 }
63 }
64 }
65 },
66 "OrgnlMsgId": "20211226XBWPSP20120219973", // 原消息内的 MsgId
67 "OrgnlMsgNmId": "camt.056.001.10", // 原消息的 scheme
68 "OrgnlCreDtTm": "2021-02-04T22:16:32.395613+08:00", // 原消息的创建时间
69 "CxlStsRsnInf":{
70 "Rsn":{
71 Cd: "ARDT" // ARDT 表示已经退款了,具体的code请见下面表格
72 }
73 }
74 }
75 }
76 }
77 }
78}
Reason Code | 使用者 | 说明 | ISO Description |
---|---|---|---|
AC04 | 收款方机构 | 账号已注销,无法退款 | Closed Account Number Account number specified has been closed on the receiver’s books. |
AM04 | 收款方机构 | 金额或者币种不对 | Insufficient Funds Amount of funds available to cover specified message amount is insufficient. |
ARDT | 收款方机构 | 已退款 | Already Returned Cancellation not accepted as the transaction has already been returned. |
CUST | 收款方机构 | 用户拒绝退款 | Customer Decision Reported when the cancellation cannot be accepted because of a customer decision (Creditor). |
LEGL | 收款方机构 | 合规原因 | Legal Decision Reported when the cancellation cannot be accepted because of regulatory rules. |
NOAS | 收款方机构 | 用户不响应 | No Answer From Customer No response from beneficiary (to the cancellation request). |
NOOR | 收款方机构 | 无原交易 | No Original Transaction Received Original transaction (subject to cancellation) never received. |
admi.002 报文使用场景:
编号 | 发出方 | 收到方 | 备注 |
---|---|---|---|
2 | WalletsNet | 申请退款方 FI | WalletsNet 驳回消息 |
以下 admi.021 message sample 对应的场景为「编号-1」
x
1{
2 "AppHdr": {
3 "BizMsgIdr": "B20211228WCSMHKHKXXXBPSP43673996360",
4 "CreDt": "2021-12-28",
5 "Fr": {
6 "FIId": {
7 "FinInstnId": {
8 "ClrSysMmbId": {
9 "MmbId": "WCSMHKHKXXX"
10 }
11 }
12 }
13 },
14 "MsgDefIdr": "admi.002.001.01",
15 "To": {
16 "FIId": {
17 "FinInstnId": {
18 "ClrSysMmbId": {
19 "MmbId": "RPAYUSUSXXX"
20 }
21 }
22 }
23 }
24 },
25 "Document": {
26 "MsgRjct": {
27 "RltdRef": {
28 "Ref": "B20211228RPAYUSUSXXXBPSP57978750334"
29 },
30 "Rsn": {
31 "AddtlData": "...",
32 "RjctgPtyRsn": "IN01" // 驳回原因,IN01表示和原始交易不匹配(如金额、币种、ID等)
33 }
34 }
35 }
36}
Reason Code | 使用者 | 说明 | ISO Description |
---|---|---|---|
IN01 | WalletsNet | 和原始交易不匹配 | |
IN02 | WalletsNet | 原交易收款方不匹配 | |
IN03 | WalletsNet | 原交易付款方不匹配 | |
IN04 | WalletsNet | 原交易金额不匹配 | |
IN05 | WalletsNet | 原交易币种不匹配 | |
AGNT | WalletsNet | 交易对手方不存在或不允许交易 | Agent in the payment workflow is incorrect |
AM13 | WalletsNet | 超出交易限额或流动性不足 | Transaction amount exceeds limits set by clearing system |
AM11 | WalletsNet | 币种错误或者不支持 | Transaction currency is invalid or missing |