@mojaloop/api-snippets 17.0.0 → 17.0.1
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/CHANGELOG.md +8 -0
- package/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml +2673 -0
- package/lib/example.d.ts +1 -1
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/index.d.ts +0 -0
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/index.js +0 -0
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/index.js.map +1 -1
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/json-schemas.json +8987 -8769
- package/lib/sdk-scheme-adapter/v2_0_0/backend/openapi.d.ts +4391 -0
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/openapi.js +0 -0
- package/lib/sdk-scheme-adapter/v2_0_0/backend/openapi.js.map +1 -0
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/schemas.d.ts +3158 -3295
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/schemas.js +51 -58
- package/lib/sdk-scheme-adapter/v2_0_0/backend/schemas.js.map +1 -0
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/types.d.ts +51 -58
- package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/types.js +0 -0
- package/lib/sdk-scheme-adapter/v2_0_0/backend/types.js.map +1 -0
- package/lib/sdk-scheme-adapter/v2_0_0/index.d.ts +2 -2
- package/lib/sdk-scheme-adapter/v2_0_0/index.js +3 -3
- package/package.json +22 -22
- package/sdk-scheme-adapter/v2_0_0/backend/openapi.yaml +1704 -0
- package/docs/sdk-scheme-adapter-inbound-v2_0_0-openapi3-snippets.yaml +0 -2889
- package/lib/sdk-scheme-adapter/v2_0_0/inbound/openapi.d.ts +0 -4350
- package/lib/sdk-scheme-adapter/v2_0_0/inbound/openapi.js.map +0 -1
- package/lib/sdk-scheme-adapter/v2_0_0/inbound/schemas.js.map +0 -1
- package/lib/sdk-scheme-adapter/v2_0_0/inbound/types.js.map +0 -1
- package/sdk-scheme-adapter/v2_0_0/inbound/openapi.yaml +0 -1074
@@ -0,0 +1,1704 @@
|
|
1
|
+
openapi: 3.0.1
|
2
|
+
info:
|
3
|
+
title: Mojaloop SDK Backend API
|
4
|
+
description: |
|
5
|
+
API specification for the SDK Backend API.
|
6
|
+
|
7
|
+
To be implemented by the Digital Financial Service Provider (DFSP) to work in tandem with the Mojaloop SDK (`mojaloop/sdk-scheme-adapter`).
|
8
|
+
|
9
|
+
This API is not to be confused with the Mojaloop SDK's Inbound or Outbound API.
|
10
|
+
|
11
|
+
TODO: More explanation and links about the SDK adapter's Inbound and Outbound API.
|
12
|
+
|
13
|
+
**Note on terminology:** The term "Switch" is equal to the term "Hub", and the term "FSP" is equal to the term "DFSP".
|
14
|
+
license:
|
15
|
+
name: Apache License Version 2.0, January 2004
|
16
|
+
url: http://www.apache.org/licenses/
|
17
|
+
version: 1.1.0
|
18
|
+
|
19
|
+
paths:
|
20
|
+
/:
|
21
|
+
get:
|
22
|
+
operationId: BackendHealthCheck
|
23
|
+
responses:
|
24
|
+
'200':
|
25
|
+
description: Returns empty body if the service is running.
|
26
|
+
summary: Health check endpoint.
|
27
|
+
/bulkQuotes:
|
28
|
+
post:
|
29
|
+
operationId: BackendBulkQuotesPost
|
30
|
+
requestBody:
|
31
|
+
content:
|
32
|
+
application/json:
|
33
|
+
schema:
|
34
|
+
$ref: '#/components/schemas/bulkQuoteRequest'
|
35
|
+
description: Incoming request for a bulk quotation.
|
36
|
+
responses:
|
37
|
+
'200':
|
38
|
+
content:
|
39
|
+
application/json:
|
40
|
+
schema:
|
41
|
+
$ref: '#/components/schemas/bulkQuoteResponse'
|
42
|
+
description: A response to the bulk quote request.
|
43
|
+
'400':
|
44
|
+
$ref: '#/components/responses/400'
|
45
|
+
'500':
|
46
|
+
$ref: '#/components/responses/500'
|
47
|
+
summary: Requests a bulk quote.
|
48
|
+
tags:
|
49
|
+
- BulkQuotes
|
50
|
+
/bulkQuotes/{idValue}:
|
51
|
+
get:
|
52
|
+
operationId: BackendBulkQuotesGet
|
53
|
+
parameters:
|
54
|
+
- $ref: '#/components/parameters/idValue'
|
55
|
+
responses:
|
56
|
+
'200':
|
57
|
+
content:
|
58
|
+
application/json:
|
59
|
+
schema:
|
60
|
+
$ref: '#/components/schemas/bulkQuoteResponse'
|
61
|
+
description: Response containing details of the requested bulk quote.
|
62
|
+
'400':
|
63
|
+
$ref: '#/components/responses/400'
|
64
|
+
'404':
|
65
|
+
$ref: '#/components/responses/404'
|
66
|
+
'500':
|
67
|
+
$ref: '#/components/responses/500'
|
68
|
+
summary: Requests information relating to a bulk quote identified by the specified identifier value.
|
69
|
+
tags:
|
70
|
+
- BulkQuotes
|
71
|
+
/bulkTransactions/{bulkTransactionId}:
|
72
|
+
put:
|
73
|
+
description: The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to amend information regarding a bulk transaction, i.e. when autoAcceptParty or autoAcceptQuote is false then the payer need to provide confirmation to proceed with further processing of the request. The `{bulkTransactionId}` in the URI should contain the `bulkTransactionId` that was used for the creation of the bulk transfer.
|
74
|
+
operationId: BackendBulkTransactionsPut
|
75
|
+
parameters:
|
76
|
+
- $ref: '#/components/parameters/bulkTransactionId'
|
77
|
+
requestBody:
|
78
|
+
content:
|
79
|
+
application/json:
|
80
|
+
schema:
|
81
|
+
properties:
|
82
|
+
bulkHomeTransactionID:
|
83
|
+
description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
|
84
|
+
type: string
|
85
|
+
individualTransferResults:
|
86
|
+
description: List of individual transfers in a bulk transfer with accept party information.
|
87
|
+
items:
|
88
|
+
description: Data model for the 'individualTransfer' while accepting party or quote.
|
89
|
+
properties:
|
90
|
+
homeTransactionId:
|
91
|
+
description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
|
92
|
+
type: string
|
93
|
+
transactionId:
|
94
|
+
description: Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).
|
95
|
+
example: b51ec534-ee48-4575-b6a9-ead2955b8069
|
96
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
97
|
+
title: CorrelationId
|
98
|
+
type: string
|
99
|
+
required:
|
100
|
+
- homeTransactionId
|
101
|
+
type: object
|
102
|
+
minItems: 1
|
103
|
+
type: array
|
104
|
+
required:
|
105
|
+
- bulkHomeTransactionID
|
106
|
+
- individualTransferResults
|
107
|
+
type: object
|
108
|
+
description: Bulk transaction request body.
|
109
|
+
required: true
|
110
|
+
responses:
|
111
|
+
'202':
|
112
|
+
description: Bulk transaction information successfully amended.
|
113
|
+
'400':
|
114
|
+
$ref: '#/components/responses/400'
|
115
|
+
'500':
|
116
|
+
$ref: '#/components/responses/500'
|
117
|
+
summary: Callbacks for the bulk transaction request.
|
118
|
+
tags:
|
119
|
+
- BulkTransactionsPut
|
120
|
+
/bulkTransfers:
|
121
|
+
post:
|
122
|
+
operationId: BackendBulkTransfersPost
|
123
|
+
requestBody:
|
124
|
+
content:
|
125
|
+
application/json:
|
126
|
+
schema:
|
127
|
+
$ref: '#/components/schemas/bulkTransferRequest'
|
128
|
+
description: An incoming bulk transfer request.
|
129
|
+
responses:
|
130
|
+
'200':
|
131
|
+
content:
|
132
|
+
application/json:
|
133
|
+
schema:
|
134
|
+
$ref: '#/components/schemas/bulkTransferResponse'
|
135
|
+
description: The bulk transfer was accepted.
|
136
|
+
'400':
|
137
|
+
$ref: '#/components/responses/400'
|
138
|
+
'500':
|
139
|
+
$ref: '#/components/responses/500'
|
140
|
+
summary: Execute bulk transfer of funds from an external account to internal accounts.
|
141
|
+
tags:
|
142
|
+
- BulkTransfers
|
143
|
+
/bulkTransfers/{idValue}:
|
144
|
+
get:
|
145
|
+
operationId: BackendBulkTransfersGet
|
146
|
+
parameters:
|
147
|
+
- $ref: '#/components/parameters/idValue'
|
148
|
+
responses:
|
149
|
+
'200':
|
150
|
+
content:
|
151
|
+
application/json:
|
152
|
+
schema:
|
153
|
+
$ref: '#/components/schemas/bulkTransferResponse'
|
154
|
+
description: Response containing details of the requested bulk transfer.
|
155
|
+
'400':
|
156
|
+
$ref: '#/components/responses/400'
|
157
|
+
'404':
|
158
|
+
$ref: '#/components/responses/404'
|
159
|
+
'500':
|
160
|
+
$ref: '#/components/responses/500'
|
161
|
+
summary: Requests information relating to a bulk transfer identified by the specified identifier value.
|
162
|
+
tags:
|
163
|
+
- BulkTransfers
|
164
|
+
/otp/{requestToPayId}:
|
165
|
+
get:
|
166
|
+
operationId: BackendOtpGet
|
167
|
+
parameters:
|
168
|
+
- $ref: '#/components/parameters/requestToPayId'
|
169
|
+
responses:
|
170
|
+
'200':
|
171
|
+
content:
|
172
|
+
application/json:
|
173
|
+
schema:
|
174
|
+
$ref: '#/components/schemas/otpDetails'
|
175
|
+
description: Response containing details of the OTP.
|
176
|
+
'400':
|
177
|
+
$ref: '#/components/responses/400'
|
178
|
+
'404':
|
179
|
+
$ref: '#/components/responses/404'
|
180
|
+
'500':
|
181
|
+
$ref: '#/components/responses/500'
|
182
|
+
summary: Requests OTP.
|
183
|
+
tags:
|
184
|
+
- OTP
|
185
|
+
/participants/{idType}/{idValue}:
|
186
|
+
get:
|
187
|
+
description: The HTTP request `GET /participants/{idType}/{idValue}` is used to find out in which FSP the requested party, defined by `{idType}` and `{idValue}`, is located.
|
188
|
+
operationId: BackendParticipantsGetByTypeAndID
|
189
|
+
parameters:
|
190
|
+
- $ref: '#/components/parameters/idType'
|
191
|
+
- $ref: '#/components/parameters/idValue'
|
192
|
+
responses:
|
193
|
+
'200':
|
194
|
+
content:
|
195
|
+
application/json:
|
196
|
+
schema:
|
197
|
+
$ref: '#/components/schemas/participantsResponse'
|
198
|
+
description: Response containing details of the requested party.
|
199
|
+
'400':
|
200
|
+
$ref: '#/components/responses/400'
|
201
|
+
'404':
|
202
|
+
$ref: '#/components/responses/404'
|
203
|
+
'500':
|
204
|
+
$ref: '#/components/responses/500'
|
205
|
+
summary: Asks for the identifier (fspId) of the scheme participant (FSP) that can handle transfers for the specified identifier type and value.
|
206
|
+
tags:
|
207
|
+
- Participants
|
208
|
+
/participants/{idType}/{idValue}/{idSubValue}:
|
209
|
+
get:
|
210
|
+
description: The HTTP request `GET /participants/{idType}/{idValue}/{idSubValue}` is used to find out in which FSP the requested party, defined by `{idType}`, `{idValue}` and `{idSubValue}` is located.
|
211
|
+
operationId: BackendParticipantsGetByTypeIDAndSubId
|
212
|
+
parameters:
|
213
|
+
- $ref: '#/components/parameters/idType'
|
214
|
+
- $ref: '#/components/parameters/idValue'
|
215
|
+
- $ref: '#/components/parameters/idSubValue'
|
216
|
+
responses:
|
217
|
+
'200':
|
218
|
+
content:
|
219
|
+
application/json:
|
220
|
+
schema:
|
221
|
+
$ref: '#/components/schemas/participantsResponse'
|
222
|
+
description: Response containing details of the requested party.
|
223
|
+
'400':
|
224
|
+
$ref: '#/components/responses/400'
|
225
|
+
'404':
|
226
|
+
$ref: '#/components/responses/404'
|
227
|
+
'500':
|
228
|
+
$ref: '#/components/responses/500'
|
229
|
+
summary: Asks for the identifier (fspId) of the scheme participant (FSP) that can handle transfers for the specified identifier type and value.
|
230
|
+
tags:
|
231
|
+
- Participants
|
232
|
+
/parties/{idType}/{idValue}:
|
233
|
+
get:
|
234
|
+
description: The HTTP request `GET /parties/{idType}/{idValue}` is used to look up information regarding the requested transfer party, identified by `{idType}` and `{idValue}`.
|
235
|
+
operationId: BackendPartiesGetByTypeAndID
|
236
|
+
parameters:
|
237
|
+
- $ref: '#/components/parameters/idType'
|
238
|
+
- $ref: '#/components/parameters/idValue'
|
239
|
+
responses:
|
240
|
+
'200':
|
241
|
+
content:
|
242
|
+
application/json:
|
243
|
+
schema:
|
244
|
+
$ref: '#/components/schemas/transferParty'
|
245
|
+
description: Response containing details of the requested party.
|
246
|
+
'400':
|
247
|
+
$ref: '#/components/responses/400'
|
248
|
+
'404':
|
249
|
+
$ref: '#/components/responses/404'
|
250
|
+
'500':
|
251
|
+
$ref: '#/components/responses/500'
|
252
|
+
summary: Requests information relating to a transfer party identified by the specified identifier type and value.
|
253
|
+
tags:
|
254
|
+
- Parties
|
255
|
+
/parties/{idType}/{idValue}/{idSubValue}:
|
256
|
+
get:
|
257
|
+
description: The HTTP request `GET /parties/{idType}/{idValue}/{idSubValue}` is used to look up information regarding the requested transfer party, identified by `{idType}`, `{idValue}` and `{idSubValue}`.
|
258
|
+
operationId: BackendPartiesGetByTypeIdAndSubId
|
259
|
+
parameters:
|
260
|
+
- $ref: '#/components/parameters/idType'
|
261
|
+
- $ref: '#/components/parameters/idValue'
|
262
|
+
- $ref: '#/components/parameters/idSubValue'
|
263
|
+
responses:
|
264
|
+
'200':
|
265
|
+
content:
|
266
|
+
application/json:
|
267
|
+
schema:
|
268
|
+
$ref: '#/components/schemas/transferParty'
|
269
|
+
description: Response containing details of the requested party.
|
270
|
+
'400':
|
271
|
+
$ref: '#/components/responses/400'
|
272
|
+
'404':
|
273
|
+
$ref: '#/components/responses/404'
|
274
|
+
'500':
|
275
|
+
$ref: '#/components/responses/500'
|
276
|
+
summary: Requests information relating to a transfer party identified by the specified identifier type, value and subId value.
|
277
|
+
tags:
|
278
|
+
- Parties
|
279
|
+
/quoterequests:
|
280
|
+
post:
|
281
|
+
description: The HTTP request `POST /quoterequests` is used to request the creation of a quote for the provided financial transaction.
|
282
|
+
operationId: BackendQuoteRequest
|
283
|
+
requestBody:
|
284
|
+
content:
|
285
|
+
application/json:
|
286
|
+
schema:
|
287
|
+
$ref: '#/components/schemas/quoteRequest'
|
288
|
+
description: Request for a transfer quotation.
|
289
|
+
responses:
|
290
|
+
'200':
|
291
|
+
content:
|
292
|
+
application/json:
|
293
|
+
schema:
|
294
|
+
$ref: '#/components/schemas/quoteResponse'
|
295
|
+
description: A response to the transfer quotation request.
|
296
|
+
'400':
|
297
|
+
$ref: '#/components/responses/400'
|
298
|
+
'500':
|
299
|
+
$ref: '#/components/responses/500'
|
300
|
+
summary: Requests a quote for the specified transfer.
|
301
|
+
tags:
|
302
|
+
- Quotes
|
303
|
+
/transactionrequests:
|
304
|
+
post:
|
305
|
+
operationId: BackendTransactionRequest
|
306
|
+
requestBody:
|
307
|
+
content:
|
308
|
+
application/json:
|
309
|
+
schema:
|
310
|
+
$ref: '#/components/schemas/transactionRequest'
|
311
|
+
description: Request for Transaction Request.
|
312
|
+
responses:
|
313
|
+
'200':
|
314
|
+
content:
|
315
|
+
application/json:
|
316
|
+
schema:
|
317
|
+
$ref: '#/components/schemas/transactionRequestResponse'
|
318
|
+
description: A response to the transfer transaction request.
|
319
|
+
'400':
|
320
|
+
$ref: '#/components/responses/400'
|
321
|
+
'500':
|
322
|
+
$ref: '#/components/responses/500'
|
323
|
+
summary: Transaction request that supports pull based transfers.
|
324
|
+
tags:
|
325
|
+
- TransactionRequest
|
326
|
+
/transfers:
|
327
|
+
post:
|
328
|
+
description: The HTTP request `POST /transfers` is used to request the creation of a transfer for the transfer party.
|
329
|
+
operationId: BackendTransfersPost
|
330
|
+
requestBody:
|
331
|
+
content:
|
332
|
+
application/json:
|
333
|
+
schema:
|
334
|
+
$ref: '#/components/schemas/transferRequest'
|
335
|
+
description: An incoming transfer request.
|
336
|
+
responses:
|
337
|
+
'200':
|
338
|
+
content:
|
339
|
+
application/json:
|
340
|
+
schema:
|
341
|
+
$ref: '#/components/schemas/transferResponse'
|
342
|
+
description: The transfer was accepted.
|
343
|
+
'400':
|
344
|
+
$ref: '#/components/responses/400'
|
345
|
+
'500':
|
346
|
+
$ref: '#/components/responses/500'
|
347
|
+
summary: Transfers funds from an external account to an internal account.
|
348
|
+
tags:
|
349
|
+
- Transfers
|
350
|
+
/transfers/{transferId}:
|
351
|
+
get:
|
352
|
+
description: The HTTP request `GET /transfers/{transferId}` is used to get information regarding a transfer created or requested earlier. The `{transferId}` in the URI should contain the `transferId` that was used for the creation of the transfer.
|
353
|
+
operationId: BackendTransfersGet
|
354
|
+
parameters:
|
355
|
+
- $ref: '#/components/parameters/transferId'
|
356
|
+
responses:
|
357
|
+
'200':
|
358
|
+
content:
|
359
|
+
application/json:
|
360
|
+
schema:
|
361
|
+
$ref: '#/components/schemas/transferDetailsResponse'
|
362
|
+
description: The transfer was accepted.
|
363
|
+
'500':
|
364
|
+
$ref: '#/components/responses/500'
|
365
|
+
summary: Retrieves information for a specific transfer.
|
366
|
+
tags:
|
367
|
+
- Transfers
|
368
|
+
put:
|
369
|
+
description: The HTTP request `PUT /transfers/{transferId}` is used to receive notification for transfer being fulfiled when the FSP is a Payee.
|
370
|
+
operationId: BackendTransfersPut
|
371
|
+
parameters:
|
372
|
+
- $ref: '#/components/parameters/transferId'
|
373
|
+
requestBody:
|
374
|
+
content:
|
375
|
+
application/json:
|
376
|
+
schema:
|
377
|
+
$ref: '#/components/schemas/fulfilNotification'
|
378
|
+
description: An incoming notification for fulfiled transfer.
|
379
|
+
responses:
|
380
|
+
'200':
|
381
|
+
description: The notification was accepted.
|
382
|
+
'500':
|
383
|
+
$ref: '#/components/responses/500'
|
384
|
+
summary: Receive notification for a specific transfer.
|
385
|
+
tags:
|
386
|
+
- Transfers
|
387
|
+
|
388
|
+
components:
|
389
|
+
parameters:
|
390
|
+
bulkTransactionId:
|
391
|
+
description: Identifier of the bulk transaction to continue as returned in.
|
392
|
+
in: path
|
393
|
+
name: bulkTransactionId
|
394
|
+
required: true
|
395
|
+
schema:
|
396
|
+
description: Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).
|
397
|
+
example: b51ec534-ee48-4575-b6a9-ead2955b8069
|
398
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
399
|
+
title: CorrelationId
|
400
|
+
type: string
|
401
|
+
idSubValue:
|
402
|
+
description: A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
|
403
|
+
in: path
|
404
|
+
name: idSubValue
|
405
|
+
required: true
|
406
|
+
schema:
|
407
|
+
type: string
|
408
|
+
idType:
|
409
|
+
description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.
|
410
|
+
in: path
|
411
|
+
name: idType
|
412
|
+
required: true
|
413
|
+
schema:
|
414
|
+
type: string
|
415
|
+
idValue:
|
416
|
+
description: The identifier value.
|
417
|
+
in: path
|
418
|
+
name: idValue
|
419
|
+
required: true
|
420
|
+
schema:
|
421
|
+
type: string
|
422
|
+
requestToPayId:
|
423
|
+
in: path
|
424
|
+
name: requestToPayId
|
425
|
+
required: true
|
426
|
+
schema:
|
427
|
+
maxLength: 128
|
428
|
+
minLength: 1
|
429
|
+
type: string
|
430
|
+
transferId:
|
431
|
+
in: path
|
432
|
+
name: transferId
|
433
|
+
required: true
|
434
|
+
schema:
|
435
|
+
type: string
|
436
|
+
responses:
|
437
|
+
'400':
|
438
|
+
content:
|
439
|
+
application/json:
|
440
|
+
schema:
|
441
|
+
$ref: '#/components/schemas/errorResponse'
|
442
|
+
description: Malformed or missing required headers or parameters.
|
443
|
+
'404':
|
444
|
+
description: The party specified by the provided identifier type and value is not known to the server.
|
445
|
+
'500':
|
446
|
+
content:
|
447
|
+
application/json:
|
448
|
+
schema:
|
449
|
+
$ref: '#/components/schemas/errorResponse'
|
450
|
+
description: An error occurred processing the request.
|
451
|
+
schemas:
|
452
|
+
DateOfBirth:
|
453
|
+
description: Date of Birth of the Party.
|
454
|
+
example: '1966-06-16'
|
455
|
+
pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$
|
456
|
+
title: DateofBirth (type Date)
|
457
|
+
type: string
|
458
|
+
Extension:
|
459
|
+
description: Data model for the complex type Extension
|
460
|
+
properties:
|
461
|
+
key:
|
462
|
+
$ref: '#/components/schemas/ExtensionKey'
|
463
|
+
description: Extension key.
|
464
|
+
value:
|
465
|
+
$ref: '#/components/schemas/ExtensionValue'
|
466
|
+
description: Extension value.
|
467
|
+
required:
|
468
|
+
- key
|
469
|
+
- value
|
470
|
+
title: Extension
|
471
|
+
type: object
|
472
|
+
ExtensionKey:
|
473
|
+
description: Extension key.
|
474
|
+
maxLength: 32
|
475
|
+
minLength: 1
|
476
|
+
title: ExtensionKey
|
477
|
+
type: string
|
478
|
+
ExtensionList:
|
479
|
+
description: Data model for the complex type ExtensionList
|
480
|
+
properties:
|
481
|
+
extension:
|
482
|
+
description: Number of Extension elements
|
483
|
+
items:
|
484
|
+
$ref: '#/components/schemas/Extension'
|
485
|
+
maxItems: 16
|
486
|
+
minItems: 1
|
487
|
+
type: array
|
488
|
+
required:
|
489
|
+
- extension
|
490
|
+
title: ExtensionList
|
491
|
+
type: object
|
492
|
+
ExtensionValue:
|
493
|
+
description: Extension value.
|
494
|
+
maxLength: 128
|
495
|
+
minLength: 1
|
496
|
+
title: ExtensionValue
|
497
|
+
type: string
|
498
|
+
FirstName:
|
499
|
+
description: First name of the Party (Name Type).
|
500
|
+
example: Henrik
|
501
|
+
maxLength: 128
|
502
|
+
minLength: 1
|
503
|
+
pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
|
504
|
+
title: FirstName
|
505
|
+
type: string
|
506
|
+
FspId:
|
507
|
+
description: FSP identifier.
|
508
|
+
maxLength: 32
|
509
|
+
minLength: 1
|
510
|
+
title: FspId
|
511
|
+
type: string
|
512
|
+
IndividualQuote:
|
513
|
+
description: Data model for individual quote in a bulk quote request.
|
514
|
+
properties:
|
515
|
+
amount:
|
516
|
+
$ref: '#/components/schemas/money'
|
517
|
+
amountType:
|
518
|
+
$ref: '#/components/schemas/amountType'
|
519
|
+
currency:
|
520
|
+
$ref: '#/components/schemas/currency'
|
521
|
+
feesAmount:
|
522
|
+
$ref: '#/components/schemas/money'
|
523
|
+
feesCurrency:
|
524
|
+
$ref: '#/components/schemas/currency'
|
525
|
+
initiator:
|
526
|
+
$ref: '#/components/schemas/initiator'
|
527
|
+
initiatorType:
|
528
|
+
$ref: '#/components/schemas/initiatorType'
|
529
|
+
note:
|
530
|
+
description: An optional note associated with the quote.
|
531
|
+
maxLength: 128
|
532
|
+
minLength: 1
|
533
|
+
type: string
|
534
|
+
quoteId:
|
535
|
+
$ref: '#/components/schemas/quoteId'
|
536
|
+
to:
|
537
|
+
$ref: '#/components/schemas/transferParty'
|
538
|
+
transactionId:
|
539
|
+
$ref: '#/components/schemas/transactionId'
|
540
|
+
transactionType:
|
541
|
+
$ref: '#/components/schemas/transactionType'
|
542
|
+
required:
|
543
|
+
- quoteId
|
544
|
+
- transactionId
|
545
|
+
- to
|
546
|
+
- amountType
|
547
|
+
- amount
|
548
|
+
- currency
|
549
|
+
- transactionType
|
550
|
+
- initiator
|
551
|
+
- initiatorType
|
552
|
+
type: object
|
553
|
+
IndividualQuoteResultFailed:
|
554
|
+
description: Data model for failed individual quote in a bulk quote response.
|
555
|
+
properties:
|
556
|
+
errorResponse:
|
557
|
+
$ref: '#/components/schemas/errorResponse'
|
558
|
+
quoteId:
|
559
|
+
$ref: '#/components/schemas/quoteId'
|
560
|
+
required:
|
561
|
+
- quoteId
|
562
|
+
- errorResponse
|
563
|
+
type: object
|
564
|
+
IndividualQuoteResultSuccess:
|
565
|
+
description: Data model for successful individual quote in a bulk quote response.
|
566
|
+
properties:
|
567
|
+
payeeFspCommissionAmount:
|
568
|
+
$ref: '#/components/schemas/money'
|
569
|
+
payeeFspCommissionAmountCurrency:
|
570
|
+
$ref: '#/components/schemas/currency'
|
571
|
+
payeeFspFeeAmount:
|
572
|
+
$ref: '#/components/schemas/money'
|
573
|
+
payeeFspFeeAmountCurrency:
|
574
|
+
$ref: '#/components/schemas/currency'
|
575
|
+
payeeReceiveAmount:
|
576
|
+
$ref: '#/components/schemas/money'
|
577
|
+
payeeReceiveAmountCurrency:
|
578
|
+
$ref: '#/components/schemas/currency'
|
579
|
+
quoteId:
|
580
|
+
$ref: '#/components/schemas/quoteId'
|
581
|
+
transferAmount:
|
582
|
+
$ref: '#/components/schemas/money'
|
583
|
+
transferAmountCurrency:
|
584
|
+
$ref: '#/components/schemas/currency'
|
585
|
+
required:
|
586
|
+
- quoteId
|
587
|
+
type: object
|
588
|
+
IndividualTransfer:
|
589
|
+
description: Data model for individual transfer in a bulk transfer request.
|
590
|
+
properties:
|
591
|
+
amount:
|
592
|
+
$ref: '#/components/schemas/money'
|
593
|
+
amountType:
|
594
|
+
$ref: '#/components/schemas/amountType'
|
595
|
+
currency:
|
596
|
+
$ref: '#/components/schemas/currency'
|
597
|
+
feesAmount:
|
598
|
+
$ref: '#/components/schemas/money'
|
599
|
+
feesCurrency:
|
600
|
+
$ref: '#/components/schemas/currency'
|
601
|
+
initiator:
|
602
|
+
$ref: '#/components/schemas/initiator'
|
603
|
+
initiatorType:
|
604
|
+
$ref: '#/components/schemas/initiatorType'
|
605
|
+
note:
|
606
|
+
description: An optional note associated with the quote.
|
607
|
+
maxLength: 128
|
608
|
+
minLength: 1
|
609
|
+
type: string
|
610
|
+
to:
|
611
|
+
$ref: '#/components/schemas/transferParty'
|
612
|
+
transactionType:
|
613
|
+
$ref: '#/components/schemas/transactionType'
|
614
|
+
transferId:
|
615
|
+
$ref: '#/components/schemas/transferId'
|
616
|
+
required:
|
617
|
+
- transferId
|
618
|
+
- amount
|
619
|
+
- currency
|
620
|
+
type: object
|
621
|
+
IndividualTransferResult:
|
622
|
+
description: Data model for individual transfer in a bulk transfer response.
|
623
|
+
properties:
|
624
|
+
errorResponse:
|
625
|
+
$ref: '#/components/schemas/errorResponse'
|
626
|
+
extensionList:
|
627
|
+
$ref: '#/components/schemas/extensionList'
|
628
|
+
transferId:
|
629
|
+
$ref: '#/components/schemas/transferId'
|
630
|
+
required:
|
631
|
+
- transferId
|
632
|
+
type: object
|
633
|
+
LastName:
|
634
|
+
description: Last name of the Party (Name Type).
|
635
|
+
example: Karlsson
|
636
|
+
maxLength: 128
|
637
|
+
minLength: 1
|
638
|
+
pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
|
639
|
+
title: LastName
|
640
|
+
type: string
|
641
|
+
MerchantClassificationCode:
|
642
|
+
description: A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.
|
643
|
+
pattern: ^[\d]{1,4}$
|
644
|
+
title: MerchantClassificationCode
|
645
|
+
type: string
|
646
|
+
MiddleName:
|
647
|
+
description: Middle name of the Party (Name Type).
|
648
|
+
example: Johannes
|
649
|
+
maxLength: 128
|
650
|
+
minLength: 1
|
651
|
+
pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
|
652
|
+
title: MiddleName
|
653
|
+
type: string
|
654
|
+
Party:
|
655
|
+
description: Data model for the complex type Party.
|
656
|
+
properties:
|
657
|
+
merchantClassificationCode:
|
658
|
+
$ref: '#/components/schemas/MerchantClassificationCode'
|
659
|
+
name:
|
660
|
+
$ref: '#/components/schemas/PartyName'
|
661
|
+
partyIdInfo:
|
662
|
+
$ref: '#/components/schemas/PartyIdInfo'
|
663
|
+
personalInfo:
|
664
|
+
$ref: '#/components/schemas/PartyPersonalInfo'
|
665
|
+
required:
|
666
|
+
- partyIdInfo
|
667
|
+
title: Party
|
668
|
+
type: object
|
669
|
+
PartyComplexName:
|
670
|
+
description: Data model for the complex type PartyComplexName.
|
671
|
+
properties:
|
672
|
+
displayName:
|
673
|
+
description: Display name of the sender if known
|
674
|
+
type: string
|
675
|
+
firstName:
|
676
|
+
$ref: '#/components/schemas/FirstName'
|
677
|
+
idSubValue:
|
678
|
+
description: The sub identifier string used to identify the sender
|
679
|
+
type: string
|
680
|
+
idType:
|
681
|
+
$ref: '#/components/schemas/idType'
|
682
|
+
idValue:
|
683
|
+
description: The identifier string used to identify the sender
|
684
|
+
type: string
|
685
|
+
lastName:
|
686
|
+
$ref: '#/components/schemas/LastName'
|
687
|
+
middleName:
|
688
|
+
$ref: '#/components/schemas/MiddleName'
|
689
|
+
type:
|
690
|
+
$ref: '#/components/schemas/payerType'
|
691
|
+
title: PartyComplexName
|
692
|
+
type: object
|
693
|
+
PartyIdInfo:
|
694
|
+
description: Data model for the complex type PartyIdInfo.
|
695
|
+
properties:
|
696
|
+
extensionList:
|
697
|
+
$ref: '#/components/schemas/ExtensionList'
|
698
|
+
fspId:
|
699
|
+
$ref: '#/components/schemas/FspId'
|
700
|
+
partyIdType:
|
701
|
+
$ref: '#/components/schemas/PartyIdType'
|
702
|
+
partyIdentifier:
|
703
|
+
$ref: '#/components/schemas/PartyIdentifier'
|
704
|
+
partySubIdOrType:
|
705
|
+
$ref: '#/components/schemas/PartySubIdOrType'
|
706
|
+
required:
|
707
|
+
- partyIdType
|
708
|
+
- partyIdentifier
|
709
|
+
title: PartyIdInfo
|
710
|
+
type: object
|
711
|
+
PartyIdType:
|
712
|
+
description: |
|
713
|
+
This is a variant based on FSPIOP `PartyIdType` specification.
|
714
|
+
Main difference being the CONSENT and THIRD_PARTY_LINK enums.
|
715
|
+
|
716
|
+
Below are the allowed values for the enumeration.
|
717
|
+
- MSISDN - An MSISDN (Mobile Station International Subscriber Directory
|
718
|
+
Number, that is, the phone number) is used as reference to a participant.
|
719
|
+
The MSISDN identifier should be in international format according to the
|
720
|
+
[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).
|
721
|
+
Optionally, the MSISDN may be prefixed by a single plus sign, indicating the
|
722
|
+
international prefix.
|
723
|
+
- EMAIL - An email is used as reference to a
|
724
|
+
participant. The format of the email should be according to the informational
|
725
|
+
[RFC 3696](https://tools.ietf.org/html/rfc3696).
|
726
|
+
- PERSONAL_ID - A personal identifier is used as reference to a participant.
|
727
|
+
Examples of personal identification are passport number, birth certificate
|
728
|
+
number, and national registration number. The identifier number is added in
|
729
|
+
the PartyIdentifier element. The personal identifier type is added in the
|
730
|
+
PartySubIdOrType element.
|
731
|
+
- BUSINESS - A specific Business (for example, an organization or a company)
|
732
|
+
is used as reference to a participant. The BUSINESS identifier can be in any
|
733
|
+
format. To make a transaction connected to a specific username or bill number
|
734
|
+
in a Business, the PartySubIdOrType element should be used.
|
735
|
+
- DEVICE - A specific device (for example, a POS or ATM) ID connected to a
|
736
|
+
specific business or organization is used as reference to a Party.
|
737
|
+
For referencing a specific device under a specific business or organization,
|
738
|
+
use the PartySubIdOrType element.
|
739
|
+
- ACCOUNT_ID - A bank account number or FSP account ID should be used as
|
740
|
+
reference to a participant. The ACCOUNT_ID identifier can be in any format,
|
741
|
+
as formats can greatly differ depending on country and FSP.
|
742
|
+
- IBAN - A bank account number or FSP account ID is used as reference to a
|
743
|
+
participant. The IBAN identifier can consist of up to 34 alphanumeric
|
744
|
+
characters and should be entered without whitespace.
|
745
|
+
- ALIAS An alias is used as reference to a participant. The alias should be
|
746
|
+
created in the FSP as an alternative reference to an account owner.
|
747
|
+
Another example of an alias is a username in the FSP system.
|
748
|
+
The ALIAS identifier can be in any format. It is also possible to use the
|
749
|
+
PartySubIdOrType element for identifying an account under an Alias defined
|
750
|
+
by the PartyIdentifier.
|
751
|
+
- CONSENT - TBD
|
752
|
+
- THIRD_PARTY_LINK - TBD
|
753
|
+
enum:
|
754
|
+
- MSISDN
|
755
|
+
- EMAIL
|
756
|
+
- PERSONAL_ID
|
757
|
+
- BUSINESS
|
758
|
+
- DEVICE
|
759
|
+
- ACCOUNT_ID
|
760
|
+
- IBAN
|
761
|
+
- ALIAS
|
762
|
+
- CONSENT
|
763
|
+
- THIRD_PARTY_LINK
|
764
|
+
example: PERSONAL_ID
|
765
|
+
title: PartyIdType
|
766
|
+
type: string
|
767
|
+
PartyIdentifier:
|
768
|
+
description: Identifier of the Party.
|
769
|
+
example: '16135551212'
|
770
|
+
maxLength: 128
|
771
|
+
minLength: 1
|
772
|
+
title: PartyIdentifier
|
773
|
+
type: string
|
774
|
+
PartyName:
|
775
|
+
description: Name of the Party. Could be a real name or a nickname.
|
776
|
+
maxLength: 128
|
777
|
+
minLength: 1
|
778
|
+
title: PartyName
|
779
|
+
type: string
|
780
|
+
PartyPersonalInfo:
|
781
|
+
description: Data model for the complex type PartyPersonalInfo.
|
782
|
+
properties:
|
783
|
+
complexName:
|
784
|
+
$ref: '#/components/schemas/PartyComplexName'
|
785
|
+
dateOfBirth:
|
786
|
+
$ref: '#/components/schemas/DateOfBirth'
|
787
|
+
title: PartyPersonalInfo
|
788
|
+
type: object
|
789
|
+
PartySubIdOrType:
|
790
|
+
description: Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.
|
791
|
+
maxLength: 128
|
792
|
+
minLength: 1
|
793
|
+
title: PartySubIdOrType
|
794
|
+
type: string
|
795
|
+
amountCurrency:
|
796
|
+
description: Object containing Amount and Currency of the transfer.
|
797
|
+
properties:
|
798
|
+
amount:
|
799
|
+
$ref: '#/components/schemas/money'
|
800
|
+
currency:
|
801
|
+
$ref: '#/components/schemas/currency'
|
802
|
+
required:
|
803
|
+
- amount
|
804
|
+
- currency
|
805
|
+
type: object
|
806
|
+
amountType:
|
807
|
+
enum:
|
808
|
+
- SEND
|
809
|
+
- RECEIVE
|
810
|
+
type: string
|
811
|
+
bulkQuoteId:
|
812
|
+
description: A Mojaloop API bulk quote identifier (UUID).
|
813
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
814
|
+
type: string
|
815
|
+
bulkQuoteRequest:
|
816
|
+
description: A request for a bulk quote.
|
817
|
+
properties:
|
818
|
+
bulkQuoteId:
|
819
|
+
$ref: '#/components/schemas/bulkQuoteId'
|
820
|
+
expiration:
|
821
|
+
$ref: '#/components/schemas/timestamp'
|
822
|
+
from:
|
823
|
+
$ref: '#/components/schemas/transferParty'
|
824
|
+
geoCode:
|
825
|
+
$ref: '#/components/schemas/geoCode'
|
826
|
+
individualQuotes:
|
827
|
+
items:
|
828
|
+
$ref: '#/components/schemas/IndividualQuote'
|
829
|
+
maxItems: 1000
|
830
|
+
minItems: 1
|
831
|
+
type: array
|
832
|
+
required:
|
833
|
+
- bulkQuoteId
|
834
|
+
- from
|
835
|
+
- individualQuotes
|
836
|
+
type: object
|
837
|
+
bulkQuoteResponse:
|
838
|
+
description: A response to a request for a bulk quote.
|
839
|
+
properties:
|
840
|
+
bulkQuoteId:
|
841
|
+
$ref: '#/components/schemas/bulkQuoteId'
|
842
|
+
expiration:
|
843
|
+
$ref: '#/components/schemas/timestamp'
|
844
|
+
individualQuoteResults:
|
845
|
+
description: Fees for each individual transaction, if any of them are charged per transaction.
|
846
|
+
items:
|
847
|
+
oneOf:
|
848
|
+
- $ref: '#/components/schemas/IndividualQuoteResultSuccess'
|
849
|
+
- $ref: '#/components/schemas/IndividualQuoteResultFailed'
|
850
|
+
maxItems: 1000
|
851
|
+
minItems: 1
|
852
|
+
type: array
|
853
|
+
required:
|
854
|
+
- bulkQuoteId
|
855
|
+
- individualQuoteResults
|
856
|
+
type: object
|
857
|
+
bulkTransferId:
|
858
|
+
description: A Mojaloop API transfer identifier (UUID).
|
859
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
860
|
+
type: string
|
861
|
+
bulkTransferRequest:
|
862
|
+
properties:
|
863
|
+
bulkQuote:
|
864
|
+
$ref: '#/components/schemas/bulkQuoteResponse'
|
865
|
+
bulkTransferId:
|
866
|
+
$ref: '#/components/schemas/bulkTransferId'
|
867
|
+
from:
|
868
|
+
$ref: '#/components/schemas/transferParty'
|
869
|
+
individualTransfers:
|
870
|
+
items:
|
871
|
+
$ref: '#/components/schemas/IndividualTransfer'
|
872
|
+
maxItems: 1000
|
873
|
+
minItems: 1
|
874
|
+
type: array
|
875
|
+
required:
|
876
|
+
- bulkTransferId
|
877
|
+
- individualTransfers
|
878
|
+
type: object
|
879
|
+
bulkTransferResponse:
|
880
|
+
properties:
|
881
|
+
bulkTransferId:
|
882
|
+
$ref: '#/components/schemas/bulkTransferId'
|
883
|
+
homeTransactionId:
|
884
|
+
description: Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems.
|
885
|
+
type: string
|
886
|
+
individualTransferResults:
|
887
|
+
items:
|
888
|
+
$ref: '#/components/schemas/IndividualTransferResult'
|
889
|
+
maxItems: 1000
|
890
|
+
minItems: 1
|
891
|
+
type: array
|
892
|
+
required:
|
893
|
+
- homeTransactionId
|
894
|
+
type: object
|
895
|
+
currency:
|
896
|
+
enum:
|
897
|
+
- AED
|
898
|
+
- AFN
|
899
|
+
- ALL
|
900
|
+
- AMD
|
901
|
+
- ANG
|
902
|
+
- AOA
|
903
|
+
- ARS
|
904
|
+
- AUD
|
905
|
+
- AWG
|
906
|
+
- AZN
|
907
|
+
- BAM
|
908
|
+
- BBD
|
909
|
+
- BDT
|
910
|
+
- BGN
|
911
|
+
- BHD
|
912
|
+
- BIF
|
913
|
+
- BMD
|
914
|
+
- BND
|
915
|
+
- BOB
|
916
|
+
- BRL
|
917
|
+
- BSD
|
918
|
+
- BTN
|
919
|
+
- BWP
|
920
|
+
- BYN
|
921
|
+
- BZD
|
922
|
+
- CAD
|
923
|
+
- CDF
|
924
|
+
- CHF
|
925
|
+
- CLP
|
926
|
+
- CNY
|
927
|
+
- COP
|
928
|
+
- CRC
|
929
|
+
- CUC
|
930
|
+
- CUP
|
931
|
+
- CVE
|
932
|
+
- CZK
|
933
|
+
- DJF
|
934
|
+
- DKK
|
935
|
+
- DOP
|
936
|
+
- DZD
|
937
|
+
- EGP
|
938
|
+
- ERN
|
939
|
+
- ETB
|
940
|
+
- EUR
|
941
|
+
- FJD
|
942
|
+
- FKP
|
943
|
+
- GBP
|
944
|
+
- GEL
|
945
|
+
- GGP
|
946
|
+
- GHS
|
947
|
+
- GIP
|
948
|
+
- GMD
|
949
|
+
- GNF
|
950
|
+
- GTQ
|
951
|
+
- GYD
|
952
|
+
- HKD
|
953
|
+
- HNL
|
954
|
+
- HRK
|
955
|
+
- HTG
|
956
|
+
- HUF
|
957
|
+
- IDR
|
958
|
+
- ILS
|
959
|
+
- IMP
|
960
|
+
- INR
|
961
|
+
- IQD
|
962
|
+
- IRR
|
963
|
+
- ISK
|
964
|
+
- JEP
|
965
|
+
- JMD
|
966
|
+
- JOD
|
967
|
+
- JPY
|
968
|
+
- KES
|
969
|
+
- KGS
|
970
|
+
- KHR
|
971
|
+
- KMF
|
972
|
+
- KPW
|
973
|
+
- KRW
|
974
|
+
- KWD
|
975
|
+
- KYD
|
976
|
+
- KZT
|
977
|
+
- LAK
|
978
|
+
- LBP
|
979
|
+
- LKR
|
980
|
+
- LRD
|
981
|
+
- LSL
|
982
|
+
- LYD
|
983
|
+
- MAD
|
984
|
+
- MDL
|
985
|
+
- MGA
|
986
|
+
- MKD
|
987
|
+
- MMK
|
988
|
+
- MNT
|
989
|
+
- MOP
|
990
|
+
- MRO
|
991
|
+
- MUR
|
992
|
+
- MVR
|
993
|
+
- MWK
|
994
|
+
- MXN
|
995
|
+
- MYR
|
996
|
+
- MZN
|
997
|
+
- NAD
|
998
|
+
- NGN
|
999
|
+
- NIO
|
1000
|
+
- NOK
|
1001
|
+
- NPR
|
1002
|
+
- NZD
|
1003
|
+
- OMR
|
1004
|
+
- PAB
|
1005
|
+
- PEN
|
1006
|
+
- PGK
|
1007
|
+
- PHP
|
1008
|
+
- PKR
|
1009
|
+
- PLN
|
1010
|
+
- PYG
|
1011
|
+
- QAR
|
1012
|
+
- RON
|
1013
|
+
- RSD
|
1014
|
+
- RUB
|
1015
|
+
- RWF
|
1016
|
+
- SAR
|
1017
|
+
- SBD
|
1018
|
+
- SCR
|
1019
|
+
- SDG
|
1020
|
+
- SEK
|
1021
|
+
- SGD
|
1022
|
+
- SHP
|
1023
|
+
- SLL
|
1024
|
+
- SOS
|
1025
|
+
- SPL
|
1026
|
+
- SRD
|
1027
|
+
- STD
|
1028
|
+
- SVC
|
1029
|
+
- SYP
|
1030
|
+
- SZL
|
1031
|
+
- THB
|
1032
|
+
- TJS
|
1033
|
+
- TMT
|
1034
|
+
- TND
|
1035
|
+
- TOP
|
1036
|
+
- TRY
|
1037
|
+
- TTD
|
1038
|
+
- TVD
|
1039
|
+
- TWD
|
1040
|
+
- TZS
|
1041
|
+
- UAH
|
1042
|
+
- UGX
|
1043
|
+
- USD
|
1044
|
+
- UYU
|
1045
|
+
- UZS
|
1046
|
+
- VEF
|
1047
|
+
- VND
|
1048
|
+
- VUV
|
1049
|
+
- WST
|
1050
|
+
- XAF
|
1051
|
+
- XCD
|
1052
|
+
- XDR
|
1053
|
+
- XOF
|
1054
|
+
- XPF
|
1055
|
+
- XTS
|
1056
|
+
- XXX
|
1057
|
+
- YER
|
1058
|
+
- ZAR
|
1059
|
+
- ZMW
|
1060
|
+
- ZWD
|
1061
|
+
maxLength: 3
|
1062
|
+
minLength: 3
|
1063
|
+
type: string
|
1064
|
+
dateOfBirth:
|
1065
|
+
description: Date of birth in the form YYYY-MM-DD.
|
1066
|
+
pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$
|
1067
|
+
type: string
|
1068
|
+
errorCode:
|
1069
|
+
description: |
|
1070
|
+
The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error.
|
1071
|
+
pattern: ^[1-9]\d{3}$
|
1072
|
+
title: ErrorCode
|
1073
|
+
type: string
|
1074
|
+
errorDescription:
|
1075
|
+
description: Error description string.
|
1076
|
+
maxLength: 128
|
1077
|
+
minLength: 1
|
1078
|
+
title: ErrorDescription
|
1079
|
+
type: string
|
1080
|
+
errorInformation:
|
1081
|
+
description: A Mojaloop API error information construct.
|
1082
|
+
properties:
|
1083
|
+
errorCode:
|
1084
|
+
$ref: '#/components/schemas/errorCode'
|
1085
|
+
description: Specific error number.
|
1086
|
+
errorDescription:
|
1087
|
+
$ref: '#/components/schemas/errorDescription'
|
1088
|
+
description: Error description string.
|
1089
|
+
extensionList:
|
1090
|
+
$ref: '#/components/schemas/extensionListComplex'
|
1091
|
+
description: Optional list of extensions, specific to deployment.
|
1092
|
+
required:
|
1093
|
+
- errorCode
|
1094
|
+
- errorDescription
|
1095
|
+
title: ErrorInformation
|
1096
|
+
type: object
|
1097
|
+
errorResponse:
|
1098
|
+
properties:
|
1099
|
+
message:
|
1100
|
+
description: Error message text
|
1101
|
+
type: string
|
1102
|
+
statusCode:
|
1103
|
+
description: |
|
1104
|
+
Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code.
|
1105
|
+
Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message.
|
1106
|
+
type: string
|
1107
|
+
type: object
|
1108
|
+
extensionItem:
|
1109
|
+
properties:
|
1110
|
+
key:
|
1111
|
+
maxLength: 32
|
1112
|
+
minLength: 1
|
1113
|
+
type: string
|
1114
|
+
value:
|
1115
|
+
maxLength: 128
|
1116
|
+
minLength: 1
|
1117
|
+
type: string
|
1118
|
+
type: object
|
1119
|
+
extensionList:
|
1120
|
+
items:
|
1121
|
+
$ref: '#/components/schemas/extensionItem'
|
1122
|
+
maxItems: 16
|
1123
|
+
minItems: 0
|
1124
|
+
type: array
|
1125
|
+
extensionListComplex:
|
1126
|
+
description: Data model for the complex type ExtensionList.
|
1127
|
+
properties:
|
1128
|
+
extension:
|
1129
|
+
description: Number of Extension elements.
|
1130
|
+
items:
|
1131
|
+
$ref: '#/components/schemas/extensionItem'
|
1132
|
+
maxItems: 16
|
1133
|
+
minItems: 1
|
1134
|
+
type: array
|
1135
|
+
required:
|
1136
|
+
- extension
|
1137
|
+
type: object
|
1138
|
+
fspId:
|
1139
|
+
description: FSP identifier.
|
1140
|
+
maxLength: 32
|
1141
|
+
minLength: 1
|
1142
|
+
type: string
|
1143
|
+
fulfilNotification:
|
1144
|
+
description: PUT /transfers/{transferId} object.
|
1145
|
+
properties:
|
1146
|
+
currentState:
|
1147
|
+
$ref: '#/components/schemas/transferStatus'
|
1148
|
+
direction:
|
1149
|
+
enum:
|
1150
|
+
- INBOUND
|
1151
|
+
type: string
|
1152
|
+
finalNotification:
|
1153
|
+
properties:
|
1154
|
+
completedTimestamp:
|
1155
|
+
$ref: '#/components/schemas/timestamp'
|
1156
|
+
description: Time and date when the transaction was completed.
|
1157
|
+
example: '2020-05-19T08:38:08.699-04:00'
|
1158
|
+
extensionList:
|
1159
|
+
$ref: '#/components/schemas/extensionList'
|
1160
|
+
description: Optional extension, specific to deployment.
|
1161
|
+
transferState:
|
1162
|
+
$ref: '#/components/schemas/transferState'
|
1163
|
+
description: State of the transfer.
|
1164
|
+
example: COMMITTED
|
1165
|
+
required:
|
1166
|
+
- completedTimestamp
|
1167
|
+
- transferState
|
1168
|
+
type: object
|
1169
|
+
fulfil:
|
1170
|
+
properties:
|
1171
|
+
body:
|
1172
|
+
type: object
|
1173
|
+
headers:
|
1174
|
+
type: object
|
1175
|
+
type: object
|
1176
|
+
initiatedTimestamp:
|
1177
|
+
$ref: '#/components/schemas/timestamp'
|
1178
|
+
lastError:
|
1179
|
+
$ref: '#/components/schemas/transferError'
|
1180
|
+
prepare:
|
1181
|
+
properties:
|
1182
|
+
body:
|
1183
|
+
type: object
|
1184
|
+
headers:
|
1185
|
+
type: object
|
1186
|
+
type: object
|
1187
|
+
quote:
|
1188
|
+
properties:
|
1189
|
+
fulfilment:
|
1190
|
+
type: string
|
1191
|
+
internalRequest:
|
1192
|
+
type: object
|
1193
|
+
mojaloopResponse:
|
1194
|
+
type: object
|
1195
|
+
request:
|
1196
|
+
type: object
|
1197
|
+
response:
|
1198
|
+
type: object
|
1199
|
+
type: object
|
1200
|
+
quoteRequest:
|
1201
|
+
properties:
|
1202
|
+
body:
|
1203
|
+
type: object
|
1204
|
+
headers:
|
1205
|
+
type: object
|
1206
|
+
type: object
|
1207
|
+
quoteResponse:
|
1208
|
+
properties:
|
1209
|
+
body:
|
1210
|
+
type: object
|
1211
|
+
headers:
|
1212
|
+
type: object
|
1213
|
+
type: object
|
1214
|
+
transferId:
|
1215
|
+
$ref: '#/components/schemas/transferId'
|
1216
|
+
title: TransfersIDPatchResponse
|
1217
|
+
type: object
|
1218
|
+
generalError:
|
1219
|
+
description: This object may represent a number of different error object types and so its properties may vary significantly.
|
1220
|
+
type: object
|
1221
|
+
geoCode:
|
1222
|
+
description: Indicates the geographic location from where the transaction was initiated.
|
1223
|
+
properties:
|
1224
|
+
latitude:
|
1225
|
+
$ref: '#/components/schemas/latitude'
|
1226
|
+
longitude:
|
1227
|
+
$ref: '#/components/schemas/longitude'
|
1228
|
+
required:
|
1229
|
+
- latitude
|
1230
|
+
- longitude
|
1231
|
+
type: object
|
1232
|
+
idSubValue:
|
1233
|
+
maxLength: 128
|
1234
|
+
minLength: 1
|
1235
|
+
type: string
|
1236
|
+
idType:
|
1237
|
+
enum:
|
1238
|
+
- MSISDN
|
1239
|
+
- ACCOUNT_NO
|
1240
|
+
- EMAIL
|
1241
|
+
- PERSONAL_ID
|
1242
|
+
- BUSINESS
|
1243
|
+
- DEVICE
|
1244
|
+
- ACCOUNT_ID
|
1245
|
+
- IBAN
|
1246
|
+
- ALIAS
|
1247
|
+
type: string
|
1248
|
+
idValue:
|
1249
|
+
description: Identifier of the party.
|
1250
|
+
maxLength: 128
|
1251
|
+
minLength: 1
|
1252
|
+
type: string
|
1253
|
+
ilpFulfilment:
|
1254
|
+
description: Fulfilment that must be attached to the transfer by the Payee.
|
1255
|
+
example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
|
1256
|
+
maxLength: 48
|
1257
|
+
pattern: ^[A-Za-z0-9-_]{43}$
|
1258
|
+
title: ilpFulfilment
|
1259
|
+
type: string
|
1260
|
+
ilpPacketData:
|
1261
|
+
description: Object containing transfer object.
|
1262
|
+
properties:
|
1263
|
+
amount:
|
1264
|
+
$ref: '#/components/schemas/amountCurrency'
|
1265
|
+
description: Amount and currency of the transaction
|
1266
|
+
payee:
|
1267
|
+
$ref: '#/components/schemas/Party'
|
1268
|
+
description: Information about the Payee in the proposed financial transaction.
|
1269
|
+
payer:
|
1270
|
+
$ref: '#/components/schemas/Party'
|
1271
|
+
description: Information about the Payer in the proposed financial transaction.
|
1272
|
+
quoteId:
|
1273
|
+
$ref: '#/components/schemas/quoteId'
|
1274
|
+
transactionId:
|
1275
|
+
$ref: '#/components/schemas/transactionId'
|
1276
|
+
description: Identifier for the transaction, decided by the Payer FSP during the creation of the quote.
|
1277
|
+
transactionType:
|
1278
|
+
$ref: '#/components/schemas/transactionTypeObject'
|
1279
|
+
description: Information about type of transaction and initiator.
|
1280
|
+
required:
|
1281
|
+
- quoteId
|
1282
|
+
- transactionId
|
1283
|
+
- payer
|
1284
|
+
- payee
|
1285
|
+
- amount
|
1286
|
+
- transactionType
|
1287
|
+
type: object
|
1288
|
+
initiator:
|
1289
|
+
enum:
|
1290
|
+
- PAYER
|
1291
|
+
- PAYEE
|
1292
|
+
type: string
|
1293
|
+
initiatorType:
|
1294
|
+
enum:
|
1295
|
+
- CONSUMER
|
1296
|
+
- AGENT
|
1297
|
+
- BUSINESS
|
1298
|
+
- DEVICE
|
1299
|
+
type: string
|
1300
|
+
latitude:
|
1301
|
+
description: The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
|
1302
|
+
pattern: ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
|
1303
|
+
type: string
|
1304
|
+
longitude:
|
1305
|
+
description: The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
|
1306
|
+
pattern: ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
|
1307
|
+
type: string
|
1308
|
+
mojaloopError:
|
1309
|
+
properties:
|
1310
|
+
errorInformation:
|
1311
|
+
$ref: '#/components/schemas/errorInformation'
|
1312
|
+
type: object
|
1313
|
+
money:
|
1314
|
+
pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
|
1315
|
+
type: string
|
1316
|
+
otpDetails:
|
1317
|
+
properties:
|
1318
|
+
otpValue:
|
1319
|
+
description: OTP value.
|
1320
|
+
type: string
|
1321
|
+
required:
|
1322
|
+
- otpValue
|
1323
|
+
type: object
|
1324
|
+
participantsResponse:
|
1325
|
+
properties:
|
1326
|
+
fspId:
|
1327
|
+
$ref: '#/components/schemas/fspId'
|
1328
|
+
type: object
|
1329
|
+
payerType:
|
1330
|
+
enum:
|
1331
|
+
- CONSUMER
|
1332
|
+
- AGENT
|
1333
|
+
- BUSINESS
|
1334
|
+
- DEVICE
|
1335
|
+
type: string
|
1336
|
+
quoteId:
|
1337
|
+
description: A Mojaloop API quote identifier (UUID).
|
1338
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
1339
|
+
type: string
|
1340
|
+
quoteRequest:
|
1341
|
+
description: A request for a quote for transfer from the DFSP backend.
|
1342
|
+
properties:
|
1343
|
+
amount:
|
1344
|
+
$ref: '#/components/schemas/money'
|
1345
|
+
description: Depending on `amountType`. If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities.
|
1346
|
+
amountType:
|
1347
|
+
$ref: '#/components/schemas/amountType'
|
1348
|
+
description: SEND for send amount, RECEIVE for receive amount.
|
1349
|
+
currency:
|
1350
|
+
$ref: '#/components/schemas/currency'
|
1351
|
+
expiration:
|
1352
|
+
$ref: '#/components/schemas/timestamp'
|
1353
|
+
description: An optional deadline for responding to the quote request.
|
1354
|
+
extensionList:
|
1355
|
+
$ref: '#/components/schemas/extensionList'
|
1356
|
+
feesAmount:
|
1357
|
+
$ref: '#/components/schemas/money'
|
1358
|
+
description: The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed.
|
1359
|
+
feesCurrency:
|
1360
|
+
$ref: '#/components/schemas/currency'
|
1361
|
+
from:
|
1362
|
+
$ref: '#/components/schemas/transferParty'
|
1363
|
+
description: Information about the Payer in the proposed financial transaction.
|
1364
|
+
geoCode:
|
1365
|
+
$ref: '#/components/schemas/geoCode'
|
1366
|
+
description: Longitude and Latitude of the initiating party. Can be used to detect fraud.
|
1367
|
+
initiator:
|
1368
|
+
$ref: '#/components/schemas/initiator'
|
1369
|
+
description: Specifies if the initiator of the transfer is the Payer or Payee.
|
1370
|
+
initiatorType:
|
1371
|
+
$ref: '#/components/schemas/initiatorType'
|
1372
|
+
description: Specifies the type of the transaction initiator.
|
1373
|
+
note:
|
1374
|
+
description: An optional note associated with the requested transfer.
|
1375
|
+
maxLength: 128
|
1376
|
+
minLength: 1
|
1377
|
+
type: string
|
1378
|
+
quoteId:
|
1379
|
+
$ref: '#/components/schemas/quoteId'
|
1380
|
+
to:
|
1381
|
+
$ref: '#/components/schemas/transferParty'
|
1382
|
+
description: Information about the Payee in the proposed financial transaction.
|
1383
|
+
transactionId:
|
1384
|
+
$ref: '#/components/schemas/transactionId'
|
1385
|
+
description: Identifier for the transaction, decided by the Payer FSP during the creation of the quote.
|
1386
|
+
transactionType:
|
1387
|
+
$ref: '#/components/schemas/transactionType'
|
1388
|
+
description: Type of transaction for which the quote is requested.
|
1389
|
+
required:
|
1390
|
+
- quoteId
|
1391
|
+
- transactionId
|
1392
|
+
- to
|
1393
|
+
- from
|
1394
|
+
- amountType
|
1395
|
+
- amount
|
1396
|
+
- currency
|
1397
|
+
- transactionType
|
1398
|
+
- initiator
|
1399
|
+
- initiatorType
|
1400
|
+
type: object
|
1401
|
+
quoteResponse:
|
1402
|
+
description: A response to a request for a quote.
|
1403
|
+
properties:
|
1404
|
+
expiration:
|
1405
|
+
$ref: '#/components/schemas/timestamp'
|
1406
|
+
description: Timestamp specifying the validity period of the quotation.
|
1407
|
+
extensionList:
|
1408
|
+
$ref: '#/components/schemas/extensionList'
|
1409
|
+
geoCode:
|
1410
|
+
$ref: '#/components/schemas/geoCode'
|
1411
|
+
description: Longitude and Latitude of the Payee. Can be used to detect fraud.
|
1412
|
+
payeeFspCommissionAmount:
|
1413
|
+
$ref: '#/components/schemas/money'
|
1414
|
+
description: Transaction commission from the Payee FSP.
|
1415
|
+
payeeFspCommissionAmountCurrency:
|
1416
|
+
$ref: '#/components/schemas/currency'
|
1417
|
+
description: Currency of the `payeeFspCommissionAmount`.
|
1418
|
+
payeeFspFeeAmount:
|
1419
|
+
$ref: '#/components/schemas/money'
|
1420
|
+
description: Payee FSP’s part of the transaction fee.
|
1421
|
+
payeeFspFeeAmountCurrency:
|
1422
|
+
$ref: '#/components/schemas/currency'
|
1423
|
+
description: The currency of the `payeeFspFeeAmount`.
|
1424
|
+
payeeReceiveAmount:
|
1425
|
+
$ref: '#/components/schemas/money'
|
1426
|
+
description: The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees.
|
1427
|
+
payeeReceiveAmountCurrency:
|
1428
|
+
$ref: '#/components/schemas/currency'
|
1429
|
+
description: The currency of the `payeeReceiveAmount`.
|
1430
|
+
quoteId:
|
1431
|
+
$ref: '#/components/schemas/quoteId'
|
1432
|
+
description: ID of the quote that this response relates to.
|
1433
|
+
transactionId:
|
1434
|
+
$ref: '#/components/schemas/transactionId'
|
1435
|
+
description: Identifier for the transaction, decided by the Payer FSP during the creation of the quote.
|
1436
|
+
transferAmount:
|
1437
|
+
$ref: '#/components/schemas/money'
|
1438
|
+
description: The amount of money that the Payer FSP should transfer to the Payee FSP.
|
1439
|
+
transferAmountCurrency:
|
1440
|
+
$ref: '#/components/schemas/currency'
|
1441
|
+
description: The currency of the `transferAmount`.
|
1442
|
+
required:
|
1443
|
+
- quoteId
|
1444
|
+
- transactionId
|
1445
|
+
- transferAmount
|
1446
|
+
- transferAmountCurrency
|
1447
|
+
type: object
|
1448
|
+
scenario:
|
1449
|
+
enum:
|
1450
|
+
- TRANSFER
|
1451
|
+
type: string
|
1452
|
+
timestamp:
|
1453
|
+
description: An ISO-8601 formatted timestamp.
|
1454
|
+
pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
|
1455
|
+
type: string
|
1456
|
+
transactionId:
|
1457
|
+
description: ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote.
|
1458
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
1459
|
+
type: string
|
1460
|
+
transactionRequest:
|
1461
|
+
description: A request for a pull based transfer.
|
1462
|
+
properties:
|
1463
|
+
amount:
|
1464
|
+
$ref: '#/components/schemas/money'
|
1465
|
+
currency:
|
1466
|
+
$ref: '#/components/schemas/currency'
|
1467
|
+
expiration:
|
1468
|
+
$ref: '#/components/schemas/timestamp'
|
1469
|
+
from:
|
1470
|
+
$ref: '#/components/schemas/transferParty'
|
1471
|
+
geoCode:
|
1472
|
+
$ref: '#/components/schemas/geoCode'
|
1473
|
+
initiator:
|
1474
|
+
$ref: '#/components/schemas/initiator'
|
1475
|
+
initiatorType:
|
1476
|
+
$ref: '#/components/schemas/initiatorType'
|
1477
|
+
note:
|
1478
|
+
description: An optional note associated with the requested transfer.
|
1479
|
+
maxLength: 128
|
1480
|
+
minLength: 1
|
1481
|
+
type: string
|
1482
|
+
to:
|
1483
|
+
$ref: '#/components/schemas/transferParty'
|
1484
|
+
transactionRequestId:
|
1485
|
+
$ref: '#/components/schemas/transactionRequestId'
|
1486
|
+
transactionType:
|
1487
|
+
$ref: '#/components/schemas/transactionType'
|
1488
|
+
required:
|
1489
|
+
- transactionRequestId
|
1490
|
+
- to
|
1491
|
+
- from
|
1492
|
+
- amount
|
1493
|
+
- currency
|
1494
|
+
- transactionType
|
1495
|
+
- initiator
|
1496
|
+
- initiatorType
|
1497
|
+
type: object
|
1498
|
+
transactionRequestId:
|
1499
|
+
description: A Mojaloop API transaction request identifier (UUID).
|
1500
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
1501
|
+
type: string
|
1502
|
+
transactionRequestResponse:
|
1503
|
+
description: A response to a request for a quote.
|
1504
|
+
properties:
|
1505
|
+
transactionId:
|
1506
|
+
$ref: '#/components/schemas/transactionId'
|
1507
|
+
transferAmount:
|
1508
|
+
$ref: '#/components/schemas/transactionRequestState'
|
1509
|
+
required:
|
1510
|
+
- transactionId
|
1511
|
+
- transactionRequestState
|
1512
|
+
type: object
|
1513
|
+
transactionRequestState:
|
1514
|
+
enum:
|
1515
|
+
- RECEIVED
|
1516
|
+
- PENDING
|
1517
|
+
- ACCEPTED
|
1518
|
+
- REJECTED
|
1519
|
+
type: string
|
1520
|
+
transactionType:
|
1521
|
+
enum:
|
1522
|
+
- TRANSFER
|
1523
|
+
- DEPOSIT
|
1524
|
+
- PAYMENT
|
1525
|
+
type: string
|
1526
|
+
transactionTypeObject:
|
1527
|
+
description: Object containing transfer object.
|
1528
|
+
properties:
|
1529
|
+
initiator:
|
1530
|
+
$ref: '#/components/schemas/initiator'
|
1531
|
+
initiatorType:
|
1532
|
+
$ref: '#/components/schemas/initiatorType'
|
1533
|
+
description: Specifies the type of the transaction initiator.
|
1534
|
+
scenario:
|
1535
|
+
$ref: '#/components/schemas/scenario'
|
1536
|
+
required:
|
1537
|
+
- scenario
|
1538
|
+
- initiator
|
1539
|
+
- initiatorType
|
1540
|
+
type: object
|
1541
|
+
transferDetailsResponse:
|
1542
|
+
properties:
|
1543
|
+
amount:
|
1544
|
+
$ref: '#/components/schemas/money'
|
1545
|
+
amountType:
|
1546
|
+
$ref: '#/components/schemas/amountType'
|
1547
|
+
currency:
|
1548
|
+
$ref: '#/components/schemas/currency'
|
1549
|
+
extensions:
|
1550
|
+
$ref: '#/components/schemas/extensionList'
|
1551
|
+
from:
|
1552
|
+
$ref: '#/components/schemas/transferParty'
|
1553
|
+
homeTransactionId:
|
1554
|
+
description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
|
1555
|
+
type: string
|
1556
|
+
note:
|
1557
|
+
maxLength: 128
|
1558
|
+
type: string
|
1559
|
+
timestamp:
|
1560
|
+
$ref: '#/components/schemas/timestamp'
|
1561
|
+
to:
|
1562
|
+
$ref: '#/components/schemas/transferParty'
|
1563
|
+
transactionType:
|
1564
|
+
$ref: '#/components/schemas/transactionType'
|
1565
|
+
transferState:
|
1566
|
+
$ref: '#/components/schemas/transferState'
|
1567
|
+
required:
|
1568
|
+
- homeTransactionId
|
1569
|
+
- from
|
1570
|
+
- to
|
1571
|
+
- amountType
|
1572
|
+
- currency
|
1573
|
+
- amount
|
1574
|
+
- transferState
|
1575
|
+
- transactionType
|
1576
|
+
- timestamp
|
1577
|
+
type: object
|
1578
|
+
transferError:
|
1579
|
+
description: This object represents a Mojaloop API error received at any time during the transfer process.
|
1580
|
+
properties:
|
1581
|
+
httpStatusCode:
|
1582
|
+
description: The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response.
|
1583
|
+
type: integer
|
1584
|
+
mojaloopError:
|
1585
|
+
$ref: '#/components/schemas/mojaloopError'
|
1586
|
+
description: If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.
|
1587
|
+
type: object
|
1588
|
+
transferId:
|
1589
|
+
description: A Mojaloop API transfer identifier (UUID).
|
1590
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
1591
|
+
type: string
|
1592
|
+
transferParty:
|
1593
|
+
properties:
|
1594
|
+
dateOfBirth:
|
1595
|
+
$ref: '#/components/schemas/dateOfBirth'
|
1596
|
+
displayName:
|
1597
|
+
description: Display name of the sender, if known.
|
1598
|
+
type: string
|
1599
|
+
extensionList:
|
1600
|
+
$ref: '#/components/schemas/extensionList'
|
1601
|
+
firstName:
|
1602
|
+
description: Party first name.
|
1603
|
+
type: string
|
1604
|
+
fspId:
|
1605
|
+
description: Mojaloop scheme FSPID of the DFSP which owns the party account.
|
1606
|
+
type: string
|
1607
|
+
idSubValue:
|
1608
|
+
$ref: '#/components/schemas/idSubValue'
|
1609
|
+
idType:
|
1610
|
+
$ref: '#/components/schemas/idType'
|
1611
|
+
idValue:
|
1612
|
+
description: The identifier string used to identify the sender.
|
1613
|
+
type: string
|
1614
|
+
lastName:
|
1615
|
+
description: Party last name.
|
1616
|
+
type: string
|
1617
|
+
merchantClassificationCode:
|
1618
|
+
description: Up to 4 digits specifying the sender's merchant classification, if known and applicable.
|
1619
|
+
type: string
|
1620
|
+
middleName:
|
1621
|
+
description: Party middle name.
|
1622
|
+
type: string
|
1623
|
+
type:
|
1624
|
+
$ref: '#/components/schemas/payerType'
|
1625
|
+
required:
|
1626
|
+
- idType
|
1627
|
+
- idValue
|
1628
|
+
type: object
|
1629
|
+
transferRequest:
|
1630
|
+
properties:
|
1631
|
+
amount:
|
1632
|
+
$ref: '#/components/schemas/money'
|
1633
|
+
amountType:
|
1634
|
+
$ref: '#/components/schemas/amountType'
|
1635
|
+
currency:
|
1636
|
+
$ref: '#/components/schemas/currency'
|
1637
|
+
from:
|
1638
|
+
$ref: '#/components/schemas/transferParty'
|
1639
|
+
ilpPacket:
|
1640
|
+
properties:
|
1641
|
+
data:
|
1642
|
+
$ref: '#/components/schemas/ilpPacketData'
|
1643
|
+
required:
|
1644
|
+
- data
|
1645
|
+
type: object
|
1646
|
+
note:
|
1647
|
+
maxLength: 128
|
1648
|
+
type: string
|
1649
|
+
quote:
|
1650
|
+
$ref: '#/components/schemas/quoteResponse'
|
1651
|
+
quoteRequestExtensions:
|
1652
|
+
$ref: '#/components/schemas/extensionList'
|
1653
|
+
to:
|
1654
|
+
$ref: '#/components/schemas/transferParty'
|
1655
|
+
transactionType:
|
1656
|
+
$ref: '#/components/schemas/transactionType'
|
1657
|
+
transferId:
|
1658
|
+
$ref: '#/components/schemas/transferId'
|
1659
|
+
required:
|
1660
|
+
- transferId
|
1661
|
+
- quote
|
1662
|
+
- from
|
1663
|
+
- to
|
1664
|
+
- amountType
|
1665
|
+
- currency
|
1666
|
+
- amount
|
1667
|
+
- transactionType
|
1668
|
+
- ilpPacket
|
1669
|
+
type: object
|
1670
|
+
transferResponse:
|
1671
|
+
properties:
|
1672
|
+
completedTimestamp:
|
1673
|
+
$ref: '#/components/schemas/timestamp'
|
1674
|
+
description: Completed timestamp from the DFSP backend, used for testing purposes to inject a given completed timestamp via a rule.
|
1675
|
+
example: '2020-05-19T08:38:08.699-04:00'
|
1676
|
+
fulfilment:
|
1677
|
+
$ref: '#/components/schemas/ilpFulfilment'
|
1678
|
+
description: Fulfilment from the DFSP backend, used for testing purposes to inject an invalid fulfilment via a rule.
|
1679
|
+
homeTransactionId:
|
1680
|
+
description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
|
1681
|
+
type: string
|
1682
|
+
transferState:
|
1683
|
+
$ref: '#/components/schemas/transferState'
|
1684
|
+
description: Transfer state from the DFSP backend, used for testing purposes to inject an desired transfer state via a rule.
|
1685
|
+
example: ABORTED
|
1686
|
+
required:
|
1687
|
+
- homeTransactionId
|
1688
|
+
type: object
|
1689
|
+
transferState:
|
1690
|
+
description: |
|
1691
|
+
Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer.
|
1692
|
+
enum:
|
1693
|
+
- RECEIVED
|
1694
|
+
- RESERVED
|
1695
|
+
- COMMITTED
|
1696
|
+
- ABORTED
|
1697
|
+
type: string
|
1698
|
+
transferStatus:
|
1699
|
+
enum:
|
1700
|
+
- ERROR_OCCURRED
|
1701
|
+
- WAITING_FOR_PARTY_ACCEPTANCE
|
1702
|
+
- WAITING_FOR_QUOTE_ACCEPTANCE
|
1703
|
+
- COMPLETED
|
1704
|
+
type: string
|