@mojaloop/sdk-scheme-adapter 12.3.0 → 13.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +3 -0
- package/CHANGELOG.md +25 -0
- package/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/trigger_templates/transaction_request_followup.json +2 -2
- package/docker/ml-testing-toolkit/spec_files/rules_callback/default.json +7 -7
- package/docker/ml-testing-toolkit/spec_files/rules_response/default.json +16 -16
- package/docker/ml-testing-toolkit/spec_files/rules_response/default_pisp_rules.json +5 -5
- package/docker/ml-testing-toolkit/spec_files/rules_validation/default.json +10 -10
- package/package.json +3 -3
- package/src/InboundServer/handlers.js +114 -52
- package/src/OutboundServer/api.yaml +105 -32
- package/src/OutboundServer/api_interfaces/openapi.d.ts +46 -16
- package/src/OutboundServer/api_template/components/schemas/accountsResponse.yaml +9 -0
- package/src/OutboundServer/api_template/components/schemas/partiesByIdResponse.yaml +10 -3
- package/src/OutboundServer/api_template/components/schemas/quotesPostResponse.yaml +42 -34
- package/src/OutboundServer/api_template/components/schemas/simpleTransfersPostResponse.yaml +9 -2
- package/src/OutboundServer/api_template/components/schemas/transferRequest.yaml +3 -0
- package/src/OutboundServer/api_template/components/schemas/transferResponse.yaml +28 -2
- package/src/OutboundServer/api_template/components/schemas/transferStatusResponse.yaml +8 -1
- package/src/OutboundServer/handlers.js +1 -1
- package/src/config.js +1 -1
- package/src/lib/model/AccountsModel.js +13 -11
- package/src/lib/model/InboundTransfersModel.js +166 -24
- package/src/lib/model/OutboundRequestToPayModel.js +5 -6
- package/src/lib/model/OutboundRequestToPayTransferModel.js +2 -2
- package/src/lib/model/OutboundTransfersModel.js +261 -56
- package/src/lib/model/PartiesModel.js +15 -2
- package/src/lib/model/common/BackendError.js +28 -4
- package/src/lib/model/common/index.js +2 -1
- package/test/__mocks__/@mojaloop/sdk-standard-components.js +3 -2
- package/test/integration/lib/Outbound/parties.test.js +2 -0
- package/test/integration/lib/Outbound/quotes.test.js +2 -0
- package/test/integration/lib/Outbound/simpleTransfers.test.js +2 -0
- package/test/unit/InboundServer.test.js +9 -9
- package/test/unit/TestServer.test.js +11 -13
- package/test/unit/api/accounts/data/postAccountsErrorMojaloopResponse.json +11 -3
- package/test/unit/api/accounts/data/postAccountsSuccessResponse.json +14 -0
- package/test/unit/api/accounts/data/postAccountsSuccessResponseWithError1.json +13 -0
- package/test/unit/api/accounts/data/postAccountsSuccessResponseWithError2.json +18 -0
- package/test/unit/api/accounts/utils.js +15 -1
- package/test/unit/api/transfers/data/getTransfersCommittedResponse.json +18 -15
- package/test/unit/api/transfers/data/getTransfersErrorNotFound.json +1 -0
- package/test/unit/api/transfers/data/postTransfersErrorMojaloopResponse.json +9 -0
- package/test/unit/api/transfers/data/postTransfersErrorTimeoutResponse.json +1 -0
- package/test/unit/api/transfers/data/postTransfersSuccessResponse.json +74 -47
- package/test/unit/api/transfers/utils.js +85 -4
- package/test/unit/data/commonHttpHeaders.json +1 -0
- package/test/unit/inboundApi/handlers.test.js +45 -14
- package/test/unit/lib/model/AccountsModel.test.js +9 -6
- package/test/unit/lib/model/InboundTransfersModel.test.js +210 -30
- package/test/unit/lib/model/OutboundRequestToPayModel.test.js +1 -1
- package/test/unit/lib/model/OutboundRequestToPayTransferModel.test.js +3 -3
- package/test/unit/lib/model/OutboundTransfersModel.test.js +826 -157
- package/test/unit/lib/model/PartiesModel.test.js +13 -7
- package/test/unit/lib/model/QuotesModel.test.js +8 -2
- package/test/unit/lib/model/TransfersModel.test.js +8 -2
- package/test/unit/lib/model/data/defaultConfig.json +9 -9
- package/test/unit/lib/model/data/mockArguments.json +97 -40
- package/test/unit/lib/model/data/payeeParty.json +13 -11
- package/test/unit/lib/model/data/quoteResponse.json +36 -25
- package/test/unit/lib/model/data/transferFulfil.json +5 -3
|
@@ -155,9 +155,12 @@ describe('PartiesModel', () => {
|
|
|
155
155
|
model.run = jest.fn(() => Promise.resolve());
|
|
156
156
|
|
|
157
157
|
const message = {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
body: {
|
|
159
|
+
party: {
|
|
160
|
+
Iam: 'the-body'
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
headers: {}
|
|
161
164
|
};
|
|
162
165
|
|
|
163
166
|
const onRequestActionPromise = new Promise((resolve, reject) => {
|
|
@@ -175,7 +178,7 @@ describe('PartiesModel', () => {
|
|
|
175
178
|
|
|
176
179
|
// check that this.context.data is updated
|
|
177
180
|
expect(model.context.data).toEqual({
|
|
178
|
-
...message,
|
|
181
|
+
party: { ...message },
|
|
179
182
|
// current state will be updated by onAfterTransition which isn't called
|
|
180
183
|
// when manual invocation of transition handler happens
|
|
181
184
|
currentState: 'start'
|
|
@@ -216,9 +219,12 @@ describe('PartiesModel', () => {
|
|
|
216
219
|
model.run = jest.fn(() => Promise.resolve());
|
|
217
220
|
|
|
218
221
|
const message = {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
+
body: {
|
|
223
|
+
party: {
|
|
224
|
+
Iam: 'the-body'
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
headers: {}
|
|
222
228
|
};
|
|
223
229
|
|
|
224
230
|
const onRequestActionPromise = new Promise((resolve, reject) => {
|
|
@@ -142,7 +142,10 @@ describe('QuotesModel', () => {
|
|
|
142
142
|
// mock workflow execution which is tested in separate case
|
|
143
143
|
model.run = jest.fn(() => Promise.resolve());
|
|
144
144
|
|
|
145
|
-
const message = {
|
|
145
|
+
const message = {
|
|
146
|
+
body: { ...putQuotesResponse },
|
|
147
|
+
headers: {}
|
|
148
|
+
};
|
|
146
149
|
|
|
147
150
|
const onRequestActionPromise = new Promise((resolve, reject) => {
|
|
148
151
|
// manually invoke transition handler
|
|
@@ -200,7 +203,10 @@ describe('QuotesModel', () => {
|
|
|
200
203
|
// mock workflow execution which is tested in separate case
|
|
201
204
|
model.run = jest.fn(() => Promise.resolve());
|
|
202
205
|
|
|
203
|
-
const message = {
|
|
206
|
+
const message = {
|
|
207
|
+
body: { ...putQuotesResponse },
|
|
208
|
+
headers: {}
|
|
209
|
+
};
|
|
204
210
|
|
|
205
211
|
const onRequestActionPromise = new Promise((resolve, reject) => {
|
|
206
212
|
// manually invoke transition handler
|
|
@@ -142,7 +142,10 @@ describe('TransfersModel', () => {
|
|
|
142
142
|
// mock workflow execution which is tested in separate case
|
|
143
143
|
model.run = jest.fn(() => Promise.resolve());
|
|
144
144
|
|
|
145
|
-
const message = {
|
|
145
|
+
const message = {
|
|
146
|
+
body: { ...putTransfersResponse },
|
|
147
|
+
headers: {}
|
|
148
|
+
};
|
|
146
149
|
|
|
147
150
|
const onRequestActionPromise = new Promise((resolve, reject) => {
|
|
148
151
|
// manually invoke transition handler
|
|
@@ -200,7 +203,10 @@ describe('TransfersModel', () => {
|
|
|
200
203
|
// mock workflow execution which is tested in separate case
|
|
201
204
|
model.run = jest.fn(() => Promise.resolve());
|
|
202
205
|
|
|
203
|
-
const message = {
|
|
206
|
+
const message = {
|
|
207
|
+
body: { ...putTransfersResponse },
|
|
208
|
+
headers: {}
|
|
209
|
+
};
|
|
204
210
|
|
|
205
211
|
const onRequestActionPromise = new Promise((resolve, reject) => {
|
|
206
212
|
// manually invoke transition handler
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"inbound": {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
"port": 4000,
|
|
4
|
+
"tls": {
|
|
5
|
+
"mutualTLS": { "enabled": false },
|
|
6
|
+
"creds": {
|
|
7
|
+
"ca": null,
|
|
8
|
+
"cert": null,
|
|
9
|
+
"key": null
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
12
|
},
|
|
13
13
|
"outbound": {
|
|
14
14
|
"port": 4001,
|
|
@@ -1,50 +1,100 @@
|
|
|
1
1
|
{
|
|
2
2
|
"quoteRequest": {
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"expiration": "2019-06-04T04:02:10.378Z",
|
|
11
|
-
"payer": {
|
|
12
|
-
"partyIdInfo": {
|
|
13
|
-
"partyIdType": "MSISDN",
|
|
14
|
-
"partyIdentifier": "17855501914",
|
|
15
|
-
"fspId": "mojaloop-sdk"
|
|
3
|
+
"body": {
|
|
4
|
+
"quoteId": "fake-quote-id",
|
|
5
|
+
"transactionId": "fake-transaction-id",
|
|
6
|
+
"amountType": "SEND",
|
|
7
|
+
"amount": {
|
|
8
|
+
"currency": "XOF",
|
|
9
|
+
"amount": 10
|
|
16
10
|
},
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
11
|
+
"expiration": "2019-06-04T04:02:10.378Z",
|
|
12
|
+
"payer": {
|
|
13
|
+
"partyIdInfo": {
|
|
14
|
+
"partyIdType": "MSISDN",
|
|
15
|
+
"partyIdentifier": "17855501914",
|
|
16
|
+
"fspId": "mojaloop-sdk"
|
|
21
17
|
},
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"partySubIdOrType": "PASSPORT",
|
|
32
|
-
"fspId": "goldenpayeefsp"
|
|
18
|
+
"personalInfo": {
|
|
19
|
+
"complexName": {
|
|
20
|
+
"firstName": "Murthy",
|
|
21
|
+
"lastName": "Kakarlamudi"
|
|
22
|
+
},
|
|
23
|
+
"dateOfBirth": "2010-10-10"
|
|
24
|
+
},
|
|
25
|
+
"name": "Murthy Kakarlamudi",
|
|
26
|
+
"merchantClassificationCode": "123"
|
|
33
27
|
},
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
28
|
+
"payee": {
|
|
29
|
+
"partyIdInfo": {
|
|
30
|
+
"partyIdType": "PERSONAL_ID",
|
|
31
|
+
"partyIdentifier": "123456789",
|
|
32
|
+
"partySubIdOrType": "PASSPORT",
|
|
33
|
+
"fspId": "goldenpayeefsp"
|
|
38
34
|
},
|
|
39
|
-
"
|
|
35
|
+
"personalInfo": {
|
|
36
|
+
"complexName": {
|
|
37
|
+
"firstName": "Sridevi",
|
|
38
|
+
"lastName": "Miriyala"
|
|
39
|
+
},
|
|
40
|
+
"dateOfBirth": "2010-10-10"
|
|
41
|
+
},
|
|
42
|
+
"name": "Sridevi Miriyala",
|
|
43
|
+
"merchantClassificationCode": "456"
|
|
44
|
+
},
|
|
45
|
+
"transactionType": {
|
|
46
|
+
"scenario": "TRANSFER",
|
|
47
|
+
"initiator": "PAYER",
|
|
48
|
+
"initiatorType": "CONSUMER"
|
|
40
49
|
},
|
|
41
|
-
"
|
|
42
|
-
|
|
50
|
+
"extensionList": {
|
|
51
|
+
"extension": [{
|
|
52
|
+
"key": "qkey1",
|
|
53
|
+
"value": "qvalue1"
|
|
54
|
+
}, {
|
|
55
|
+
"key": "qkey2",
|
|
56
|
+
"value": "qvalue2"
|
|
57
|
+
}]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"internalQuoteRequest": {
|
|
62
|
+
"quoteId": "fake-quote-id",
|
|
63
|
+
"transactionId": "fake-transaction-id",
|
|
64
|
+
"to": {
|
|
65
|
+
"idType": "PERSONAL_ID",
|
|
66
|
+
"idValue": "123456789",
|
|
67
|
+
"idSubValue": "PASSPORT",
|
|
68
|
+
"fspId": "goldenpayeefsp",
|
|
69
|
+
"displayName": "Sridevi Miriyala",
|
|
70
|
+
"dateOfBirth": "2010-10-10",
|
|
71
|
+
"firstName": "Sridevi",
|
|
72
|
+
"lastName": "Miriyala"
|
|
73
|
+
},
|
|
74
|
+
"from": {
|
|
75
|
+
"idType": "MSISDN",
|
|
76
|
+
"idValue": "17855501914",
|
|
77
|
+
"fspId": "mojaloop-sdk",
|
|
78
|
+
"displayName": "Murthy Kakarlamudi",
|
|
79
|
+
"dateOfBirth": "2010-10-10",
|
|
80
|
+
"firstName": "Murthy",
|
|
81
|
+
"lastName": "Kakarlamudi"
|
|
43
82
|
},
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
83
|
+
"amountType": "SEND",
|
|
84
|
+
"amount": 10,
|
|
85
|
+
"currency": "XOF",
|
|
86
|
+
"transactionType": "TRANSFER",
|
|
87
|
+
"initiator": "PAYER",
|
|
88
|
+
"initiatorType": "CONSUMER",
|
|
89
|
+
"expiration": "2019-06-04T04:02:10.378Z",
|
|
90
|
+
"extensionList": {
|
|
91
|
+
"extension": [{
|
|
92
|
+
"key": "qkey1",
|
|
93
|
+
"value": "qvalue1"
|
|
94
|
+
}, {
|
|
95
|
+
"key": "qkey2",
|
|
96
|
+
"value": "qvalue2"
|
|
97
|
+
}]
|
|
48
98
|
}
|
|
49
99
|
},
|
|
50
100
|
"internalQuoteResponse": {
|
|
@@ -55,7 +105,14 @@
|
|
|
55
105
|
"payeeFspCommission": 0,
|
|
56
106
|
"condition": "fH9pAYDQbmoZLPbvv3CSW2RfjU4jvM4ApG_fqGnR7Xs",
|
|
57
107
|
"expiration": "2019-11-12T09:02:10.378Z",
|
|
58
|
-
"isValid": 1
|
|
108
|
+
"isValid": 1,
|
|
109
|
+
"extensionList": [{
|
|
110
|
+
"key": "qkey1",
|
|
111
|
+
"value": "qvalue1"
|
|
112
|
+
}, {
|
|
113
|
+
"key": "qkey2",
|
|
114
|
+
"value": "qvalue2"
|
|
115
|
+
}]
|
|
59
116
|
},
|
|
60
117
|
"internalGetOTPResponse" : {
|
|
61
118
|
"value": "123456"
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
2
|
+
"body": {
|
|
3
|
+
"party": {
|
|
4
|
+
"partyIdInfo": {
|
|
5
|
+
"partyIdType": "PERSONAL_ID",
|
|
6
|
+
"partyIdentifier": "123456789",
|
|
7
|
+
"partySubIdOrType": "PASSPORT",
|
|
8
|
+
"fspId": "MobileMoney"
|
|
9
|
+
},
|
|
10
|
+
"personalInfo": {
|
|
11
|
+
"complexName": {
|
|
12
|
+
"firstName": "John",
|
|
13
|
+
"lastName": "Doe"
|
|
14
|
+
}
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
}
|
|
@@ -1,31 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "quoteResponse",
|
|
3
3
|
"data": {
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
4
|
+
"body": {
|
|
5
|
+
"transferAmount": {
|
|
6
|
+
"amount": "500",
|
|
7
|
+
"currency": "USD"
|
|
8
|
+
},
|
|
9
|
+
"payeeReceiveAmount": {
|
|
10
|
+
"amount": "490",
|
|
11
|
+
"currency": "USD"
|
|
12
|
+
},
|
|
13
|
+
"payeeFspFee": {
|
|
14
|
+
"amount": "5",
|
|
15
|
+
"currency": "USD"
|
|
16
|
+
},
|
|
17
|
+
"payeeFspCommission": {
|
|
18
|
+
"amount": "5",
|
|
19
|
+
"currency": "USD"
|
|
20
|
+
},
|
|
21
|
+
"geoCode": {
|
|
22
|
+
"latitude": "53.295971",
|
|
23
|
+
"longitude": "-0.038500"
|
|
24
|
+
},
|
|
25
|
+
"expiration": "2017-11-15T14:17:09.663+01:00",
|
|
26
|
+
"ilpPacket": "AQAAAAAAACasIWcuc2UubW9iaWxlbW9uZXkubXNpc2RuLjEyMzQ1Njc4OYIEIXsNCiAgICAidHJhbnNhY3Rpb25JZCI6ICI4NWZlYWMyZi0zOWIyLTQ5MWItODE3ZS00YTAzMjAzZDRmMTQiLA0KICAgICJxdW90ZUlkIjogIjdjMjNlODBjLWQwNzgtNDA3Ny04MjYzLTJjMDQ3ODc2ZmNmNiIsDQogICAgInBheWVlIjogew0KICAgICAgICAicGFydHlJZEluZm8iOiB7DQogICAgICAgICAgICAicGFydHlJZFR5cGUiOiAiTVNJU0ROIiwNCiAgICAgICAgICAgICJwYXJ0eUlkZW50aWZpZXIiOiAiMTIzNDU2Nzg5IiwNCiAgICAgICAgICAgICJmc3BJZCI6ICJNb2JpbGVNb25leSINCiAgICAgICAgfSwNCiAgICAgICAgInBlcnNvbmFsSW5mbyI6IHsNCiAgICAgICAgICAgICJjb21wbGV4TmFtZSI6IHsNCiAgICAgICAgICAgICAgICAiZmlyc3ROYW1lIjogIkhlbnJpayIsDQogICAgICAgICAgICAgICAgImxhc3ROYW1lIjogIkthcmxzc29uIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSwNCiAgICAicGF5ZXIiOiB7DQogICAgICAgICJwZXJzb25hbEluZm8iOiB7DQogICAgICAgICAgICAiY29tcGxleE5hbWUiOiB7DQogICAgICAgICAgICAgICAgImZpcnN0TmFtZSI6ICJNYXRzIiwNCiAgICAgICAgICAgICAgICAibGFzdE5hbWUiOiAiSGFnbWFuIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICAicGFydHlJZEluZm8iOiB7DQogICAgICAgICAgICAicGFydHlJZFR5cGUiOiAiSUJBTiIsDQogICAgICAgICAgICAicGFydHlJZGVudGlmaWVyIjogIlNFNDU1MDAwMDAwMDA1ODM5ODI1NzQ2NiIsDQogICAgICAgICAgICAiZnNwSWQiOiAiQmFua05yT25lIg0KICAgICAgICB9DQogICAgfSwNCiAgICAiYW1vdW50Ijogew0KICAgICAgICAiYW1vdW50IjogIjEwMCIsDQogICAgICAgICJjdXJyZW5jeSI6ICJVU0QiDQogICAgfSwNCiAgICAidHJhbnNhY3Rpb25UeXBlIjogew0KICAgICAgICAic2NlbmFyaW8iOiAiVFJBTlNGRVIiLA0KICAgICAgICAiaW5pdGlhdG9yIjogIlBBWUVSIiwNCiAgICAgICAgImluaXRpYXRvclR5cGUiOiAiQ09OU1VNRVIiDQogICAgfSwNCiAgICAibm90ZSI6ICJGcm9tIE1hdHMiDQp9DQo\u003d\u003d",
|
|
27
|
+
"condition": "fH9pAYDQbmoZLPbvv3CSW2RfjU4jvM4ApG_fqGnR7Xs",
|
|
28
|
+
"extensionList": {
|
|
29
|
+
"extension": [{
|
|
30
|
+
"key": "qkey1",
|
|
31
|
+
"value": "qvalue1"
|
|
32
|
+
}, {
|
|
33
|
+
"key": "qkey2",
|
|
34
|
+
"value": "qvalue2"
|
|
35
|
+
}]
|
|
36
|
+
}
|
|
7
37
|
},
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
"payeeFspFee": {
|
|
13
|
-
"amount": "5",
|
|
14
|
-
"currency": "USD"
|
|
15
|
-
},
|
|
16
|
-
"payeeFspCommission": {
|
|
17
|
-
"amount": "5",
|
|
18
|
-
"currency": "USD"
|
|
19
|
-
},
|
|
20
|
-
"geoCode": {
|
|
21
|
-
"latitude": "53.295971",
|
|
22
|
-
"longitude": "-0.038500"
|
|
23
|
-
},
|
|
24
|
-
"expiration": "2017-11-15T14:17:09.663+01:00",
|
|
25
|
-
"ilpPacket": "AQAAAAAAACasIWcuc2UubW9iaWxlbW9uZXkubXNpc2RuLjEyMzQ1Njc4OYIEIXsNCiAgICAidHJhbnNhY3Rpb25JZCI6ICI4NWZlYWMyZi0zOWIyLTQ5MWItODE3ZS00YTAzMjAzZDRmMTQiLA0KICAgICJxdW90ZUlkIjogIjdjMjNlODBjLWQwNzgtNDA3Ny04MjYzLTJjMDQ3ODc2ZmNmNiIsDQogICAgInBheWVlIjogew0KICAgICAgICAicGFydHlJZEluZm8iOiB7DQogICAgICAgICAgICAicGFydHlJZFR5cGUiOiAiTVNJU0ROIiwNCiAgICAgICAgICAgICJwYXJ0eUlkZW50aWZpZXIiOiAiMTIzNDU2Nzg5IiwNCiAgICAgICAgICAgICJmc3BJZCI6ICJNb2JpbGVNb25leSINCiAgICAgICAgfSwNCiAgICAgICAgInBlcnNvbmFsSW5mbyI6IHsNCiAgICAgICAgICAgICJjb21wbGV4TmFtZSI6IHsNCiAgICAgICAgICAgICAgICAiZmlyc3ROYW1lIjogIkhlbnJpayIsDQogICAgICAgICAgICAgICAgImxhc3ROYW1lIjogIkthcmxzc29uIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSwNCiAgICAicGF5ZXIiOiB7DQogICAgICAgICJwZXJzb25hbEluZm8iOiB7DQogICAgICAgICAgICAiY29tcGxleE5hbWUiOiB7DQogICAgICAgICAgICAgICAgImZpcnN0TmFtZSI6ICJNYXRzIiwNCiAgICAgICAgICAgICAgICAibGFzdE5hbWUiOiAiSGFnbWFuIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICAicGFydHlJZEluZm8iOiB7DQogICAgICAgICAgICAicGFydHlJZFR5cGUiOiAiSUJBTiIsDQogICAgICAgICAgICAicGFydHlJZGVudGlmaWVyIjogIlNFNDU1MDAwMDAwMDA1ODM5ODI1NzQ2NiIsDQogICAgICAgICAgICAiZnNwSWQiOiAiQmFua05yT25lIg0KICAgICAgICB9DQogICAgfSwNCiAgICAiYW1vdW50Ijogew0KICAgICAgICAiYW1vdW50IjogIjEwMCIsDQogICAgICAgICJjdXJyZW5jeSI6ICJVU0QiDQogICAgfSwNCiAgICAidHJhbnNhY3Rpb25UeXBlIjogew0KICAgICAgICAic2NlbmFyaW8iOiAiVFJBTlNGRVIiLA0KICAgICAgICAiaW5pdGlhdG9yIjogIlBBWUVSIiwNCiAgICAgICAgImluaXRpYXRvclR5cGUiOiAiQ09OU1VNRVIiDQogICAgfSwNCiAgICAibm90ZSI6ICJGcm9tIE1hdHMiDQp9DQo\u003d\u003d",
|
|
26
|
-
"condition": "fH9pAYDQbmoZLPbvv3CSW2RfjU4jvM4ApG_fqGnR7Xs"
|
|
27
|
-
},
|
|
28
|
-
"headers": {
|
|
29
|
-
"fspiop-source": "foo"
|
|
38
|
+
"headers": {
|
|
39
|
+
"fspiop-source": "foo"
|
|
40
|
+
}
|
|
30
41
|
}
|
|
31
42
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "transferFulfil",
|
|
3
3
|
"data": {
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
"body": {
|
|
5
|
+
"fulfilment": "87mm1-reS3SAi8oIWXgBkLmgWc1MkZ_yLbFDX5XAdo5o",
|
|
6
|
+
"completedTimestamp": "2017-11-15T14:16:09.663+01:00",
|
|
7
|
+
"transferState": "COMMITTED"
|
|
8
|
+
}
|
|
7
9
|
}
|
|
8
10
|
}
|