mtn_open_api 0.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.
@@ -0,0 +1,1907 @@
1
+ openapi: 3.0.1
2
+ info:
3
+ title: Disbursements
4
+ description: Automatically deposit funds to multiple users
5
+ version: '1.0'
6
+ servers:
7
+ - url: https://sandbox.momodeveloper.mtn.com/disbursement
8
+ paths:
9
+ /v1_0/account/balance:
10
+ get:
11
+ summary: GetAccountBalance
12
+ description: Get the balance of own account.
13
+ operationId: GetAccountBalance
14
+ parameters:
15
+ - name: Authorization
16
+ in: header
17
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
18
+ required: true
19
+ schema:
20
+ type: string
21
+ - name: X-Target-Environment
22
+ in: header
23
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
24
+ required: true
25
+ schema:
26
+ type: string
27
+ responses:
28
+ '200':
29
+ description: Ok
30
+ content:
31
+ application/json:
32
+ schema:
33
+ $ref: '#/components/schemas/Balance'
34
+ example:
35
+ availableBalance: string
36
+ currency: string
37
+ Incorrect target environment:
38
+ schema:
39
+ $ref: '#/components/schemas/Balance'
40
+ examples:
41
+ default:
42
+ value:
43
+ '400':
44
+ description: 'Bad request, e.g. invalid data was sent in the request.'
45
+ content:
46
+ application/json: { }
47
+ Incorrect target environment: { }
48
+ '500':
49
+ description: Internal error. The returned response contains details.
50
+ content:
51
+ Incorrect target environment:
52
+ schema:
53
+ $ref: '#/components/schemas/ErrorReason'
54
+ example:
55
+ code: NOT_ALLOWED_TARGET_ENVIRONMENT
56
+ message: Access to target environment is forbidden.
57
+ application/json:
58
+ schema:
59
+ $ref: '#/components/schemas/ErrorReason'
60
+ example:
61
+ code: PAYEE_NOT_FOUND
62
+ message: string
63
+ '/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active':
64
+ get:
65
+ summary: ValidateAccountHolderStatus
66
+ description: Operation is used to check if an account holder is registered and active in the system.
67
+ operationId: ValidateAccountHolderStatus
68
+ parameters:
69
+ - name: accountHolderId
70
+ in: path
71
+ description: The AccountHolder number. Validated according to the AccountHolderID type. <br> MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> EMAIL - Validated to be a valid e-mail format. Validated with IsEmail
72
+ required: true
73
+ schema:
74
+ type: string
75
+ - name: accountHolderIdType
76
+ in: path
77
+ description: 'Specifies the type of the AccountHolderID. Allowed values [msisdn, email]'
78
+ required: true
79
+ schema:
80
+ type: string
81
+ - name: Authorization
82
+ in: header
83
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
84
+ required: true
85
+ schema:
86
+ type: string
87
+ - name: X-Target-Environment
88
+ in: header
89
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
90
+ required: true
91
+ schema:
92
+ type: string
93
+ responses:
94
+ '200':
95
+ description: 'Ok. True if account holder is registered and active, false if the account holder is not active or not found found'
96
+ content:
97
+ Incorrect target environment: { }
98
+ '400':
99
+ description: 'Bad request, e.g. invalid data was sent in the request.'
100
+ content:
101
+ Incorrect target environment: { }
102
+ '500':
103
+ description: Internal error. The returned response contains details.
104
+ content:
105
+ Incorrect target environment:
106
+ schema:
107
+ $ref: '#/components/schemas/ErrorReason'
108
+ example:
109
+ code: NOT_ALLOWED_TARGET_ENVIRONMENT
110
+ message: Access to target environment is forbidden.
111
+ '/v1_0/transfer/{referenceId}':
112
+ get:
113
+ summary: GetTransferStatus
114
+ description: This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.
115
+ operationId: GetTransferStatus
116
+ parameters:
117
+ - name: referenceId
118
+ in: path
119
+ description: UUID of transaction to get result. Reference id used when creating the Transfer.
120
+ required: true
121
+ schema:
122
+ type: string
123
+ - name: Authorization
124
+ in: header
125
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
126
+ required: true
127
+ schema:
128
+ type: string
129
+ - name: X-Target-Environment
130
+ in: header
131
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
132
+ required: true
133
+ schema:
134
+ type: string
135
+ responses:
136
+ '200':
137
+ description: OK. Note that a failed transfer will be returned with this status too. The 'status' of the TransferResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.
138
+ content:
139
+ Successful transfer:
140
+ schema:
141
+ $ref: '#/components/schemas/TransferResult'
142
+ example:
143
+ amount: 100
144
+ currency: UGX
145
+ financialTransactionId: 363440463
146
+ externalId: 83453
147
+ payee:
148
+ partyIdType: MSISDN
149
+ partyId: 4609274685
150
+ status: SUCCESSFUL
151
+ Payer limit breached:
152
+ schema:
153
+ $ref: '#/components/schemas/TransferResult'
154
+ example:
155
+ amount: 100
156
+ currency: UGX
157
+ externalId: 83453
158
+ payee:
159
+ partyIdType: MSISDN
160
+ partyId: 4609274685
161
+ status: FAILED
162
+ reason:
163
+ code: PAYER_LIMIT_REACHED
164
+ message: The payer's limit has been breached.
165
+ API user insufficient balance:
166
+ schema:
167
+ $ref: '#/components/schemas/TransferResult'
168
+ example:
169
+ amount: 100
170
+ currency: UGX
171
+ externalId: 83453
172
+ payee:
173
+ partyIdType: MSISDN
174
+ partyId: 4609274685
175
+ status: FAILED
176
+ reason:
177
+ code: NOT_ENOUGH_FUNDS
178
+ message: The payer does not have enough funds.
179
+ application/json:
180
+ schema:
181
+ $ref: '#/components/schemas/TransferResult'
182
+ example:
183
+ amount: string
184
+ currency: string
185
+ financialTransactionId: string
186
+ externalId: string
187
+ payee:
188
+ partyIdType: MSISDN
189
+ partyId: string
190
+ payerMessage: string
191
+ payeeNote: string
192
+ status: PENDING
193
+ reason:
194
+ code: PAYEE_NOT_FOUND
195
+ message: string
196
+ Transfer not found:
197
+ schema:
198
+ $ref: '#/components/schemas/TransferResult'
199
+ examples:
200
+ default:
201
+ value:
202
+ Unspecified internal error:
203
+ schema:
204
+ $ref: '#/components/schemas/TransferResult'
205
+ examples:
206
+ default:
207
+ value:
208
+ '400':
209
+ description: 'Bad request, e.g. an incorrectly formatted reference id was provided.'
210
+ content:
211
+ Successful transfer: { }
212
+ Payer limit breached: { }
213
+ API user insufficient balance: { }
214
+ application/json: { }
215
+ Transfer not found: { }
216
+ Unspecified internal error: { }
217
+ '404':
218
+ description: Resource not found.
219
+ content:
220
+ Transfer not found:
221
+ schema:
222
+ $ref: '#/components/schemas/ErrorReason'
223
+ example:
224
+ code: RESOURCE_NOT_FOUND
225
+ message: Requested resource was not found.
226
+ Successful transfer:
227
+ schema:
228
+ $ref: '#/components/schemas/ErrorReason'
229
+ examples:
230
+ default:
231
+ value:
232
+ Payer limit breached:
233
+ schema:
234
+ $ref: '#/components/schemas/ErrorReason'
235
+ examples:
236
+ default:
237
+ value:
238
+ API user insufficient balance:
239
+ schema:
240
+ $ref: '#/components/schemas/ErrorReason'
241
+ examples:
242
+ default:
243
+ value:
244
+ application/json:
245
+ schema:
246
+ $ref: '#/components/schemas/ErrorReason'
247
+ example:
248
+ code: PAYEE_NOT_FOUND
249
+ message: string
250
+ Unspecified internal error:
251
+ schema:
252
+ $ref: '#/components/schemas/ErrorReason'
253
+ examples:
254
+ default:
255
+ value:
256
+ '500':
257
+ description: 'Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.'
258
+ content:
259
+ Unspecified internal error:
260
+ schema:
261
+ $ref: '#/components/schemas/ErrorReason'
262
+ example:
263
+ code: INTERNAL_PROCESSING_ERROR
264
+ message: An internal error occurred while processing.
265
+ Successful transfer:
266
+ schema:
267
+ $ref: '#/components/schemas/ErrorReason'
268
+ examples:
269
+ default:
270
+ value:
271
+ Payer limit breached:
272
+ schema:
273
+ $ref: '#/components/schemas/ErrorReason'
274
+ examples:
275
+ default:
276
+ value:
277
+ API user insufficient balance:
278
+ schema:
279
+ $ref: '#/components/schemas/ErrorReason'
280
+ examples:
281
+ default:
282
+ value:
283
+ application/json:
284
+ schema:
285
+ $ref: '#/components/schemas/ErrorReason'
286
+ example:
287
+ code: PAYEE_NOT_FOUND
288
+ message: string
289
+ Transfer not found:
290
+ schema:
291
+ $ref: '#/components/schemas/ErrorReason'
292
+ examples:
293
+ default:
294
+ value:
295
+ '/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo':
296
+ get:
297
+ summary: GetBasicUserinfo
298
+ description: This operation returns personal information of the account holder. The operation does not need any consent by the account holder.
299
+ operationId: GetBasicUserinfo
300
+ parameters:
301
+ - name: accountHolderMSISDN
302
+ in: path
303
+ description: MSISDN of the account holder. Mobile number validated according to ITU-T E.164.
304
+ required: true
305
+ schema:
306
+ type: string
307
+ - name: Authorization
308
+ in: header
309
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
310
+ required: true
311
+ schema:
312
+ type: string
313
+ - name: X-Target-Environment
314
+ in: header
315
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
316
+ required: true
317
+ schema:
318
+ type: string
319
+ responses:
320
+ '200':
321
+ description: OK
322
+ content:
323
+ application/json:
324
+ schema:
325
+ $ref: '#/components/schemas/BasicUserInfoJsonResponse'
326
+ example:
327
+ given_name: string
328
+ family_name: string
329
+ birthdate: string
330
+ locale: string
331
+ gender: string
332
+ status: string
333
+ '401':
334
+ description: Unauthorized
335
+ content:
336
+ application/json:
337
+ schema:
338
+ $ref: '#/components/schemas/TokenPost401ApplicationJsonResponse'
339
+ example:
340
+ error: string
341
+ '500':
342
+ description: Error
343
+ content:
344
+ application/json: { }
345
+ /v1_0/bc-authorize:
346
+ post:
347
+ summary: bc-authorize
348
+ description: This operation is used to claim a consent by the account holder for the requested scopes.
349
+ operationId: bc-authorize
350
+ parameters:
351
+ - name: Authorization
352
+ in: header
353
+ description: Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.
354
+ required: true
355
+ schema:
356
+ type: string
357
+ - name: X-Target-Environment
358
+ in: header
359
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
360
+ required: true
361
+ schema:
362
+ type: string
363
+ - name: X-Callback-Url
364
+ in: header
365
+ description: URL to the server where the callback should be sent.
366
+ schema:
367
+ type: string
368
+ requestBody:
369
+ content:
370
+ application/x-www-form-urlencoded:
371
+ schema:
372
+ properties:
373
+ scope:
374
+ type: string
375
+ login_hint:
376
+ type: string
377
+ access_type:
378
+ enum:
379
+ - online
380
+ - offline
381
+ type: string
382
+ consent_valid_in:
383
+ type: integer
384
+ client_notification_token:
385
+ type: string
386
+ scope_instruction:
387
+ type: string
388
+ example: 'login_hint=ID:{msisdn}/MSISDN&scope={scope}&access_type={online/offline}'
389
+ responses:
390
+ '200':
391
+ description: OK
392
+ content:
393
+ application/json:
394
+ schema:
395
+ $ref: '#/components/schemas/bcauthorizeResponse'
396
+ example:
397
+ auth_req_id: string
398
+ interval: 0
399
+ expires_in: 0
400
+ '/v1_0/account/balance/{currency}':
401
+ get:
402
+ summary: GetAccountBalanceInSpecificCurrency
403
+ description: Get the balance of own account. Currency parameter passed in GET
404
+ operationId: GetAccountBalanceInSpecificCurrency
405
+ parameters:
406
+ - name: currency
407
+ in: path
408
+ description: Should be in ISO4217 Currency
409
+ required: true
410
+ schema:
411
+ type: string
412
+ - name: Authorization
413
+ in: header
414
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
415
+ required: true
416
+ schema:
417
+ type: string
418
+ - name: X-Target-Environment
419
+ in: header
420
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
421
+ required: true
422
+ schema:
423
+ type: string
424
+ responses:
425
+ '200':
426
+ description: Ok
427
+ content:
428
+ application/json:
429
+ schema:
430
+ $ref: '#/components/schemas/Balance'
431
+ example:
432
+ availableBalance: string
433
+ currency: string
434
+ Incorrect target environment:
435
+ schema:
436
+ $ref: '#/components/schemas/Balance'
437
+ examples:
438
+ default:
439
+ value:
440
+ '400':
441
+ description: 'Bad request, e.g. invalid data was sent in the request.'
442
+ content:
443
+ application/json: { }
444
+ Incorrect target environment: { }
445
+ '500':
446
+ description: Internal error. The returned response contains details.
447
+ content:
448
+ Incorrect target environment:
449
+ schema:
450
+ $ref: '#/components/schemas/ErrorReason'
451
+ example:
452
+ code: NOT_ALLOWED_TARGET_ENVIRONMENT
453
+ message: Access to target environment is forbidden.
454
+ application/json:
455
+ schema:
456
+ $ref: '#/components/schemas/ErrorReason'
457
+ example:
458
+ code: PAYEE_NOT_FOUND
459
+ message: string
460
+ /v1_0/deposit:
461
+ post:
462
+ summary: Deposit-V1
463
+ description: 'deposit operation is used to deposit an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /deposit/\{referenceId\}'
464
+ operationId: Deposit-V1
465
+ parameters:
466
+ - name: Authorization
467
+ in: header
468
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
469
+ required: true
470
+ schema:
471
+ type: string
472
+ - name: X-Callback-Url
473
+ in: header
474
+ description: (POST Method)URL to the server where the callback should be sent.
475
+ schema:
476
+ type: string
477
+ - name: X-Reference-Id
478
+ in: header
479
+ description: Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.
480
+ required: true
481
+ schema:
482
+ type: string
483
+ - name: X-Target-Environment
484
+ in: header
485
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
486
+ required: true
487
+ schema:
488
+ type: string
489
+ requestBody:
490
+ content:
491
+ application/json:
492
+ schema:
493
+ $ref: '#/components/schemas/Transfer'
494
+ example:
495
+ amount: string
496
+ currency: string
497
+ externalId: string
498
+ payee:
499
+ partyIdType: MSISDN
500
+ partyId: string
501
+ payerMessage: string
502
+ payeeNote: string
503
+ responses:
504
+ '202':
505
+ description: Accepted
506
+ content:
507
+ application/json: { }
508
+ ReferenceId already in use: { }
509
+ Incorrect currency for target environment: { }
510
+ '400':
511
+ description: 'Bad request, e.g. invalid data was sent in the request.'
512
+ content:
513
+ application/json: { }
514
+ ReferenceId already in use: { }
515
+ Incorrect currency for target environment: { }
516
+ '409':
517
+ description: 'Conflict, duplicated reference id'
518
+ content:
519
+ ReferenceId already in use:
520
+ schema:
521
+ $ref: '#/components/schemas/ErrorReason'
522
+ example:
523
+ code: RESOURCE_ALREADY_EXIST
524
+ message: Duplicated reference id. Creation of resource failed.
525
+ application/json:
526
+ schema:
527
+ $ref: '#/components/schemas/ErrorReason'
528
+ example:
529
+ code: PAYEE_NOT_FOUND
530
+ message: string
531
+ Incorrect currency for target environment:
532
+ schema:
533
+ $ref: '#/components/schemas/ErrorReason'
534
+ examples:
535
+ default:
536
+ value:
537
+ '500':
538
+ description: Internal Error.
539
+ content:
540
+ Incorrect currency for target environment:
541
+ schema:
542
+ $ref: '#/components/schemas/ErrorReason'
543
+ example:
544
+ code: INVALID_CURRENCY
545
+ message: Currency not supported.
546
+ application/json:
547
+ schema:
548
+ $ref: '#/components/schemas/ErrorReason'
549
+ example:
550
+ code: PAYEE_NOT_FOUND
551
+ message: string
552
+ ReferenceId already in use:
553
+ schema:
554
+ $ref: '#/components/schemas/ErrorReason'
555
+ examples:
556
+ default:
557
+ value:
558
+ /v2_0/deposit:
559
+ post:
560
+ summary: Deposit-V2
561
+ description: 'deposit operation is used to deposit an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /deposit/\{referenceId\}'
562
+ operationId: Deposit-V2
563
+ parameters:
564
+ - name: Authorization
565
+ in: header
566
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
567
+ required: true
568
+ schema:
569
+ type: string
570
+ - name: X-Callback-Url
571
+ in: header
572
+ description: (PUT Method)URL to the server where the callback should be sent.
573
+ schema:
574
+ type: string
575
+ - name: X-Reference-Id
576
+ in: header
577
+ description: Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.
578
+ required: true
579
+ schema:
580
+ type: string
581
+ - name: X-Target-Environment
582
+ in: header
583
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
584
+ required: true
585
+ schema:
586
+ type: string
587
+ requestBody:
588
+ content:
589
+ application/json:
590
+ schema:
591
+ $ref: '#/components/schemas/Transfer'
592
+ example:
593
+ amount: string
594
+ currency: string
595
+ externalId: string
596
+ payee:
597
+ partyIdType: MSISDN
598
+ partyId: string
599
+ payerMessage: string
600
+ payeeNote: string
601
+ responses:
602
+ '202':
603
+ description: Accepted
604
+ content:
605
+ application/json: { }
606
+ ReferenceId already in use: { }
607
+ Incorrect currency for target environment: { }
608
+ '400':
609
+ description: 'Bad request, e.g. invalid data was sent in the request.'
610
+ content:
611
+ application/json: { }
612
+ ReferenceId already in use: { }
613
+ Incorrect currency for target environment: { }
614
+ '409':
615
+ description: 'Conflict, duplicated reference id'
616
+ content:
617
+ ReferenceId already in use:
618
+ schema:
619
+ $ref: '#/components/schemas/ErrorReason'
620
+ example:
621
+ code: RESOURCE_ALREADY_EXIST
622
+ message: Duplicated reference id. Creation of resource failed.
623
+ application/json:
624
+ schema:
625
+ $ref: '#/components/schemas/ErrorReason'
626
+ example:
627
+ code: PAYEE_NOT_FOUND
628
+ message: string
629
+ Incorrect currency for target environment:
630
+ schema:
631
+ $ref: '#/components/schemas/ErrorReason'
632
+ examples:
633
+ default:
634
+ value:
635
+ '500':
636
+ description: Internal Error.
637
+ content:
638
+ Incorrect currency for target environment:
639
+ schema:
640
+ $ref: '#/components/schemas/ErrorReason'
641
+ example:
642
+ code: INVALID_CURRENCY
643
+ message: Currency not supported.
644
+ application/json:
645
+ schema:
646
+ $ref: '#/components/schemas/ErrorReason'
647
+ example:
648
+ code: PAYEE_NOT_FOUND
649
+ message: string
650
+ ReferenceId already in use:
651
+ schema:
652
+ $ref: '#/components/schemas/ErrorReason'
653
+ examples:
654
+ default:
655
+ value:
656
+ '/v1_0/deposit/{referenceId}':
657
+ get:
658
+ summary: GetDepositStatus
659
+ description: This operation is used to get the status of a deposit. X-Reference-Id that was passed in the post is used as reference to the request.
660
+ operationId: GetDepositStatus
661
+ parameters:
662
+ - name: referenceId
663
+ in: path
664
+ description: UUID of transaction to get result. Reference id used when creating the Deposit.
665
+ required: true
666
+ schema:
667
+ type: string
668
+ - name: Authorization
669
+ in: header
670
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
671
+ required: true
672
+ schema:
673
+ type: string
674
+ - name: X-Target-Environment
675
+ in: header
676
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
677
+ required: true
678
+ schema:
679
+ type: string
680
+ responses:
681
+ '200':
682
+ description: OK. Note that a failed transfer will be returned with this status too. The 'status' of the TransferResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.
683
+ content:
684
+ Successful transfer:
685
+ schema:
686
+ $ref: '#/components/schemas/TransferResult'
687
+ example:
688
+ amount: 100
689
+ currency: UGX
690
+ financialTransactionId: 363440463
691
+ externalId: 83453
692
+ payee:
693
+ partyIdType: MSISDN
694
+ partyId: 4609274685
695
+ status: SUCCESSFUL
696
+ Payer limit breached:
697
+ schema:
698
+ $ref: '#/components/schemas/TransferResult'
699
+ example:
700
+ amount: 100
701
+ currency: UGX
702
+ externalId: 83453
703
+ payee:
704
+ partyIdType: MSISDN
705
+ partyId: 4609274685
706
+ status: FAILED
707
+ reason:
708
+ code: PAYER_LIMIT_REACHED
709
+ message: The payer's limit has been breached.
710
+ API user insufficient balance:
711
+ schema:
712
+ $ref: '#/components/schemas/TransferResult'
713
+ example:
714
+ amount: 100
715
+ currency: UGX
716
+ externalId: 83453
717
+ payee:
718
+ partyIdType: MSISDN
719
+ partyId: 4609274685
720
+ status: FAILED
721
+ reason:
722
+ code: NOT_ENOUGH_FUNDS
723
+ message: The payer does not have enough funds.
724
+ application/json:
725
+ schema:
726
+ $ref: '#/components/schemas/TransferResult'
727
+ example:
728
+ amount: string
729
+ currency: string
730
+ financialTransactionId: string
731
+ externalId: string
732
+ payee:
733
+ partyIdType: MSISDN
734
+ partyId: string
735
+ payerMessage: string
736
+ payeeNote: string
737
+ status: PENDING
738
+ reason:
739
+ code: PAYEE_NOT_FOUND
740
+ message: string
741
+ Transfer not found:
742
+ schema:
743
+ $ref: '#/components/schemas/TransferResult'
744
+ examples:
745
+ default:
746
+ value:
747
+ Unspecified internal error:
748
+ schema:
749
+ $ref: '#/components/schemas/TransferResult'
750
+ examples:
751
+ default:
752
+ value:
753
+ '400':
754
+ description: 'Bad request, e.g. an incorrectly formatted reference id was provided.'
755
+ content:
756
+ Successful transfer: { }
757
+ Payer limit breached: { }
758
+ API user insufficient balance: { }
759
+ application/json: { }
760
+ Transfer not found: { }
761
+ Unspecified internal error: { }
762
+ '404':
763
+ description: Resource not found.
764
+ content:
765
+ Transfer not found:
766
+ schema:
767
+ $ref: '#/components/schemas/ErrorReason'
768
+ example:
769
+ code: RESOURCE_NOT_FOUND
770
+ message: Requested resource was not found.
771
+ Successful transfer:
772
+ schema:
773
+ $ref: '#/components/schemas/ErrorReason'
774
+ examples:
775
+ default:
776
+ value:
777
+ Payer limit breached:
778
+ schema:
779
+ $ref: '#/components/schemas/ErrorReason'
780
+ examples:
781
+ default:
782
+ value:
783
+ API user insufficient balance:
784
+ schema:
785
+ $ref: '#/components/schemas/ErrorReason'
786
+ examples:
787
+ default:
788
+ value:
789
+ application/json:
790
+ schema:
791
+ $ref: '#/components/schemas/ErrorReason'
792
+ example:
793
+ code: PAYEE_NOT_FOUND
794
+ message: string
795
+ Unspecified internal error:
796
+ schema:
797
+ $ref: '#/components/schemas/ErrorReason'
798
+ examples:
799
+ default:
800
+ value:
801
+ '500':
802
+ description: 'Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.'
803
+ content:
804
+ Unspecified internal error:
805
+ schema:
806
+ $ref: '#/components/schemas/ErrorReason'
807
+ example:
808
+ code: INTERNAL_PROCESSING_ERROR
809
+ message: An internal error occurred while processing.
810
+ Successful transfer:
811
+ schema:
812
+ $ref: '#/components/schemas/ErrorReason'
813
+ examples:
814
+ default:
815
+ value:
816
+ Payer limit breached:
817
+ schema:
818
+ $ref: '#/components/schemas/ErrorReason'
819
+ examples:
820
+ default:
821
+ value:
822
+ API user insufficient balance:
823
+ schema:
824
+ $ref: '#/components/schemas/ErrorReason'
825
+ examples:
826
+ default:
827
+ value:
828
+ application/json:
829
+ schema:
830
+ $ref: '#/components/schemas/ErrorReason'
831
+ example:
832
+ code: PAYEE_NOT_FOUND
833
+ message: string
834
+ Transfer not found:
835
+ schema:
836
+ $ref: '#/components/schemas/ErrorReason'
837
+ examples:
838
+ default:
839
+ value:
840
+ /v1_0/refund:
841
+ post:
842
+ summary: Refund-V1
843
+ description: 'refund operation is used to refund an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /refund/\{referenceId\}'
844
+ operationId: Refund-V1
845
+ parameters:
846
+ - name: Authorization
847
+ in: header
848
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
849
+ required: true
850
+ schema:
851
+ type: string
852
+ - name: X-Callback-Url
853
+ in: header
854
+ description: (POST Method)URL to the server where the callback should be sent.
855
+ schema:
856
+ type: string
857
+ - name: X-Reference-Id
858
+ in: header
859
+ description: Format - UUID. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.
860
+ required: true
861
+ schema:
862
+ type: string
863
+ - name: X-Target-Environment
864
+ in: header
865
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
866
+ required: true
867
+ schema:
868
+ type: string
869
+ requestBody:
870
+ content:
871
+ application/json:
872
+ schema:
873
+ $ref: '#/components/schemas/Refund'
874
+ example:
875
+ amount: string
876
+ currency: string
877
+ externalId: string
878
+ payerMessage: string
879
+ payeeNote: string
880
+ referenceIdToRefund: UUID-REQUEST-TO-PAY
881
+ responses:
882
+ '202':
883
+ description: Accepted
884
+ content:
885
+ application/json: { }
886
+ ReferenceId already in use: { }
887
+ Incorrect currency for target environment: { }
888
+ '400':
889
+ description: 'Bad request, e.g. invalid data was sent in the request.'
890
+ content:
891
+ application/json: { }
892
+ ReferenceId already in use: { }
893
+ Incorrect currency for target environment: { }
894
+ '409':
895
+ description: 'Conflict, duplicated reference id'
896
+ content:
897
+ ReferenceId already in use:
898
+ schema:
899
+ $ref: '#/components/schemas/ErrorReason'
900
+ example:
901
+ code: RESOURCE_ALREADY_EXIST
902
+ message: Duplicated reference id. Creation of resource failed.
903
+ application/json:
904
+ schema:
905
+ $ref: '#/components/schemas/ErrorReason'
906
+ example:
907
+ code: PAYEE_NOT_FOUND
908
+ message: string
909
+ Incorrect currency for target environment:
910
+ schema:
911
+ $ref: '#/components/schemas/ErrorReason'
912
+ examples:
913
+ default:
914
+ value:
915
+ '500':
916
+ description: Internal Error.
917
+ content:
918
+ Incorrect currency for target environment:
919
+ schema:
920
+ $ref: '#/components/schemas/ErrorReason'
921
+ example:
922
+ code: INVALID_CURRENCY
923
+ message: Currency not supported.
924
+ application/json:
925
+ schema:
926
+ $ref: '#/components/schemas/ErrorReason'
927
+ example:
928
+ code: PAYEE_NOT_FOUND
929
+ message: string
930
+ ReferenceId already in use:
931
+ schema:
932
+ $ref: '#/components/schemas/ErrorReason'
933
+ examples:
934
+ default:
935
+ value:
936
+ /v2_0/refund:
937
+ post:
938
+ summary: Refund-V2
939
+ description: 'refund operation is used to refund an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /refund/\{referenceId\}'
940
+ operationId: Refund-V2
941
+ parameters:
942
+ - name: Authorization
943
+ in: header
944
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
945
+ required: true
946
+ schema:
947
+ type: string
948
+ - name: X-Callback-Url
949
+ in: header
950
+ description: (PUT Method)URL to the server where the callback should be sent.
951
+ schema:
952
+ type: string
953
+ - name: X-Reference-Id
954
+ in: header
955
+ description: Format - UUID. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.
956
+ required: true
957
+ schema:
958
+ type: string
959
+ - name: X-Target-Environment
960
+ in: header
961
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
962
+ required: true
963
+ schema:
964
+ type: string
965
+ requestBody:
966
+ content:
967
+ application/json:
968
+ schema:
969
+ $ref: '#/components/schemas/Refund'
970
+ example:
971
+ amount: string
972
+ currency: string
973
+ externalId: string
974
+ payerMessage: string
975
+ payeeNote: string
976
+ referenceIdToRefund: UUID-REQUEST-TO-PAY
977
+ responses:
978
+ '202':
979
+ description: Accepted
980
+ content:
981
+ application/json: { }
982
+ ReferenceId already in use: { }
983
+ Incorrect currency for target environment: { }
984
+ '400':
985
+ description: 'Bad request, e.g. invalid data was sent in the request.'
986
+ content:
987
+ application/json: { }
988
+ ReferenceId already in use: { }
989
+ Incorrect currency for target environment: { }
990
+ '409':
991
+ description: 'Conflict, duplicated reference id'
992
+ content:
993
+ ReferenceId already in use:
994
+ schema:
995
+ $ref: '#/components/schemas/ErrorReason'
996
+ example:
997
+ code: RESOURCE_ALREADY_EXIST
998
+ message: Duplicated reference id. Creation of resource failed.
999
+ application/json:
1000
+ schema:
1001
+ $ref: '#/components/schemas/ErrorReason'
1002
+ example:
1003
+ code: PAYEE_NOT_FOUND
1004
+ message: string
1005
+ Incorrect currency for target environment:
1006
+ schema:
1007
+ $ref: '#/components/schemas/ErrorReason'
1008
+ examples:
1009
+ default:
1010
+ value:
1011
+ '500':
1012
+ description: Internal Error.
1013
+ content:
1014
+ Incorrect currency for target environment:
1015
+ schema:
1016
+ $ref: '#/components/schemas/ErrorReason'
1017
+ example:
1018
+ code: INVALID_CURRENCY
1019
+ message: Currency not supported.
1020
+ application/json:
1021
+ schema:
1022
+ $ref: '#/components/schemas/ErrorReason'
1023
+ example:
1024
+ code: PAYEE_NOT_FOUND
1025
+ message: string
1026
+ ReferenceId already in use:
1027
+ schema:
1028
+ $ref: '#/components/schemas/ErrorReason'
1029
+ examples:
1030
+ default:
1031
+ value:
1032
+ '/v1_0/refund/{referenceId}':
1033
+ get:
1034
+ summary: GetRefundStatus
1035
+ description: This operation is used to get the status of a refund. X-Reference-Id that was passed in the post is used as reference to the request.
1036
+ operationId: GetRefundStatus
1037
+ parameters:
1038
+ - name: referenceId
1039
+ in: path
1040
+ description: UUID of transaction to get result. Reference id used when creating the Refund.
1041
+ required: true
1042
+ schema:
1043
+ type: string
1044
+ - name: Authorization
1045
+ in: header
1046
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
1047
+ required: true
1048
+ schema:
1049
+ type: string
1050
+ - name: X-Target-Environment
1051
+ in: header
1052
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
1053
+ required: true
1054
+ schema:
1055
+ type: string
1056
+ responses:
1057
+ '200':
1058
+ description: OK. Note that a failed transfer will be returned with this status too. The 'status' of the RefundResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.
1059
+ content:
1060
+ Successful transfer:
1061
+ schema:
1062
+ $ref: '#/components/schemas/RefundResult'
1063
+ example:
1064
+ amount: 100
1065
+ currency: UGX
1066
+ financialTransactionId: 363440463
1067
+ externalId: 83453
1068
+ payee:
1069
+ partyIdType: MSISDN
1070
+ partyId: 4609274685
1071
+ status: SUCCESSFUL
1072
+ Payer limit breached:
1073
+ schema:
1074
+ $ref: '#/components/schemas/RefundResult'
1075
+ example:
1076
+ amount: 100
1077
+ currency: UGX
1078
+ externalId: 83453
1079
+ payee:
1080
+ partyIdType: MSISDN
1081
+ partyId: 4609274685
1082
+ status: FAILED
1083
+ reason:
1084
+ code: PAYER_LIMIT_REACHED
1085
+ message: The payer's limit has been breached.
1086
+ API user insufficient balance:
1087
+ schema:
1088
+ $ref: '#/components/schemas/RefundResult'
1089
+ example:
1090
+ amount: 100
1091
+ currency: UGX
1092
+ externalId: 83453
1093
+ payee:
1094
+ partyIdType: MSISDN
1095
+ partyId: 4609274685
1096
+ status: FAILED
1097
+ reason:
1098
+ code: NOT_ENOUGH_FUNDS
1099
+ message: The payer does not have enough funds.
1100
+ application/json:
1101
+ schema:
1102
+ $ref: '#/components/schemas/RefundResult'
1103
+ example:
1104
+ amount: string
1105
+ currency: string
1106
+ financialTransactionId: string
1107
+ externalId: string
1108
+ payee:
1109
+ partyIdType: MSISDN
1110
+ partyId: string
1111
+ payerMessage: string
1112
+ payeeNote: string
1113
+ status: PENDING
1114
+ reason:
1115
+ code: PAYEE_NOT_FOUND
1116
+ message: string
1117
+ Transfer not found:
1118
+ schema:
1119
+ $ref: '#/components/schemas/RefundResult'
1120
+ examples:
1121
+ default:
1122
+ value:
1123
+ Unspecified internal error:
1124
+ schema:
1125
+ $ref: '#/components/schemas/RefundResult'
1126
+ examples:
1127
+ default:
1128
+ value:
1129
+ '400':
1130
+ description: 'Bad request, e.g. an incorrectly formatted reference id was provided.'
1131
+ content:
1132
+ Successful transfer: { }
1133
+ Payer limit breached: { }
1134
+ API user insufficient balance: { }
1135
+ application/json: { }
1136
+ Transfer not found: { }
1137
+ Unspecified internal error: { }
1138
+ '404':
1139
+ description: Resource not found.
1140
+ content:
1141
+ Transfer not found:
1142
+ schema:
1143
+ $ref: '#/components/schemas/ErrorReason'
1144
+ example:
1145
+ code: RESOURCE_NOT_FOUND
1146
+ message: Requested resource was not found.
1147
+ Successful transfer:
1148
+ schema:
1149
+ $ref: '#/components/schemas/ErrorReason'
1150
+ examples:
1151
+ default:
1152
+ value:
1153
+ Payer limit breached:
1154
+ schema:
1155
+ $ref: '#/components/schemas/ErrorReason'
1156
+ examples:
1157
+ default:
1158
+ value:
1159
+ API user insufficient balance:
1160
+ schema:
1161
+ $ref: '#/components/schemas/ErrorReason'
1162
+ examples:
1163
+ default:
1164
+ value:
1165
+ application/json:
1166
+ schema:
1167
+ $ref: '#/components/schemas/ErrorReason'
1168
+ example:
1169
+ code: PAYEE_NOT_FOUND
1170
+ message: string
1171
+ Unspecified internal error:
1172
+ schema:
1173
+ $ref: '#/components/schemas/ErrorReason'
1174
+ examples:
1175
+ default:
1176
+ value:
1177
+ '500':
1178
+ description: 'Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.'
1179
+ content:
1180
+ Unspecified internal error:
1181
+ schema:
1182
+ $ref: '#/components/schemas/ErrorReason'
1183
+ example:
1184
+ code: INTERNAL_PROCESSING_ERROR
1185
+ message: An internal error occurred while processing.
1186
+ Successful transfer:
1187
+ schema:
1188
+ $ref: '#/components/schemas/ErrorReason'
1189
+ examples:
1190
+ default:
1191
+ value:
1192
+ Payer limit breached:
1193
+ schema:
1194
+ $ref: '#/components/schemas/ErrorReason'
1195
+ examples:
1196
+ default:
1197
+ value:
1198
+ API user insufficient balance:
1199
+ schema:
1200
+ $ref: '#/components/schemas/ErrorReason'
1201
+ examples:
1202
+ default:
1203
+ value:
1204
+ application/json:
1205
+ schema:
1206
+ $ref: '#/components/schemas/ErrorReason'
1207
+ example:
1208
+ code: PAYEE_NOT_FOUND
1209
+ message: string
1210
+ Transfer not found:
1211
+ schema:
1212
+ $ref: '#/components/schemas/ErrorReason'
1213
+ examples:
1214
+ default:
1215
+ value:
1216
+ /oauth2/token/:
1217
+ post:
1218
+ summary: CreateOauth2Token
1219
+ description: This operation is used to claim a consent by the account holder for the requested scopes.
1220
+ operationId: CreateOauth2Token
1221
+ parameters:
1222
+ - name: Authorization
1223
+ in: header
1224
+ description: Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.
1225
+ required: true
1226
+ schema:
1227
+ type: string
1228
+ - name: X-Target-Environment
1229
+ in: header
1230
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
1231
+ required: true
1232
+ schema:
1233
+ type: string
1234
+ requestBody:
1235
+ content:
1236
+ application/x-www-form-urlencoded:
1237
+ schema:
1238
+ properties:
1239
+ grant_type:
1240
+ type: string
1241
+ auth_req_id:
1242
+ type: string
1243
+ refresh_token:
1244
+ type: string
1245
+ example: 'grant_type=urn:openid:params:grant-type:ciba&auth_req_id={auth_req_id}'
1246
+ responses:
1247
+ '200':
1248
+ description: OK
1249
+ content:
1250
+ application/json:
1251
+ schema:
1252
+ $ref: '#/components/schemas/oauth2TokenResponse'
1253
+ example:
1254
+ access_token: string
1255
+ token_type: string
1256
+ expires_in: 0
1257
+ scope: string
1258
+ refresh_token: string
1259
+ refresh_token_expired_in: 0
1260
+ /oauth2/v1_0/userinfo:
1261
+ get:
1262
+ summary: GetUserInfoWithConsent
1263
+ description: This operation is used to claim a consent by the account holder for the requested scopes.
1264
+ operationId: GetUserInfoWithConsent
1265
+ parameters:
1266
+ - name: Authorization
1267
+ in: header
1268
+ description: Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.
1269
+ required: true
1270
+ schema:
1271
+ type: string
1272
+ - name: X-Target-Environment
1273
+ in: header
1274
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
1275
+ required: true
1276
+ schema:
1277
+ type: string
1278
+ responses:
1279
+ '200':
1280
+ description: OK
1281
+ content:
1282
+ application/json:
1283
+ schema:
1284
+ $ref: '#/components/schemas/consentkycResponse'
1285
+ example:
1286
+ sub: string
1287
+ name: string
1288
+ given_name: string
1289
+ family_name: string
1290
+ middle_name: string
1291
+ email: string
1292
+ email_verified: true
1293
+ gender: string
1294
+ locale: string
1295
+ phone_number: string
1296
+ phone_number_verified: true
1297
+ address: string
1298
+ updated_at: 0
1299
+ status: string
1300
+ birthdate: string
1301
+ credit_score: string
1302
+ active: true
1303
+ country_of_birth: string
1304
+ region_of_birth: string
1305
+ city_of_birth: string
1306
+ occupation: string
1307
+ employer_name: string
1308
+ identification_type: string
1309
+ identification_value: string
1310
+ /token/:
1311
+ post:
1312
+ summary: CreateAccessToken
1313
+ description: This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.
1314
+ operationId: CreateAccessToken
1315
+ parameters:
1316
+ - name: Authorization
1317
+ in: header
1318
+ description: Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.
1319
+ required: true
1320
+ schema:
1321
+ type: string
1322
+ responses:
1323
+ '200':
1324
+ description: OK
1325
+ content:
1326
+ application/json:
1327
+ schema:
1328
+ $ref: '#/components/schemas/TokenPost200ApplicationJsonResponse'
1329
+ example:
1330
+ access_token: string
1331
+ token_type: string
1332
+ expires_in: 0
1333
+ '401':
1334
+ description: Unauthorized
1335
+ content:
1336
+ application/json:
1337
+ schema:
1338
+ $ref: '#/components/schemas/TokenPost401ApplicationJsonResponse'
1339
+ example:
1340
+ error: string
1341
+ '500':
1342
+ description: Error
1343
+ content:
1344
+ application/json: { }
1345
+ /v1_0/transfer:
1346
+ post:
1347
+ summary: Transfer
1348
+ description: 'Transfer operation is used to transfer an amount from the own account to a payee account.<br> Status of the transaction can validated by using the GET /transfer/\{referenceId\}'
1349
+ operationId: Transfer
1350
+ parameters:
1351
+ - name: Authorization
1352
+ in: header
1353
+ description: Bearer Authentication Token generated using CreateAccessToken API Call
1354
+ required: true
1355
+ schema:
1356
+ type: string
1357
+ - name: X-Callback-Url
1358
+ in: header
1359
+ description: URL to the server where the callback should be sent.
1360
+ schema:
1361
+ type: string
1362
+ - name: X-Reference-Id
1363
+ in: header
1364
+ description: 'Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.'
1365
+ required: true
1366
+ schema:
1367
+ type: string
1368
+ - name: X-Target-Environment
1369
+ in: header
1370
+ description: The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.
1371
+ required: true
1372
+ schema:
1373
+ type: string
1374
+ requestBody:
1375
+ content:
1376
+ application/json:
1377
+ schema:
1378
+ $ref: '#/components/schemas/Transfer'
1379
+ example:
1380
+ amount: string
1381
+ currency: string
1382
+ externalId: string
1383
+ payee:
1384
+ partyIdType: MSISDN
1385
+ partyId: string
1386
+ payerMessage: string
1387
+ payeeNote: string
1388
+ responses:
1389
+ '202':
1390
+ description: Accepted
1391
+ content:
1392
+ application/json: { }
1393
+ ReferenceId already in use: { }
1394
+ Incorrect currency for target environment: { }
1395
+ '400':
1396
+ description: 'Bad request, e.g. invalid data was sent in the request.'
1397
+ content:
1398
+ application/json: { }
1399
+ ReferenceId already in use: { }
1400
+ Incorrect currency for target environment: { }
1401
+ '409':
1402
+ description: 'Conflict, duplicated reference id'
1403
+ content:
1404
+ ReferenceId already in use:
1405
+ schema:
1406
+ $ref: '#/components/schemas/ErrorReason'
1407
+ example:
1408
+ code: RESOURCE_ALREADY_EXIST
1409
+ message: Duplicated reference id. Creation of resource failed.
1410
+ application/json:
1411
+ schema:
1412
+ $ref: '#/components/schemas/ErrorReason'
1413
+ example:
1414
+ code: PAYEE_NOT_FOUND
1415
+ message: string
1416
+ Incorrect currency for target environment:
1417
+ schema:
1418
+ $ref: '#/components/schemas/ErrorReason'
1419
+ examples:
1420
+ default:
1421
+ value:
1422
+ '500':
1423
+ description: Internal Error.
1424
+ content:
1425
+ Incorrect currency for target environment:
1426
+ schema:
1427
+ $ref: '#/components/schemas/ErrorReason'
1428
+ example:
1429
+ code: INVALID_CURRENCY
1430
+ message: Currency not supported.
1431
+ application/json:
1432
+ schema:
1433
+ $ref: '#/components/schemas/ErrorReason'
1434
+ example:
1435
+ code: PAYEE_NOT_FOUND
1436
+ message: string
1437
+ ReferenceId already in use:
1438
+ schema:
1439
+ $ref: '#/components/schemas/ErrorReason'
1440
+ examples:
1441
+ default:
1442
+ value:
1443
+ components:
1444
+ schemas:
1445
+ bcauthorize:
1446
+ type: object
1447
+ properties:
1448
+ scope:
1449
+ type: string
1450
+ description: Space separated list of scopes.
1451
+ login_hint:
1452
+ type: string
1453
+ description: The identity of the account holder.
1454
+ access_type:
1455
+ enum:
1456
+ - online
1457
+ - offline
1458
+ type: string
1459
+ description: 'Value either online, or offline.'
1460
+ consent_valid_in:
1461
+ type: integer
1462
+ description: The validity time of the consent in secondsThis parameter can only be used together with access type offline.
1463
+ client_notification_token:
1464
+ type: string
1465
+ description: This token is required when the client is using Ping or Push mode.
1466
+ scope_instruction:
1467
+ type: string
1468
+ description: Base64 encoded Instrcution of the financial transaction.
1469
+ bcauthorizeResponse:
1470
+ type: object
1471
+ properties:
1472
+ auth_req_id:
1473
+ type: string
1474
+ description: Authentication request ID as an UUID.
1475
+ interval:
1476
+ type: number
1477
+ description: Indicates how long time the client should wait between retries towards the endpoint /oauth2/token.
1478
+ expires_in:
1479
+ type: number
1480
+ description: 'Shows when the authentication request ID expires, in seconds.'
1481
+ BasicUserInfoJsonResponse:
1482
+ type: object
1483
+ properties:
1484
+ given_name:
1485
+ type: string
1486
+ description: 'Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.'
1487
+ family_name:
1488
+ type: string
1489
+ description: 'Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.'
1490
+ birthdate:
1491
+ type: string
1492
+ description: Account holder birth date.
1493
+ locale:
1494
+ type: string
1495
+ description: 'End-User''s locale, represented as a BCP47 [RFC5646] language tag. This is typically an ISO 639-1 Alpha-2 [ISO639�|�1] language code in lowercase and an ISO 3166-1 Alpha-2 [ISO3166�|�1] country code in uppercase, separated by a dash. For example, en-US or fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example, en_US; Relying Parties may choose to accept this locale syntax as well.'
1496
+ gender:
1497
+ type: string
1498
+ description: End-User's gender. Values defined by this specification are female and male. Other values may be used when neither of the defined values are applicable.
1499
+ status:
1500
+ type: string
1501
+ description: Accountholder status.
1502
+ TokenPost200ApplicationJsonResponse:
1503
+ type: object
1504
+ properties:
1505
+ access_token:
1506
+ type: string
1507
+ description: A JWT token which can be used to authrize against the other API end-points. The format of the token follows the JWT standard format (see jwt.io for an example). This is the token that should be sent in in the Authorization header when calling the other API end-points.
1508
+ token_type:
1509
+ type: string
1510
+ description: The token type.
1511
+ expires_in:
1512
+ type: integer
1513
+ description: The validity time in seconds of the token.
1514
+ oauth2TokenRequest:
1515
+ type: object
1516
+ properties:
1517
+ grant_type:
1518
+ type: string
1519
+ description: Value ca be either "urn:openid:params:grant-type:ciba" or refresh_token
1520
+ auth_req_id:
1521
+ type: string
1522
+ description: Authentication request ID.Value is only mandatory if grant_type is "urn:openid:params:grant-type:ciba"
1523
+ refresh_token:
1524
+ type: string
1525
+ description: UUID.Refresh token retrieved from oauth2 token endpoint for consents with grant_type offline. This parameter is only valid if grant_type is refresh_token.
1526
+ oauth2TokenResponse:
1527
+ type: object
1528
+ properties:
1529
+ access_token:
1530
+ type: string
1531
+ description: Oauth2 JWT access token.The generated token is valid 3600 seconds as default.
1532
+ token_type:
1533
+ type: string
1534
+ description: Value is Bearer
1535
+ expires_in:
1536
+ type: number
1537
+ description: 'Shows when the authentication request ID expires, in seconds.'
1538
+ scope:
1539
+ type: string
1540
+ description: List of scopes that belongs to the authentication request ID.
1541
+ refresh_token:
1542
+ type: string
1543
+ description: UUID of the refresh_token
1544
+ refresh_token_expired_in:
1545
+ type: integer
1546
+ description: 'The time in seconds until the consent can no longer be refreshed. Based on the default value for consent validity, or the value set to parameter consent_valid_in sent in the bc-authorize request.'
1547
+ consentkycResponse:
1548
+ type: object
1549
+ properties:
1550
+ sub:
1551
+ type: string
1552
+ description: Subject - Identifier for the End-User at the Issuer.
1553
+ name:
1554
+ type: string
1555
+ description: End-User's full name in displayable form including all name parts.
1556
+ given_name:
1557
+ type: string
1558
+ description: Given name(s) or first name(s) of the End-User.
1559
+ family_name:
1560
+ type: string
1561
+ description: Surname(s) or last name(s) of the End-User.
1562
+ middle_name:
1563
+ type: string
1564
+ description: Middle name(s) of the End-User.
1565
+ email:
1566
+ type: string
1567
+ description: 'End-User''s preferred e-mail address. Its value MUST conform to the RFC 5322 [RFC5322] address specification syntax.'
1568
+ email_verified:
1569
+ type: boolean
1570
+ description: The response value is True if the End-User's e-mail address has been verified;otherwise false.
1571
+ gender:
1572
+ type: string
1573
+ description: End-User's gender.
1574
+ locale:
1575
+ type: string
1576
+ description: Preffered language.
1577
+ phone_number:
1578
+ type: string
1579
+ description: End-User's preferred telephone number
1580
+ phone_number_verified:
1581
+ type: boolean
1582
+ description: The response value is True if the End-User's phone number has been verified; otherwise false.
1583
+ address:
1584
+ type: string
1585
+ description: User Address
1586
+ updated_at:
1587
+ type: number
1588
+ description: The time the End-User's information was last updated.
1589
+ status:
1590
+ type: string
1591
+ description: Account holder status.
1592
+ birthdate:
1593
+ type: string
1594
+ description: The birth date of the account holder.
1595
+ credit_score:
1596
+ type: string
1597
+ description: The credit score of the account holder.
1598
+ active:
1599
+ type: boolean
1600
+ description: The status of the account holder.
1601
+ country_of_birth:
1602
+ type: string
1603
+ description: Account holder country of birth.
1604
+ region_of_birth:
1605
+ type: string
1606
+ description: The birth region of the account holder.
1607
+ city_of_birth:
1608
+ type: string
1609
+ description: The city of birth for the account holder.
1610
+ occupation:
1611
+ type: string
1612
+ description: Occupation of the account holder.
1613
+ employer_name:
1614
+ type: string
1615
+ description: The name of the employer.
1616
+ identification_type:
1617
+ type: string
1618
+ description: Type of identification.The first non-expired identification is always chosen.
1619
+ identification_value:
1620
+ type: string
1621
+ description: The value of the identification.
1622
+ address:
1623
+ type: object
1624
+ properties:
1625
+ formatted:
1626
+ type: string
1627
+ description: 'Full mailing address, formatted for display or use on a mailing label. This field may contain multiple lines, separated by newlines.'
1628
+ street_address:
1629
+ type: string
1630
+ description: 'Full street address component, which may include house number, street name, Post Office Box, and multi-line extended street address information.'
1631
+ locality:
1632
+ type: string
1633
+ description: City or locality component.
1634
+ region:
1635
+ type: string
1636
+ description: 'State, province, prefecture, or region component.'
1637
+ postal_code:
1638
+ type: string
1639
+ description: Zip code or postal code component.
1640
+ country:
1641
+ type: string
1642
+ description: Country name component.
1643
+ TokenPost401ApplicationJsonResponse:
1644
+ type: object
1645
+ properties:
1646
+ error:
1647
+ type: string
1648
+ description: An error code.
1649
+ Balance:
1650
+ type: object
1651
+ properties:
1652
+ availableBalance:
1653
+ type: string
1654
+ description: The available balance of the account
1655
+ currency:
1656
+ type: string
1657
+ description: ISO4217 Currency
1658
+ description: The available balance of the account
1659
+ Party:
1660
+ type: object
1661
+ properties:
1662
+ partyIdType:
1663
+ enum:
1664
+ - MSISDN
1665
+ - EMAIL
1666
+ - PARTY_CODE
1667
+ type: string
1668
+ partyId:
1669
+ type: string
1670
+ description: 'Party identifies a account holder in the wallet platform. Party consists of two parameters, type and partyId. Each type have its own validation of the partyId<br> MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> EMAIL - Validated to be a valid e-mail format. Validated with IsEmail<br> PARTY_CODE - UUID of the party. Validated with IsUuid'
1671
+ PreApproval:
1672
+ type: object
1673
+ properties:
1674
+ payer:
1675
+ $ref: '#/components/schemas/Party'
1676
+ payerCurrency:
1677
+ type: string
1678
+ description: ISO4217 Currency
1679
+ payerMessage:
1680
+ type: string
1681
+ description: The mesage that is shown to the approver.
1682
+ validityTime:
1683
+ type: integer
1684
+ description: The request validity time of the pre-approval
1685
+ PreApprovalResult:
1686
+ type: object
1687
+ properties:
1688
+ payer:
1689
+ $ref: '#/components/schemas/Party'
1690
+ payerCurrency:
1691
+ type: string
1692
+ description: ISO4217 Currency
1693
+ payerMessage:
1694
+ type: string
1695
+ description: The mesage that is shown to the approver.
1696
+ validityTime:
1697
+ type: integer
1698
+ description: The request validity time of the pre-approval
1699
+ status:
1700
+ enum:
1701
+ - PENDING
1702
+ - SUCCESSFUL
1703
+ - FAILED
1704
+ type: string
1705
+ reason:
1706
+ $ref: '#/components/schemas/ErrorReason'
1707
+ RequestToPay:
1708
+ type: object
1709
+ properties:
1710
+ amount:
1711
+ type: string
1712
+ description: Amount that will be debited from the payer account.
1713
+ currency:
1714
+ type: string
1715
+ description: ISO4217 Currency
1716
+ externalId:
1717
+ type: string
1718
+ description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.
1719
+ payer:
1720
+ $ref: '#/components/schemas/Party'
1721
+ payerMessage:
1722
+ type: string
1723
+ description: Message that will be written in the payer transaction history message field.
1724
+ payeeNote:
1725
+ type: string
1726
+ description: Message that will be written in the payee transaction history note field.
1727
+ RequestToPayResult:
1728
+ type: object
1729
+ properties:
1730
+ amount:
1731
+ type: string
1732
+ description: Amount that will be debited from the payer account.
1733
+ currency:
1734
+ type: string
1735
+ description: ISO4217 Currency
1736
+ financialTransactionId:
1737
+ type: string
1738
+ description: Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account
1739
+ externalId:
1740
+ type: string
1741
+ description: External id provided in the creation of the requestToPay transaction.
1742
+ payer:
1743
+ $ref: '#/components/schemas/Party'
1744
+ payerMessage:
1745
+ type: string
1746
+ description: Message that will be written in the payer transaction history message field.
1747
+ payeeNote:
1748
+ type: string
1749
+ description: Message that will be written in the payee transaction history note field.
1750
+ status:
1751
+ enum:
1752
+ - PENDING
1753
+ - SUCCESSFUL
1754
+ - FAILED
1755
+ type: string
1756
+ reason:
1757
+ $ref: '#/components/schemas/ErrorReason'
1758
+ Transfer:
1759
+ type: object
1760
+ properties:
1761
+ amount:
1762
+ type: string
1763
+ description: Amount that will be debited from the payer account.
1764
+ currency:
1765
+ type: string
1766
+ description: ISO4217 Currency
1767
+ externalId:
1768
+ type: string
1769
+ description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.
1770
+ payee:
1771
+ $ref: '#/components/schemas/Party'
1772
+ payerMessage:
1773
+ type: string
1774
+ description: Message that will be written in the payer transaction history message field.
1775
+ payeeNote:
1776
+ type: string
1777
+ description: Message that will be written in the payee transaction history note field.
1778
+ TransferResult:
1779
+ type: object
1780
+ properties:
1781
+ amount:
1782
+ type: string
1783
+ description: Amount that will be debited from the payer account.
1784
+ currency:
1785
+ type: string
1786
+ description: ISO4217 Currency
1787
+ financialTransactionId:
1788
+ type: string
1789
+ description: Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account
1790
+ externalId:
1791
+ type: string
1792
+ description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.
1793
+ payee:
1794
+ $ref: '#/components/schemas/Party'
1795
+ payerMessage:
1796
+ type: string
1797
+ description: Message that will be written in the payer transaction history message field.
1798
+ payeeNote:
1799
+ type: string
1800
+ description: Message that will be written in the payee transaction history note field.
1801
+ status:
1802
+ enum:
1803
+ - PENDING
1804
+ - SUCCESSFUL
1805
+ - FAILED
1806
+ type: string
1807
+ reason:
1808
+ $ref: '#/components/schemas/ErrorReason'
1809
+ deliverynotification:
1810
+ type: object
1811
+ properties:
1812
+ notificationMessage:
1813
+ type: string
1814
+ Refund:
1815
+ type: object
1816
+ properties:
1817
+ amount:
1818
+ type: string
1819
+ description: Amount that will be debited from the payer account.
1820
+ currency:
1821
+ type: string
1822
+ description: ISO4217 Currency
1823
+ externalId:
1824
+ type: string
1825
+ description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.
1826
+ payerMessage:
1827
+ type: string
1828
+ description: Message that will be written in the payer transaction history message field.
1829
+ payeeNote:
1830
+ type: string
1831
+ description: Message that will be written in the payee transaction history note field.
1832
+ referenceIdToRefund:
1833
+ type: string
1834
+ description: 'Format - UUID. Recource ID of the created refund transaction. This ID is used, for example, validating the status of the‘ ’transaction generated using UUID version 4.'
1835
+ RefundResult:
1836
+ type: object
1837
+ properties:
1838
+ amount:
1839
+ type: string
1840
+ description: Amount that will be debited from the payer account.
1841
+ currency:
1842
+ type: string
1843
+ description: ISO4217 Currency
1844
+ financialTransactionId:
1845
+ type: string
1846
+ description: Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account
1847
+ externalId:
1848
+ type: string
1849
+ description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.
1850
+ payee:
1851
+ $ref: '#/components/schemas/Party'
1852
+ payerMessage:
1853
+ type: string
1854
+ description: Message that will be written in the payer transaction history message field.
1855
+ payeeNote:
1856
+ type: string
1857
+ description: Message that will be written in the payee transaction history note field.
1858
+ status:
1859
+ enum:
1860
+ - PENDING
1861
+ - SUCCESSFUL
1862
+ - FAILED
1863
+ type: string
1864
+ reason:
1865
+ $ref: '#/components/schemas/ErrorReason'
1866
+ ErrorReason:
1867
+ type: object
1868
+ properties:
1869
+ code:
1870
+ enum:
1871
+ - PAYEE_NOT_FOUND
1872
+ - PAYER_NOT_FOUND
1873
+ - NOT_ALLOWED
1874
+ - NOT_ALLOWED_TARGET_ENVIRONMENT
1875
+ - INVALID_CALLBACK_URL_HOST
1876
+ - INVALID_CURRENCY
1877
+ - SERVICE_UNAVAILABLE
1878
+ - INTERNAL_PROCESSING_ERROR
1879
+ - NOT_ENOUGH_FUNDS
1880
+ - PAYER_LIMIT_REACHED
1881
+ - PAYEE_NOT_ALLOWED_TO_RECEIVE
1882
+ - PAYMENT_NOT_APPROVED
1883
+ - RESOURCE_NOT_FOUND
1884
+ - APPROVAL_REJECTED
1885
+ - EXPIRED
1886
+ - TRANSACTION_CANCELED
1887
+ - RESOURCE_ALREADY_EXIST
1888
+ type: string
1889
+ message:
1890
+ type: string
1891
+ BooleanResult:
1892
+ type: object
1893
+ properties:
1894
+ result:
1895
+ type: boolean
1896
+ securitySchemes:
1897
+ apiKeyHeader:
1898
+ type: apiKey
1899
+ name: Ocp-Apim-Subscription-Key
1900
+ in: header
1901
+ apiKeyQuery:
1902
+ type: apiKey
1903
+ name: subscription-key
1904
+ in: query
1905
+ security:
1906
+ - apiKeyHeader: [ ]
1907
+ - apiKeyQuery: [ ]