diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index f44659be..c377dd7d 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -5521,17 +5521,31 @@ components: properties: accountType: $ref: '#/components/schemas/PaymentAccountType' - UsdAccountInfoBase: + UsdAccountInfo: type: object required: - accountType + - paymentRails - accountNumber - routingNumber + - bankName + - phoneNumber properties: accountType: type: string enum: - USD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER + - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -5544,23 +5558,18 @@ components: minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ - UsdAccountInfo: - allOf: - - $ref: '#/components/schemas/UsdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - ACH - - WIRE - - RTP - - FEDNOW - - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ PaymentUsdAccountInfo: title: USD Bank Account allOf: @@ -5590,16 +5599,23 @@ components: type: string description: A PIX QR code payload that can be used to fund the transaction. This can be rendered as a QR code image or pasted into a PIX-compatible banking app. minLength: 1 - MxnAccountInfoBase: + MxnAccountInfo: type: object required: - accountType + - paymentRails - clabeNumber properties: accountType: type: string enum: - MXN_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SPEI clabeNumber: type: string description: The CLABE number of the bank @@ -5607,19 +5623,6 @@ components: minLength: 18 maxLength: 18 pattern: ^[0-9]{18}$ - MxnAccountInfo: - allOf: - - $ref: '#/components/schemas/MxnAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SPEI PaymentMxnAccountInfo: title: MXN Account allOf: @@ -5633,16 +5636,24 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - DkkAccountInfoBase: + DkkAccountInfo: type: object required: - accountType + - paymentRails - iban properties: accountType: type: string enum: - DKK_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5657,20 +5668,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - DkkAccountInfo: - allOf: - - $ref: '#/components/schemas/DkkAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT PaymentDkkAccountInfo: title: DKK Account allOf: @@ -5684,16 +5681,24 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - EurAccountInfoBase: + EurAccountInfo: type: object required: - accountType + - paymentRails - iban properties: accountType: type: string enum: - EUR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5708,20 +5713,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - EurAccountInfo: - allOf: - - $ref: '#/components/schemas/EurAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT PaymentEurAccountInfo: title: EUR Account allOf: @@ -5735,16 +5726,23 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - InrAccountInfoBase: + InrAccountInfo: type: object required: - accountType + - paymentRails - vpa properties: accountType: type: string enum: - INR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - UPI vpa: type: string description: The UPI Virtual Payment Address @@ -5752,28 +5750,16 @@ components: minLength: 3 maxLength: 255 pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ - InrAccountInfo: - allOf: - - $ref: '#/components/schemas/InrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - UPI PaymentInrAccountInfo: title: INR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/InrAccountInfo' - NgnAccountInfoBase: + NgnAccountInfo: type: object required: - accountType + - paymentRails - accountNumber - bankName properties: @@ -5781,6 +5767,12 @@ components: type: string enum: - NGN_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -5793,19 +5785,6 @@ components: description: The name of the bank minLength: 1 maxLength: 255 - NgnAccountInfo: - allOf: - - $ref: '#/components/schemas/NgnAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentNgnAccountInfo: title: NGN Account allOf: @@ -5878,10 +5857,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GbpAccountInfoBase: + GbpAccountInfo: type: object required: - accountType + - paymentRails - sortCode - accountNumber properties: @@ -5889,6 +5869,12 @@ components: type: string enum: - GBP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS sortCode: type: string description: The UK sort code @@ -5903,19 +5889,6 @@ components: maxLength: 8 example: '12345678' pattern: ^[0-9]{8}$ - GbpAccountInfo: - allOf: - - $ref: '#/components/schemas/GbpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS PaymentGbpAccountInfo: title: GBP Account allOf: @@ -5929,10 +5902,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HkdAccountInfoBase: + HkdAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -5941,6 +5915,12 @@ components: type: string enum: - HKD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -5959,19 +5939,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - HkdAccountInfo: - allOf: - - $ref: '#/components/schemas/HkdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentHkdAccountInfo: title: HKD Account allOf: @@ -5985,10 +5952,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - IdrAccountInfoBase: + IdrAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -5998,6 +5966,12 @@ components: type: string enum: - IDR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6024,19 +5998,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+62[0-9]{9,12}$ - IdrAccountInfo: - allOf: - - $ref: '#/components/schemas/IdrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentIdrAccountInfo: title: IDR Account allOf: @@ -6050,10 +6011,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MyrAccountInfoBase: + MyrAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6062,6 +6024,12 @@ components: type: string enum: - MYR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6080,19 +6048,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - MyrAccountInfo: - allOf: - - $ref: '#/components/schemas/MyrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentMyrAccountInfo: title: MYR Account allOf: @@ -6106,10 +6061,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PhpAccountInfoBase: + PhpAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber properties: @@ -6117,6 +6073,12 @@ components: type: string enum: - PHP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6130,19 +6092,6 @@ components: maxLength: 16 example: '001234567890' pattern: ^[0-9]{8,16}$ - PhpAccountInfo: - allOf: - - $ref: '#/components/schemas/PhpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentPhpAccountInfo: title: PHP Account allOf: @@ -6156,10 +6105,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - SgdAccountInfoBase: + SgdAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6168,6 +6118,14 @@ components: type: string enum: - SGD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6187,21 +6145,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - SgdAccountInfo: - allOf: - - $ref: '#/components/schemas/SgdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - PAYNOW - - FAST - - BANK_TRANSFER PaymentSgdAccountInfo: title: SGD Account allOf: @@ -6215,10 +6158,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ThbAccountInfoBase: + ThbAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6227,6 +6171,12 @@ components: type: string enum: - THB_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6245,36 +6195,24 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - ThbAccountInfo: + PaymentThbAccountInfo: + title: THB Account allOf: - - $ref: '#/components/schemas/ThbAccountInfoBase' + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' - type: object required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - PaymentThbAccountInfo: - title: THB Account - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' - - type: object - required: - - reference + - reference properties: reference: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - VndAccountInfoBase: + VndAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6283,6 +6221,12 @@ components: type: string enum: - VND_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6301,19 +6245,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - VndAccountInfo: - allOf: - - $ref: '#/components/schemas/VndAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentVndAccountInfo: title: VND Account allOf: @@ -6507,16 +6438,23 @@ components: description: Type of asset enum: - USDC - AedAccountInfoBase: + AedAccountInfo: type: object required: - accountType + - paymentRails - iban properties: accountType: type: string enum: - AED_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER iban: type: string description: UAE IBAN (23 characters, starting with AE) @@ -6531,19 +6469,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - AedAccountInfo: - allOf: - - $ref: '#/components/schemas/AedAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentAedAccountInfo: title: AED Account allOf: @@ -6557,10 +6482,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - KesAccountInfoBase: + KesAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6568,6 +6494,12 @@ components: type: string enum: - KES_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Kenyan mobile money phone number @@ -6580,19 +6512,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - KesAccountInfo: - allOf: - - $ref: '#/components/schemas/KesAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentKesAccountInfo: title: KES Account allOf: @@ -6606,10 +6525,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MwkAccountInfoBase: + MwkAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6617,6 +6537,12 @@ components: type: string enum: - MWK_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6629,19 +6555,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - MwkAccountInfo: - allOf: - - $ref: '#/components/schemas/MwkAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentMwkAccountInfo: title: MWK Account allOf: @@ -6655,10 +6568,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - RwfAccountInfoBase: + RwfAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6666,6 +6580,12 @@ components: type: string enum: - RWF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Rwandan mobile money phone number @@ -6678,19 +6598,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - RwfAccountInfo: - allOf: - - $ref: '#/components/schemas/RwfAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentRwfAccountInfo: title: RWF Account allOf: @@ -6704,10 +6611,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - TzsAccountInfoBase: + TzsAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6715,6 +6623,12 @@ components: type: string enum: - TZS_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Tanzanian mobile money phone number @@ -6727,19 +6641,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - TzsAccountInfo: - allOf: - - $ref: '#/components/schemas/TzsAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentTzsAccountInfo: title: TZS Account allOf: @@ -6753,10 +6654,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UgxAccountInfoBase: + UgxAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6764,6 +6666,12 @@ components: type: string enum: - UGX_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6776,19 +6684,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - UgxAccountInfo: - allOf: - - $ref: '#/components/schemas/UgxAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentUgxAccountInfo: title: UGX Account allOf: @@ -6802,10 +6697,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XofAccountInfoBase: + XofAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider - region @@ -6814,6 +6710,12 @@ components: type: string enum: - XOF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6837,19 +6739,6 @@ components: - CI - SN - TG - XofAccountInfo: - allOf: - - $ref: '#/components/schemas/XofAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentXofAccountInfo: title: XOF Account allOf: @@ -6863,10 +6752,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZarAccountInfoBase: + ZarAccountInfo: type: object required: - accountType + - paymentRails - accountNumber - bankName properties: @@ -6874,6 +6764,12 @@ components: type: string enum: - ZAR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: South African bank account number @@ -6886,19 +6782,6 @@ components: description: The name of the bank minLength: 1 maxLength: 255 - ZarAccountInfo: - allOf: - - $ref: '#/components/schemas/ZarAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentZarAccountInfo: title: ZAR Account allOf: @@ -6912,10 +6795,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZmwAccountInfoBase: + ZmwAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6923,6 +6807,12 @@ components: type: string enum: - ZMW_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Zambian mobile money phone number @@ -6935,19 +6825,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - ZmwAccountInfo: - allOf: - - $ref: '#/components/schemas/ZmwAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentZmwAccountInfo: title: ZMW Account allOf: @@ -6961,10 +6838,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BwpAccountInfoBase: + BwpAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6972,6 +6850,12 @@ components: type: string enum: - BWP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6984,19 +6868,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - BwpAccountInfo: - allOf: - - $ref: '#/components/schemas/BwpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentBwpAccountInfo: title: BWP Account allOf: @@ -7010,10 +6881,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XafAccountInfoBase: + XafAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider - region @@ -7022,6 +6894,12 @@ components: type: string enum: - XAF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7043,19 +6921,6 @@ components: enum: - CM - CG - XafAccountInfo: - allOf: - - $ref: '#/components/schemas/XafAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentXafAccountInfo: title: XAF Account allOf: @@ -7069,10 +6934,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BdtAccountInfoBase: + BdtAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - branchCode - phoneNumber @@ -7081,6 +6948,18 @@ components: type: string enum: - BDT_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7106,20 +6985,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - BdtAccountInfo: - allOf: - - $ref: '#/components/schemas/BdtAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentBdtAccountInfo: title: BDT Account allOf: @@ -7169,16 +7034,29 @@ components: format: uri description: A payment URL where the customer can complete their COP deposit. example: https://payments.example.com/t/abc123 - EgpAccountInfoBase: + EgpAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber properties: accountType: type: string enum: - EGP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7198,19 +7076,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - EgpAccountInfo: - allOf: - - $ref: '#/components/schemas/EgpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentEgpAccountInfo: title: EGP Account allOf: @@ -7224,10 +7089,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GhsAccountInfoBase: + GhsAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - phoneNumber properties: @@ -7235,6 +7102,18 @@ components: type: string enum: - GHS_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7247,20 +7126,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - GhsAccountInfo: - allOf: - - $ref: '#/components/schemas/GhsAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentGhsAccountInfo: title: GHS Account allOf: @@ -7274,10 +7139,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GtqAccountInfoBase: + GtqAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - phoneNumber properties: @@ -7285,6 +7152,18 @@ components: type: string enum: - GTQ_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7297,20 +7176,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - GtqAccountInfo: - allOf: - - $ref: '#/components/schemas/GtqAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentGtqAccountInfo: title: GTQ Account allOf: @@ -7324,16 +7189,23 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HtgAccountInfoBase: + HtgAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber properties: accountType: type: string enum: - HTG_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7341,19 +7213,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - HtgAccountInfo: - allOf: - - $ref: '#/components/schemas/HtgAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentHtgAccountInfo: title: HTG Account allOf: @@ -7367,10 +7226,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - JmdAccountInfoBase: + JmdAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - branchCode - bankAccountType @@ -7379,6 +7240,17 @@ components: type: string enum: - JMD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7396,19 +7268,6 @@ components: enum: - CHECKING - SAVINGS - JmdAccountInfo: - allOf: - - $ref: '#/components/schemas/JmdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentJmdAccountInfo: title: JMD Account allOf: @@ -7422,10 +7281,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PkrAccountInfoBase: + PkrAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - phoneNumber properties: @@ -7433,6 +7294,18 @@ components: type: string enum: - PKR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7452,20 +7325,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - PkrAccountInfo: - allOf: - - $ref: '#/components/schemas/PkrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentPkrAccountInfo: title: PKR Account allOf: @@ -7736,10 +7595,11 @@ components: properties: accountType: $ref: '#/components/schemas/ExternalAccountType' - BrlAccountInfoBase: + BrlAccountInfo: type: object required: - accountType + - paymentRails - pixKey - pixKeyType - taxId @@ -7748,6 +7608,12 @@ components: type: string enum: - BRL_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - PIX pixKey: type: string description: The PIX key (email, phone, CPF, CNPJ, or random) @@ -7768,19 +7634,6 @@ components: minLength: 11 maxLength: 14 pattern: ^[0-9]{11,14}$ - BrlAccountInfo: - allOf: - - $ref: '#/components/schemas/BrlAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - PIX BrlBeneficiary: title: Individual Beneficiary type: object @@ -9302,10 +9155,12 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BdtBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - CopAccountInfoBase: + CopAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - bankAccountType - phoneNumber @@ -9314,6 +9169,18 @@ components: type: string enum: - COP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -9332,20 +9199,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - CopAccountInfo: - allOf: - - $ref: '#/components/schemas/CopAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY CopBeneficiary: title: Individual Beneficiary type: object @@ -9865,6 +9718,30 @@ components: totalCount: type: integer description: Total number of external accounts matching the criteria (excluding pagination) + AedAccountInfoBase: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - AED_ACCOUNT + iban: + type: string + description: UAE IBAN (23 characters, starting with AE) + example: AE070331234567890123456 + minLength: 23 + maxLength: 23 + pattern: ^AE[0-9]{21}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: EBILAEAD + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ AedExternalAccountCreateInfo: title: AED Account allOf: @@ -9885,6 +9762,38 @@ components: mapping: INDIVIDUAL: '#/components/schemas/AedBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + BrlAccountInfoBase: + type: object + required: + - accountType + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key (email, phone, CPF, CNPJ, or random) + minLength: 1 + maxLength: 77 + pixKeyType: + type: string + description: The type of PIX key + enum: + - CPF + - CNPJ + - EMAIL + - PHONE + - RANDOM + taxId: + type: string + description: The tax ID (CPF or CNPJ) + minLength: 11 + maxLength: 14 + pattern: ^[0-9]{11,14}$ BrlExternalAccountCreateInfo: title: BRL Account allOf: @@ -9905,20 +9814,43 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BrlBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - BwpExternalAccountCreateInfo: - title: BWP Account - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BwpAccountInfoBase' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/BwpBeneficiary' - - title: Business Beneficiary + BwpAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - BWP_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + BwpExternalAccountCreateInfo: + title: BWP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BwpBeneficiary' + - title: Business Beneficiary $ref: '#/components/schemas/BusinessBeneficiary' discriminator: propertyName: beneficiaryType @@ -9945,6 +9877,30 @@ components: mapping: INDIVIDUAL: '#/components/schemas/CadBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkAccountInfoBase: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ DkkExternalAccountCreateInfo: title: DKK Account allOf: @@ -9965,6 +9921,30 @@ components: mapping: INDIVIDUAL: '#/components/schemas/DkkBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + EurAccountInfoBase: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - EUR_ACCOUNT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ EurExternalAccountCreateInfo: title: EUR Account allOf: @@ -9985,6 +9965,31 @@ components: mapping: INDIVIDUAL: '#/components/schemas/EurBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + GbpAccountInfoBase: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + sortCode: + type: string + description: The UK sort code + example: '123456' + minLength: 6 + maxLength: 6 + pattern: ^[0-9]{6}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + minLength: 8 + maxLength: 8 + example: '12345678' + pattern: ^[0-9]{8}$ GbpExternalAccountCreateInfo: title: GBP Account allOf: @@ -10005,6 +10010,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GbpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Hong Kong bank account number + minLength: 1 + maxLength: 34 + example: '123456789012' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: HSBCHKHHHKH + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ HkdExternalAccountCreateInfo: title: HKD Account allOf: @@ -10025,6 +10060,45 @@ components: mapping: INDIVIDUAL: '#/components/schemas/HkdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + - phoneNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + example: Bank Central Asia + accountNumber: + type: string + description: Indonesian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: CENAIDJA + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: Indonesian phone number for e-wallet payments + example: '+6281234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+62[0-9]{9,12}$ IdrExternalAccountCreateInfo: title: IDR Account allOf: @@ -10045,6 +10119,23 @@ components: mapping: INDIVIDUAL: '#/components/schemas/IdrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrAccountInfoBase: + type: object + required: + - accountType + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The UPI Virtual Payment Address + example: user@upi + minLength: 3 + maxLength: 255 + pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ InrExternalAccountCreateInfo: title: INR Account allOf: @@ -10065,6 +10156,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/InrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + KesAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - KES_ACCOUNT + phoneNumber: + type: string + description: Kenyan mobile money phone number + example: '+254712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+254[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 KesExternalAccountCreateInfo: title: KES Account allOf: @@ -10085,6 +10199,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/KesBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + MwkAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - MWK_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 MwkExternalAccountCreateInfo: title: MWK Account allOf: @@ -10105,26 +10242,73 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MwkBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - MxnExternalAccountCreateInfo: - title: MXN Account - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfoBase' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/MxnBeneficiary' - - title: Business Beneficiary + MxnAccountInfoBase: + type: object + required: + - accountType + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + MxnExternalAccountCreateInfo: + title: MXN Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MxnBeneficiary' + - title: Business Beneficiary $ref: '#/components/schemas/BusinessBeneficiary' discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: '#/components/schemas/MxnBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + MyrAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Malaysian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: MABORUMMYYY + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ MyrExternalAccountCreateInfo: title: MYR Account allOf: @@ -10145,6 +10329,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MyrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + NgnAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + accountNumber: + type: string + description: Nigerian bank account number + minLength: 10 + maxLength: 10 + example: '0123456789' + pattern: ^[0-9]{10}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 NgnExternalAccountCreateInfo: title: NGN Account allOf: @@ -10165,6 +10372,30 @@ components: mapping: INDIVIDUAL: '#/components/schemas/NgnBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + minLength: 8 + maxLength: 16 + example: '001234567890' + pattern: ^[0-9]{8,16}$ PhpExternalAccountCreateInfo: title: PHP Account allOf: @@ -10185,6 +10416,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/PhpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + RwfAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - RWF_ACCOUNT + phoneNumber: + type: string + description: Rwandan mobile money phone number + example: '+250781234567' + minLength: 7 + maxLength: 15 + pattern: ^\+250[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 RwfExternalAccountCreateInfo: title: RWF Account allOf: @@ -10205,6 +10459,37 @@ components: mapping: INDIVIDUAL: '#/components/schemas/RwfBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: DBS Bank Ltd + accountNumber: + type: string + description: Bank account number + minLength: 1 + maxLength: 34 + example: '0123456789' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DBSSSGSG + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ SgdExternalAccountCreateInfo: title: SGD Account allOf: @@ -10225,6 +10510,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/SgdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - THB_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Thai bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BKKBTHBK + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ ThbExternalAccountCreateInfo: title: THB Account allOf: @@ -10245,6 +10560,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ThbBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + TzsAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - TZS_ACCOUNT + phoneNumber: + type: string + description: Tanzanian mobile money phone number + example: '+255712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+255[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 TzsExternalAccountCreateInfo: title: TZS Account allOf: @@ -10265,6 +10603,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/TzsBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + UgxAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - UGX_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 UgxExternalAccountCreateInfo: title: UGX Account allOf: @@ -10285,6 +10646,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/UgxBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - routingNumber + properties: + accountType: + type: string + enum: + - USD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + routingNumber: + type: string + description: The ABA routing number + example: '021000021' + minLength: 9 + maxLength: 9 + pattern: ^[0-9]{9}$ UsdExternalAccountCreateInfo: title: USD Account allOf: @@ -10305,6 +10689,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/UsdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - VND_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Vietnamese bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BFTVVNVX + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ VndExternalAccountCreateInfo: title: VND Account allOf: @@ -10325,6 +10739,39 @@ components: mapping: INDIVIDUAL: '#/components/schemas/VndBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + XafAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + - region + properties: + accountType: + type: string + enum: + - XAF_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the Central African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - CM + - CG XafExternalAccountCreateInfo: title: XAF Account allOf: @@ -10345,6 +10792,41 @@ components: mapping: INDIVIDUAL: '#/components/schemas/XafBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + XofAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + - region + properties: + accountType: + type: string + enum: + - XOF_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the West African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - BJ + - CI + - SN + - TG XofExternalAccountCreateInfo: title: XOF Account allOf: @@ -10365,6 +10847,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/XofBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZarAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - ZAR_ACCOUNT + accountNumber: + type: string + description: South African bank account number + minLength: 9 + maxLength: 13 + example: '1234567890' + pattern: ^[0-9]{9,13}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 ZarExternalAccountCreateInfo: title: ZAR Account allOf: @@ -10385,6 +10890,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ZarBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZmwAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - ZMW_ACCOUNT + phoneNumber: + type: string + description: Zambian mobile money phone number + example: '+260971234567' + minLength: 7 + maxLength: 15 + pattern: ^\+260[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 ZmwExternalAccountCreateInfo: title: ZMW Account allOf: @@ -10405,6 +10933,43 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ZmwBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + BdtAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - branchCode + - phoneNumber + properties: + accountType: + type: string + enum: + - BDT_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ BdtExternalAccountCreateInfo: title: BDT Account allOf: @@ -10425,6 +10990,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BdtBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + CopAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - bankAccountType + - phoneNumber + properties: + accountType: + type: string + enum: + - COP_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ CopExternalAccountCreateInfo: title: COP Account allOf: @@ -10445,6 +11040,35 @@ components: mapping: INDIVIDUAL: '#/components/schemas/CopBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + EgpAccountInfoBase: + type: object + required: + - accountType + - accountNumber + properties: + accountType: + type: string + enum: + - EGP_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ EgpExternalAccountCreateInfo: title: EGP Account allOf: @@ -10465,6 +11089,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/EgpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + GhsAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - phoneNumber + properties: + accountType: + type: string + enum: + - GHS_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ GhsExternalAccountCreateInfo: title: GHS Account allOf: @@ -10485,6 +11132,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GhsBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + GtqAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - phoneNumber + properties: + accountType: + type: string + enum: + - GTQ_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ GtqExternalAccountCreateInfo: title: GTQ Account allOf: @@ -10505,6 +11175,23 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GtqBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + HtgAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + properties: + accountType: + type: string + enum: + - HTG_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ HtgExternalAccountCreateInfo: title: HTG Account allOf: @@ -10525,6 +11212,35 @@ components: mapping: INDIVIDUAL: '#/components/schemas/HtgBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + JmdAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - branchCode + - bankAccountType + properties: + accountType: + type: string + enum: + - JMD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS JmdExternalAccountCreateInfo: title: JMD Account allOf: @@ -10545,6 +11261,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/JmdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + PkrAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - phoneNumber + properties: + accountType: + type: string + enum: + - PKR_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ PkrExternalAccountCreateInfo: title: PKR Account allOf: diff --git a/openapi.yaml b/openapi.yaml index f44659be..c377dd7d 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -5521,17 +5521,31 @@ components: properties: accountType: $ref: '#/components/schemas/PaymentAccountType' - UsdAccountInfoBase: + UsdAccountInfo: type: object required: - accountType + - paymentRails - accountNumber - routingNumber + - bankName + - phoneNumber properties: accountType: type: string enum: - USD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER + - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -5544,23 +5558,18 @@ components: minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ - UsdAccountInfo: - allOf: - - $ref: '#/components/schemas/UsdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - ACH - - WIRE - - RTP - - FEDNOW - - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ PaymentUsdAccountInfo: title: USD Bank Account allOf: @@ -5590,16 +5599,23 @@ components: type: string description: A PIX QR code payload that can be used to fund the transaction. This can be rendered as a QR code image or pasted into a PIX-compatible banking app. minLength: 1 - MxnAccountInfoBase: + MxnAccountInfo: type: object required: - accountType + - paymentRails - clabeNumber properties: accountType: type: string enum: - MXN_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SPEI clabeNumber: type: string description: The CLABE number of the bank @@ -5607,19 +5623,6 @@ components: minLength: 18 maxLength: 18 pattern: ^[0-9]{18}$ - MxnAccountInfo: - allOf: - - $ref: '#/components/schemas/MxnAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SPEI PaymentMxnAccountInfo: title: MXN Account allOf: @@ -5633,16 +5636,24 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - DkkAccountInfoBase: + DkkAccountInfo: type: object required: - accountType + - paymentRails - iban properties: accountType: type: string enum: - DKK_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5657,20 +5668,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - DkkAccountInfo: - allOf: - - $ref: '#/components/schemas/DkkAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT PaymentDkkAccountInfo: title: DKK Account allOf: @@ -5684,16 +5681,24 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - EurAccountInfoBase: + EurAccountInfo: type: object required: - accountType + - paymentRails - iban properties: accountType: type: string enum: - EUR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5708,20 +5713,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - EurAccountInfo: - allOf: - - $ref: '#/components/schemas/EurAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT PaymentEurAccountInfo: title: EUR Account allOf: @@ -5735,16 +5726,23 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - InrAccountInfoBase: + InrAccountInfo: type: object required: - accountType + - paymentRails - vpa properties: accountType: type: string enum: - INR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - UPI vpa: type: string description: The UPI Virtual Payment Address @@ -5752,28 +5750,16 @@ components: minLength: 3 maxLength: 255 pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ - InrAccountInfo: - allOf: - - $ref: '#/components/schemas/InrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - UPI PaymentInrAccountInfo: title: INR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/InrAccountInfo' - NgnAccountInfoBase: + NgnAccountInfo: type: object required: - accountType + - paymentRails - accountNumber - bankName properties: @@ -5781,6 +5767,12 @@ components: type: string enum: - NGN_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -5793,19 +5785,6 @@ components: description: The name of the bank minLength: 1 maxLength: 255 - NgnAccountInfo: - allOf: - - $ref: '#/components/schemas/NgnAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentNgnAccountInfo: title: NGN Account allOf: @@ -5878,10 +5857,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GbpAccountInfoBase: + GbpAccountInfo: type: object required: - accountType + - paymentRails - sortCode - accountNumber properties: @@ -5889,6 +5869,12 @@ components: type: string enum: - GBP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS sortCode: type: string description: The UK sort code @@ -5903,19 +5889,6 @@ components: maxLength: 8 example: '12345678' pattern: ^[0-9]{8}$ - GbpAccountInfo: - allOf: - - $ref: '#/components/schemas/GbpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS PaymentGbpAccountInfo: title: GBP Account allOf: @@ -5929,10 +5902,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HkdAccountInfoBase: + HkdAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -5941,6 +5915,12 @@ components: type: string enum: - HKD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -5959,19 +5939,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - HkdAccountInfo: - allOf: - - $ref: '#/components/schemas/HkdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentHkdAccountInfo: title: HKD Account allOf: @@ -5985,10 +5952,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - IdrAccountInfoBase: + IdrAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -5998,6 +5966,12 @@ components: type: string enum: - IDR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6024,19 +5998,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+62[0-9]{9,12}$ - IdrAccountInfo: - allOf: - - $ref: '#/components/schemas/IdrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentIdrAccountInfo: title: IDR Account allOf: @@ -6050,10 +6011,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MyrAccountInfoBase: + MyrAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6062,6 +6024,12 @@ components: type: string enum: - MYR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6080,19 +6048,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - MyrAccountInfo: - allOf: - - $ref: '#/components/schemas/MyrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentMyrAccountInfo: title: MYR Account allOf: @@ -6106,10 +6061,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PhpAccountInfoBase: + PhpAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber properties: @@ -6117,6 +6073,12 @@ components: type: string enum: - PHP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6130,19 +6092,6 @@ components: maxLength: 16 example: '001234567890' pattern: ^[0-9]{8,16}$ - PhpAccountInfo: - allOf: - - $ref: '#/components/schemas/PhpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentPhpAccountInfo: title: PHP Account allOf: @@ -6156,10 +6105,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - SgdAccountInfoBase: + SgdAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6168,6 +6118,14 @@ components: type: string enum: - SGD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6187,21 +6145,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - SgdAccountInfo: - allOf: - - $ref: '#/components/schemas/SgdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - PAYNOW - - FAST - - BANK_TRANSFER PaymentSgdAccountInfo: title: SGD Account allOf: @@ -6215,10 +6158,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ThbAccountInfoBase: + ThbAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6227,6 +6171,12 @@ components: type: string enum: - THB_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6245,36 +6195,24 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - ThbAccountInfo: + PaymentThbAccountInfo: + title: THB Account allOf: - - $ref: '#/components/schemas/ThbAccountInfoBase' + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' - type: object required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - PaymentThbAccountInfo: - title: THB Account - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' - - type: object - required: - - reference + - reference properties: reference: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - VndAccountInfoBase: + VndAccountInfo: type: object required: - accountType + - paymentRails - bankName - accountNumber - swiftCode @@ -6283,6 +6221,12 @@ components: type: string enum: - VND_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6301,19 +6245,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - VndAccountInfo: - allOf: - - $ref: '#/components/schemas/VndAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentVndAccountInfo: title: VND Account allOf: @@ -6507,16 +6438,23 @@ components: description: Type of asset enum: - USDC - AedAccountInfoBase: + AedAccountInfo: type: object required: - accountType + - paymentRails - iban properties: accountType: type: string enum: - AED_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER iban: type: string description: UAE IBAN (23 characters, starting with AE) @@ -6531,19 +6469,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - AedAccountInfo: - allOf: - - $ref: '#/components/schemas/AedAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentAedAccountInfo: title: AED Account allOf: @@ -6557,10 +6482,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - KesAccountInfoBase: + KesAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6568,6 +6494,12 @@ components: type: string enum: - KES_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Kenyan mobile money phone number @@ -6580,19 +6512,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - KesAccountInfo: - allOf: - - $ref: '#/components/schemas/KesAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentKesAccountInfo: title: KES Account allOf: @@ -6606,10 +6525,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MwkAccountInfoBase: + MwkAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6617,6 +6537,12 @@ components: type: string enum: - MWK_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6629,19 +6555,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - MwkAccountInfo: - allOf: - - $ref: '#/components/schemas/MwkAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentMwkAccountInfo: title: MWK Account allOf: @@ -6655,10 +6568,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - RwfAccountInfoBase: + RwfAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6666,6 +6580,12 @@ components: type: string enum: - RWF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Rwandan mobile money phone number @@ -6678,19 +6598,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - RwfAccountInfo: - allOf: - - $ref: '#/components/schemas/RwfAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentRwfAccountInfo: title: RWF Account allOf: @@ -6704,10 +6611,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - TzsAccountInfoBase: + TzsAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6715,6 +6623,12 @@ components: type: string enum: - TZS_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Tanzanian mobile money phone number @@ -6727,19 +6641,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - TzsAccountInfo: - allOf: - - $ref: '#/components/schemas/TzsAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentTzsAccountInfo: title: TZS Account allOf: @@ -6753,10 +6654,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UgxAccountInfoBase: + UgxAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6764,6 +6666,12 @@ components: type: string enum: - UGX_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6776,19 +6684,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - UgxAccountInfo: - allOf: - - $ref: '#/components/schemas/UgxAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentUgxAccountInfo: title: UGX Account allOf: @@ -6802,10 +6697,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XofAccountInfoBase: + XofAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider - region @@ -6814,6 +6710,12 @@ components: type: string enum: - XOF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6837,19 +6739,6 @@ components: - CI - SN - TG - XofAccountInfo: - allOf: - - $ref: '#/components/schemas/XofAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentXofAccountInfo: title: XOF Account allOf: @@ -6863,10 +6752,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZarAccountInfoBase: + ZarAccountInfo: type: object required: - accountType + - paymentRails - accountNumber - bankName properties: @@ -6874,6 +6764,12 @@ components: type: string enum: - ZAR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: South African bank account number @@ -6886,19 +6782,6 @@ components: description: The name of the bank minLength: 1 maxLength: 255 - ZarAccountInfo: - allOf: - - $ref: '#/components/schemas/ZarAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentZarAccountInfo: title: ZAR Account allOf: @@ -6912,10 +6795,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZmwAccountInfoBase: + ZmwAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6923,6 +6807,12 @@ components: type: string enum: - ZMW_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: Zambian mobile money phone number @@ -6935,19 +6825,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - ZmwAccountInfo: - allOf: - - $ref: '#/components/schemas/ZmwAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentZmwAccountInfo: title: ZMW Account allOf: @@ -6961,10 +6838,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BwpAccountInfoBase: + BwpAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider properties: @@ -6972,6 +6850,12 @@ components: type: string enum: - BWP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6984,19 +6868,6 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 - BwpAccountInfo: - allOf: - - $ref: '#/components/schemas/BwpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentBwpAccountInfo: title: BWP Account allOf: @@ -7010,10 +6881,11 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XafAccountInfoBase: + XafAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber - provider - region @@ -7022,6 +6894,12 @@ components: type: string enum: - XAF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7043,19 +6921,6 @@ components: enum: - CM - CG - XafAccountInfo: - allOf: - - $ref: '#/components/schemas/XafAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentXafAccountInfo: title: XAF Account allOf: @@ -7069,10 +6934,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BdtAccountInfoBase: + BdtAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - branchCode - phoneNumber @@ -7081,6 +6948,18 @@ components: type: string enum: - BDT_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7106,20 +6985,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - BdtAccountInfo: - allOf: - - $ref: '#/components/schemas/BdtAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentBdtAccountInfo: title: BDT Account allOf: @@ -7169,16 +7034,29 @@ components: format: uri description: A payment URL where the customer can complete their COP deposit. example: https://payments.example.com/t/abc123 - EgpAccountInfoBase: + EgpAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber properties: accountType: type: string enum: - EGP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7198,19 +7076,6 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - EgpAccountInfo: - allOf: - - $ref: '#/components/schemas/EgpAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentEgpAccountInfo: title: EGP Account allOf: @@ -7224,10 +7089,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GhsAccountInfoBase: + GhsAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - phoneNumber properties: @@ -7235,6 +7102,18 @@ components: type: string enum: - GHS_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7247,20 +7126,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - GhsAccountInfo: - allOf: - - $ref: '#/components/schemas/GhsAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentGhsAccountInfo: title: GHS Account allOf: @@ -7274,10 +7139,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GtqAccountInfoBase: + GtqAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - phoneNumber properties: @@ -7285,6 +7152,18 @@ components: type: string enum: - GTQ_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7297,20 +7176,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - GtqAccountInfo: - allOf: - - $ref: '#/components/schemas/GtqAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentGtqAccountInfo: title: GTQ Account allOf: @@ -7324,16 +7189,23 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HtgAccountInfoBase: + HtgAccountInfo: type: object required: - accountType + - paymentRails - phoneNumber properties: accountType: type: string enum: - HTG_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7341,19 +7213,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - HtgAccountInfo: - allOf: - - $ref: '#/components/schemas/HtgAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY PaymentHtgAccountInfo: title: HTG Account allOf: @@ -7367,10 +7226,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - JmdAccountInfoBase: + JmdAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - branchCode - bankAccountType @@ -7379,6 +7240,17 @@ components: type: string enum: - JMD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7396,19 +7268,6 @@ components: enum: - CHECKING - SAVINGS - JmdAccountInfo: - allOf: - - $ref: '#/components/schemas/JmdAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER PaymentJmdAccountInfo: title: JMD Account allOf: @@ -7422,10 +7281,12 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PkrAccountInfoBase: + PkrAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - phoneNumber properties: @@ -7433,6 +7294,18 @@ components: type: string enum: - PKR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -7452,20 +7325,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - PkrAccountInfo: - allOf: - - $ref: '#/components/schemas/PkrAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY PaymentPkrAccountInfo: title: PKR Account allOf: @@ -7736,10 +7595,11 @@ components: properties: accountType: $ref: '#/components/schemas/ExternalAccountType' - BrlAccountInfoBase: + BrlAccountInfo: type: object required: - accountType + - paymentRails - pixKey - pixKeyType - taxId @@ -7748,6 +7608,12 @@ components: type: string enum: - BRL_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - PIX pixKey: type: string description: The PIX key (email, phone, CPF, CNPJ, or random) @@ -7768,19 +7634,6 @@ components: minLength: 11 maxLength: 14 pattern: ^[0-9]{11,14}$ - BrlAccountInfo: - allOf: - - $ref: '#/components/schemas/BrlAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - PIX BrlBeneficiary: title: Individual Beneficiary type: object @@ -9302,10 +9155,12 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BdtBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - CopAccountInfoBase: + CopAccountInfo: type: object required: - accountType + - paymentRails + - bankName - accountNumber - bankAccountType - phoneNumber @@ -9314,6 +9169,18 @@ components: type: string enum: - COP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 accountNumber: type: string description: The account number of the bank @@ -9332,20 +9199,6 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ - CopAccountInfo: - allOf: - - $ref: '#/components/schemas/CopAccountInfoBase' - - type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY CopBeneficiary: title: Individual Beneficiary type: object @@ -9865,6 +9718,30 @@ components: totalCount: type: integer description: Total number of external accounts matching the criteria (excluding pagination) + AedAccountInfoBase: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - AED_ACCOUNT + iban: + type: string + description: UAE IBAN (23 characters, starting with AE) + example: AE070331234567890123456 + minLength: 23 + maxLength: 23 + pattern: ^AE[0-9]{21}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: EBILAEAD + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ AedExternalAccountCreateInfo: title: AED Account allOf: @@ -9885,6 +9762,38 @@ components: mapping: INDIVIDUAL: '#/components/schemas/AedBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + BrlAccountInfoBase: + type: object + required: + - accountType + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key (email, phone, CPF, CNPJ, or random) + minLength: 1 + maxLength: 77 + pixKeyType: + type: string + description: The type of PIX key + enum: + - CPF + - CNPJ + - EMAIL + - PHONE + - RANDOM + taxId: + type: string + description: The tax ID (CPF or CNPJ) + minLength: 11 + maxLength: 14 + pattern: ^[0-9]{11,14}$ BrlExternalAccountCreateInfo: title: BRL Account allOf: @@ -9905,20 +9814,43 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BrlBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - BwpExternalAccountCreateInfo: - title: BWP Account - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BwpAccountInfoBase' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/BwpBeneficiary' - - title: Business Beneficiary + BwpAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - BWP_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + BwpExternalAccountCreateInfo: + title: BWP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BwpBeneficiary' + - title: Business Beneficiary $ref: '#/components/schemas/BusinessBeneficiary' discriminator: propertyName: beneficiaryType @@ -9945,6 +9877,30 @@ components: mapping: INDIVIDUAL: '#/components/schemas/CadBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkAccountInfoBase: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ DkkExternalAccountCreateInfo: title: DKK Account allOf: @@ -9965,6 +9921,30 @@ components: mapping: INDIVIDUAL: '#/components/schemas/DkkBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + EurAccountInfoBase: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - EUR_ACCOUNT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ EurExternalAccountCreateInfo: title: EUR Account allOf: @@ -9985,6 +9965,31 @@ components: mapping: INDIVIDUAL: '#/components/schemas/EurBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + GbpAccountInfoBase: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + sortCode: + type: string + description: The UK sort code + example: '123456' + minLength: 6 + maxLength: 6 + pattern: ^[0-9]{6}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + minLength: 8 + maxLength: 8 + example: '12345678' + pattern: ^[0-9]{8}$ GbpExternalAccountCreateInfo: title: GBP Account allOf: @@ -10005,6 +10010,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GbpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Hong Kong bank account number + minLength: 1 + maxLength: 34 + example: '123456789012' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: HSBCHKHHHKH + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ HkdExternalAccountCreateInfo: title: HKD Account allOf: @@ -10025,6 +10060,45 @@ components: mapping: INDIVIDUAL: '#/components/schemas/HkdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + - phoneNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + example: Bank Central Asia + accountNumber: + type: string + description: Indonesian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: CENAIDJA + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: Indonesian phone number for e-wallet payments + example: '+6281234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+62[0-9]{9,12}$ IdrExternalAccountCreateInfo: title: IDR Account allOf: @@ -10045,6 +10119,23 @@ components: mapping: INDIVIDUAL: '#/components/schemas/IdrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrAccountInfoBase: + type: object + required: + - accountType + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The UPI Virtual Payment Address + example: user@upi + minLength: 3 + maxLength: 255 + pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ InrExternalAccountCreateInfo: title: INR Account allOf: @@ -10065,6 +10156,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/InrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + KesAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - KES_ACCOUNT + phoneNumber: + type: string + description: Kenyan mobile money phone number + example: '+254712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+254[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 KesExternalAccountCreateInfo: title: KES Account allOf: @@ -10085,6 +10199,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/KesBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + MwkAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - MWK_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 MwkExternalAccountCreateInfo: title: MWK Account allOf: @@ -10105,26 +10242,73 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MwkBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - MxnExternalAccountCreateInfo: - title: MXN Account - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfoBase' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/MxnBeneficiary' - - title: Business Beneficiary + MxnAccountInfoBase: + type: object + required: + - accountType + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + MxnExternalAccountCreateInfo: + title: MXN Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MxnBeneficiary' + - title: Business Beneficiary $ref: '#/components/schemas/BusinessBeneficiary' discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: '#/components/schemas/MxnBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + MyrAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Malaysian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: MABORUMMYYY + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ MyrExternalAccountCreateInfo: title: MYR Account allOf: @@ -10145,6 +10329,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MyrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + NgnAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + accountNumber: + type: string + description: Nigerian bank account number + minLength: 10 + maxLength: 10 + example: '0123456789' + pattern: ^[0-9]{10}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 NgnExternalAccountCreateInfo: title: NGN Account allOf: @@ -10165,6 +10372,30 @@ components: mapping: INDIVIDUAL: '#/components/schemas/NgnBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + minLength: 8 + maxLength: 16 + example: '001234567890' + pattern: ^[0-9]{8,16}$ PhpExternalAccountCreateInfo: title: PHP Account allOf: @@ -10185,6 +10416,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/PhpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + RwfAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - RWF_ACCOUNT + phoneNumber: + type: string + description: Rwandan mobile money phone number + example: '+250781234567' + minLength: 7 + maxLength: 15 + pattern: ^\+250[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 RwfExternalAccountCreateInfo: title: RWF Account allOf: @@ -10205,6 +10459,37 @@ components: mapping: INDIVIDUAL: '#/components/schemas/RwfBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: DBS Bank Ltd + accountNumber: + type: string + description: Bank account number + minLength: 1 + maxLength: 34 + example: '0123456789' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DBSSSGSG + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ SgdExternalAccountCreateInfo: title: SGD Account allOf: @@ -10225,6 +10510,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/SgdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - THB_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Thai bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BKKBTHBK + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ ThbExternalAccountCreateInfo: title: THB Account allOf: @@ -10245,6 +10560,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ThbBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + TzsAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - TZS_ACCOUNT + phoneNumber: + type: string + description: Tanzanian mobile money phone number + example: '+255712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+255[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 TzsExternalAccountCreateInfo: title: TZS Account allOf: @@ -10265,6 +10603,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/TzsBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + UgxAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - UGX_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 UgxExternalAccountCreateInfo: title: UGX Account allOf: @@ -10285,6 +10646,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/UgxBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - routingNumber + properties: + accountType: + type: string + enum: + - USD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + routingNumber: + type: string + description: The ABA routing number + example: '021000021' + minLength: 9 + maxLength: 9 + pattern: ^[0-9]{9}$ UsdExternalAccountCreateInfo: title: USD Account allOf: @@ -10305,6 +10689,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/UsdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndAccountInfoBase: + type: object + required: + - accountType + - bankName + - accountNumber + - swiftCode + properties: + accountType: + type: string + enum: + - VND_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Vietnamese bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BFTVVNVX + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ VndExternalAccountCreateInfo: title: VND Account allOf: @@ -10325,6 +10739,39 @@ components: mapping: INDIVIDUAL: '#/components/schemas/VndBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + XafAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + - region + properties: + accountType: + type: string + enum: + - XAF_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the Central African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - CM + - CG XafExternalAccountCreateInfo: title: XAF Account allOf: @@ -10345,6 +10792,41 @@ components: mapping: INDIVIDUAL: '#/components/schemas/XafBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + XofAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + - region + properties: + accountType: + type: string + enum: + - XOF_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the West African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - BJ + - CI + - SN + - TG XofExternalAccountCreateInfo: title: XOF Account allOf: @@ -10365,6 +10847,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/XofBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZarAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - ZAR_ACCOUNT + accountNumber: + type: string + description: South African bank account number + minLength: 9 + maxLength: 13 + example: '1234567890' + pattern: ^[0-9]{9,13}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 ZarExternalAccountCreateInfo: title: ZAR Account allOf: @@ -10385,6 +10890,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ZarBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZmwAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + - provider + properties: + accountType: + type: string + enum: + - ZMW_ACCOUNT + phoneNumber: + type: string + description: Zambian mobile money phone number + example: '+260971234567' + minLength: 7 + maxLength: 15 + pattern: ^\+260[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 ZmwExternalAccountCreateInfo: title: ZMW Account allOf: @@ -10405,6 +10933,43 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ZmwBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + BdtAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - branchCode + - phoneNumber + properties: + accountType: + type: string + enum: + - BDT_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ BdtExternalAccountCreateInfo: title: BDT Account allOf: @@ -10425,6 +10990,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BdtBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + CopAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - bankAccountType + - phoneNumber + properties: + accountType: + type: string + enum: + - COP_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ CopExternalAccountCreateInfo: title: COP Account allOf: @@ -10445,6 +11040,35 @@ components: mapping: INDIVIDUAL: '#/components/schemas/CopBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + EgpAccountInfoBase: + type: object + required: + - accountType + - accountNumber + properties: + accountType: + type: string + enum: + - EGP_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ EgpExternalAccountCreateInfo: title: EGP Account allOf: @@ -10465,6 +11089,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/EgpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + GhsAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - phoneNumber + properties: + accountType: + type: string + enum: + - GHS_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ GhsExternalAccountCreateInfo: title: GHS Account allOf: @@ -10485,6 +11132,29 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GhsBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + GtqAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - phoneNumber + properties: + accountType: + type: string + enum: + - GTQ_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ GtqExternalAccountCreateInfo: title: GTQ Account allOf: @@ -10505,6 +11175,23 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GtqBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + HtgAccountInfoBase: + type: object + required: + - accountType + - phoneNumber + properties: + accountType: + type: string + enum: + - HTG_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ HtgExternalAccountCreateInfo: title: HTG Account allOf: @@ -10525,6 +11212,35 @@ components: mapping: INDIVIDUAL: '#/components/schemas/HtgBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + JmdAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - branchCode + - bankAccountType + properties: + accountType: + type: string + enum: + - JMD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS JmdExternalAccountCreateInfo: title: JMD Account allOf: @@ -10545,6 +11261,36 @@ components: mapping: INDIVIDUAL: '#/components/schemas/JmdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + PkrAccountInfoBase: + type: object + required: + - accountType + - accountNumber + - phoneNumber + properties: + accountType: + type: string + enum: + - PKR_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ PkrExternalAccountCreateInfo: title: PKR Account allOf: diff --git a/openapi/components/schemas/common/AedAccountInfo.yaml b/openapi/components/schemas/common/AedAccountInfo.yaml index fd73ae83..663171a5 100644 --- a/openapi/components/schemas/common/AedAccountInfo.yaml +++ b/openapi/components/schemas/common/AedAccountInfo.yaml @@ -1,12 +1,30 @@ -allOf: -- $ref: ./AedAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- iban +properties: + accountType: + type: string + enum: + - AED_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + iban: + type: string + description: UAE IBAN (23 characters, starting with AE) + example: AE070331234567890123456 + minLength: 23 + maxLength: 23 + pattern: ^AE[0-9]{21}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: EBILAEAD + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/BdtAccountInfo.yaml b/openapi/components/schemas/common/BdtAccountInfo.yaml index abef8be7..5d904c17 100644 --- a/openapi/components/schemas/common/BdtAccountInfo.yaml +++ b/openapi/components/schemas/common/BdtAccountInfo.yaml @@ -1,13 +1,50 @@ -allOf: -- $ref: ./BdtAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- branchCode +- phoneNumber +properties: + accountType: + type: string + enum: + - BDT_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/BrlAccountInfo.yaml b/openapi/components/schemas/common/BrlAccountInfo.yaml index 8d307bbd..f3c2a60f 100644 --- a/openapi/components/schemas/common/BrlAccountInfo.yaml +++ b/openapi/components/schemas/common/BrlAccountInfo.yaml @@ -1,12 +1,38 @@ -allOf: -- $ref: ./BrlAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - PIX +type: object +required: +- accountType +- paymentRails +- pixKey +- pixKeyType +- taxId +properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - PIX + pixKey: + type: string + description: The PIX key (email, phone, CPF, CNPJ, or random) + minLength: 1 + maxLength: 77 + pixKeyType: + type: string + description: The type of PIX key + enum: + - CPF + - CNPJ + - EMAIL + - PHONE + - RANDOM + taxId: + type: string + description: The tax ID (CPF or CNPJ) + minLength: 11 + maxLength: 14 + pattern: ^[0-9]{11,14}$ diff --git a/openapi/components/schemas/common/BwpAccountInfo.yaml b/openapi/components/schemas/common/BwpAccountInfo.yaml index 400ab9de..460dd99c 100644 --- a/openapi/components/schemas/common/BwpAccountInfo.yaml +++ b/openapi/components/schemas/common/BwpAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./BwpAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - BWP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/CopAccountInfo.yaml b/openapi/components/schemas/common/CopAccountInfo.yaml index e16c7af9..dd8ad59c 100644 --- a/openapi/components/schemas/common/CopAccountInfo.yaml +++ b/openapi/components/schemas/common/CopAccountInfo.yaml @@ -1,13 +1,43 @@ -allOf: -- $ref: ./CopAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- bankAccountType +- phoneNumber +properties: + accountType: + type: string + enum: + - COP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/DkkAccountInfo.yaml b/openapi/components/schemas/common/DkkAccountInfo.yaml index 7cd09699..f0117910 100644 --- a/openapi/components/schemas/common/DkkAccountInfo.yaml +++ b/openapi/components/schemas/common/DkkAccountInfo.yaml @@ -1,13 +1,31 @@ -allOf: -- $ref: ./DkkAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT +type: object +required: +- accountType +- paymentRails +- iban +properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/EgpAccountInfo.yaml b/openapi/components/schemas/common/EgpAccountInfo.yaml index a9e27046..5403010c 100644 --- a/openapi/components/schemas/common/EgpAccountInfo.yaml +++ b/openapi/components/schemas/common/EgpAccountInfo.yaml @@ -1,12 +1,41 @@ -allOf: -- $ref: ./EgpAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - EGP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/EurAccountInfo.yaml b/openapi/components/schemas/common/EurAccountInfo.yaml index 26858d18..ea495f5a 100644 --- a/openapi/components/schemas/common/EurAccountInfo.yaml +++ b/openapi/components/schemas/common/EurAccountInfo.yaml @@ -1,13 +1,31 @@ -allOf: -- $ref: ./EurAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT +type: object +required: +- accountType +- paymentRails +- iban +properties: + accountType: + type: string + enum: + - EUR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/GbpAccountInfo.yaml b/openapi/components/schemas/common/GbpAccountInfo.yaml index e7c3ba48..d34f7803 100644 --- a/openapi/components/schemas/common/GbpAccountInfo.yaml +++ b/openapi/components/schemas/common/GbpAccountInfo.yaml @@ -1,12 +1,31 @@ -allOf: -- $ref: ./GbpAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS +type: object +required: +- accountType +- paymentRails +- sortCode +- accountNumber +properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS + sortCode: + type: string + description: The UK sort code + example: '123456' + minLength: 6 + maxLength: 6 + pattern: ^[0-9]{6}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + minLength: 8 + maxLength: 8 + example: '12345678' + pattern: ^[0-9]{8}$ diff --git a/openapi/components/schemas/common/GhsAccountInfo.yaml b/openapi/components/schemas/common/GhsAccountInfo.yaml index 3ffa38f5..fc89c578 100644 --- a/openapi/components/schemas/common/GhsAccountInfo.yaml +++ b/openapi/components/schemas/common/GhsAccountInfo.yaml @@ -1,13 +1,36 @@ -allOf: -- $ref: ./GhsAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- phoneNumber +properties: + accountType: + type: string + enum: + - GHS_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/GtqAccountInfo.yaml b/openapi/components/schemas/common/GtqAccountInfo.yaml index 9cbc2018..a391a9a1 100644 --- a/openapi/components/schemas/common/GtqAccountInfo.yaml +++ b/openapi/components/schemas/common/GtqAccountInfo.yaml @@ -1,13 +1,36 @@ -allOf: -- $ref: ./GtqAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- phoneNumber +properties: + accountType: + type: string + enum: + - GTQ_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/HkdAccountInfo.yaml b/openapi/components/schemas/common/HkdAccountInfo.yaml index d2854480..ed477be5 100644 --- a/openapi/components/schemas/common/HkdAccountInfo.yaml +++ b/openapi/components/schemas/common/HkdAccountInfo.yaml @@ -1,12 +1,36 @@ -allOf: -- $ref: ./HkdAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Hong Kong bank account number + minLength: 1 + maxLength: 34 + example: '123456789012' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: HSBCHKHHHKH + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/HtgAccountInfo.yaml b/openapi/components/schemas/common/HtgAccountInfo.yaml index 7287cc73..03bc16b9 100644 --- a/openapi/components/schemas/common/HtgAccountInfo.yaml +++ b/openapi/components/schemas/common/HtgAccountInfo.yaml @@ -1,12 +1,23 @@ -allOf: -- $ref: ./HtgAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +properties: + accountType: + type: string + enum: + - HTG_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/IdrAccountInfo.yaml b/openapi/components/schemas/common/IdrAccountInfo.yaml index 20243d4b..0e54e8ef 100644 --- a/openapi/components/schemas/common/IdrAccountInfo.yaml +++ b/openapi/components/schemas/common/IdrAccountInfo.yaml @@ -1,12 +1,45 @@ -allOf: -- $ref: ./IdrAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- swiftCode +- phoneNumber +properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + example: Bank Central Asia + accountNumber: + type: string + description: Indonesian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: CENAIDJA + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: Indonesian phone number for e-wallet payments + example: '+6281234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+62[0-9]{9,12}$ diff --git a/openapi/components/schemas/common/InrAccountInfo.yaml b/openapi/components/schemas/common/InrAccountInfo.yaml index 0ea13547..0d056120 100644 --- a/openapi/components/schemas/common/InrAccountInfo.yaml +++ b/openapi/components/schemas/common/InrAccountInfo.yaml @@ -1,12 +1,23 @@ -allOf: -- $ref: ./InrAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - UPI +type: object +required: +- accountType +- paymentRails +- vpa +properties: + accountType: + type: string + enum: + - INR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - UPI + vpa: + type: string + description: The UPI Virtual Payment Address + example: user@upi + minLength: 3 + maxLength: 255 + pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ diff --git a/openapi/components/schemas/common/JmdAccountInfo.yaml b/openapi/components/schemas/common/JmdAccountInfo.yaml index 6afe803d..752af80f 100644 --- a/openapi/components/schemas/common/JmdAccountInfo.yaml +++ b/openapi/components/schemas/common/JmdAccountInfo.yaml @@ -1,12 +1,41 @@ -allOf: -- $ref: ./JmdAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- branchCode +- bankAccountType +properties: + accountType: + type: string + enum: + - JMD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS diff --git a/openapi/components/schemas/common/KesAccountInfo.yaml b/openapi/components/schemas/common/KesAccountInfo.yaml index a80ac6c7..c7c15980 100644 --- a/openapi/components/schemas/common/KesAccountInfo.yaml +++ b/openapi/components/schemas/common/KesAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./KesAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - KES_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: Kenyan mobile money phone number + example: '+254712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+254[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/MwkAccountInfo.yaml b/openapi/components/schemas/common/MwkAccountInfo.yaml index 9a879f7d..67509ee9 100644 --- a/openapi/components/schemas/common/MwkAccountInfo.yaml +++ b/openapi/components/schemas/common/MwkAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./MwkAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - MWK_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/MxnAccountInfo.yaml b/openapi/components/schemas/common/MxnAccountInfo.yaml index 8259c14b..bd86b030 100644 --- a/openapi/components/schemas/common/MxnAccountInfo.yaml +++ b/openapi/components/schemas/common/MxnAccountInfo.yaml @@ -1,12 +1,23 @@ -allOf: -- $ref: ./MxnAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - SPEI +type: object +required: +- accountType +- paymentRails +- clabeNumber +properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - SPEI + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ diff --git a/openapi/components/schemas/common/MyrAccountInfo.yaml b/openapi/components/schemas/common/MyrAccountInfo.yaml index ec5ab5a4..a91c2f5e 100644 --- a/openapi/components/schemas/common/MyrAccountInfo.yaml +++ b/openapi/components/schemas/common/MyrAccountInfo.yaml @@ -1,12 +1,36 @@ -allOf: -- $ref: ./MyrAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Malaysian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: MABORUMMYYY + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/NgnAccountInfo.yaml b/openapi/components/schemas/common/NgnAccountInfo.yaml index 6ef441b2..fe0565ab 100644 --- a/openapi/components/schemas/common/NgnAccountInfo.yaml +++ b/openapi/components/schemas/common/NgnAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./NgnAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- accountNumber +- bankName +properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + accountNumber: + type: string + description: Nigerian bank account number + minLength: 10 + maxLength: 10 + example: '0123456789' + pattern: ^[0-9]{10}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/PhpAccountInfo.yaml b/openapi/components/schemas/common/PhpAccountInfo.yaml index bc3422e1..548f26d5 100644 --- a/openapi/components/schemas/common/PhpAccountInfo.yaml +++ b/openapi/components/schemas/common/PhpAccountInfo.yaml @@ -1,12 +1,30 @@ -allOf: -- $ref: ./PhpAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + minLength: 8 + maxLength: 16 + example: '001234567890' + pattern: ^[0-9]{8,16}$ diff --git a/openapi/components/schemas/common/PkrAccountInfo.yaml b/openapi/components/schemas/common/PkrAccountInfo.yaml index 059b85c3..871b3b33 100644 --- a/openapi/components/schemas/common/PkrAccountInfo.yaml +++ b/openapi/components/schemas/common/PkrAccountInfo.yaml @@ -1,13 +1,43 @@ -allOf: -- $ref: ./PkrAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- phoneNumber +properties: + accountType: + type: string + enum: + - PKR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/RwfAccountInfo.yaml b/openapi/components/schemas/common/RwfAccountInfo.yaml index 74637bf1..2b86420b 100644 --- a/openapi/components/schemas/common/RwfAccountInfo.yaml +++ b/openapi/components/schemas/common/RwfAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./RwfAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - RWF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: Rwandan mobile money phone number + example: '+250781234567' + minLength: 7 + maxLength: 15 + pattern: ^\+250[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/SgdAccountInfo.yaml b/openapi/components/schemas/common/SgdAccountInfo.yaml index 76e6c192..423e544c 100644 --- a/openapi/components/schemas/common/SgdAccountInfo.yaml +++ b/openapi/components/schemas/common/SgdAccountInfo.yaml @@ -1,14 +1,39 @@ -allOf: -- $ref: ./SgdAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - PAYNOW - - FAST - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: DBS Bank Ltd + accountNumber: + type: string + description: Bank account number + minLength: 1 + maxLength: 34 + example: '0123456789' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DBSSSGSG + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/ThbAccountInfo.yaml b/openapi/components/schemas/common/ThbAccountInfo.yaml index c75916cb..d75b0d61 100644 --- a/openapi/components/schemas/common/ThbAccountInfo.yaml +++ b/openapi/components/schemas/common/ThbAccountInfo.yaml @@ -1,12 +1,36 @@ -allOf: -- $ref: ./ThbAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - THB_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Thai bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BKKBTHBK + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/TzsAccountInfo.yaml b/openapi/components/schemas/common/TzsAccountInfo.yaml index 07f6e1fb..d02b75e4 100644 --- a/openapi/components/schemas/common/TzsAccountInfo.yaml +++ b/openapi/components/schemas/common/TzsAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./TzsAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - TZS_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: Tanzanian mobile money phone number + example: '+255712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+255[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/UgxAccountInfo.yaml b/openapi/components/schemas/common/UgxAccountInfo.yaml index c11d0310..9d022398 100644 --- a/openapi/components/schemas/common/UgxAccountInfo.yaml +++ b/openapi/components/schemas/common/UgxAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./UgxAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - UGX_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/UsdAccountInfo.yaml b/openapi/components/schemas/common/UsdAccountInfo.yaml index 4d2f9909..ef2c2770 100644 --- a/openapi/components/schemas/common/UsdAccountInfo.yaml +++ b/openapi/components/schemas/common/UsdAccountInfo.yaml @@ -1,16 +1,48 @@ -allOf: -- $ref: ./UsdAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - ACH - - WIRE - - RTP - - FEDNOW - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- accountNumber +- routingNumber +- bankName +- phoneNumber +properties: + accountType: + type: string + enum: + - USD_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER + - MOBILE_MONEY + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + routingNumber: + type: string + description: The ABA routing number + example: '021000021' + minLength: 9 + maxLength: 9 + pattern: ^[0-9]{9}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/VndAccountInfo.yaml b/openapi/components/schemas/common/VndAccountInfo.yaml index b0fdee25..d987aaeb 100644 --- a/openapi/components/schemas/common/VndAccountInfo.yaml +++ b/openapi/components/schemas/common/VndAccountInfo.yaml @@ -1,12 +1,36 @@ -allOf: -- $ref: ./VndAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - VND_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Vietnamese bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BFTVVNVX + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/XafAccountInfo.yaml b/openapi/components/schemas/common/XafAccountInfo.yaml index b9e5337c..ed3354e4 100644 --- a/openapi/components/schemas/common/XafAccountInfo.yaml +++ b/openapi/components/schemas/common/XafAccountInfo.yaml @@ -1,12 +1,39 @@ -allOf: -- $ref: ./XafAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +- region +properties: + accountType: + type: string + enum: + - XAF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the Central African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - CM + - CG diff --git a/openapi/components/schemas/common/XofAccountInfo.yaml b/openapi/components/schemas/common/XofAccountInfo.yaml index 218e4e69..dc1f3519 100644 --- a/openapi/components/schemas/common/XofAccountInfo.yaml +++ b/openapi/components/schemas/common/XofAccountInfo.yaml @@ -1,12 +1,41 @@ -allOf: -- $ref: ./XofAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +- region +properties: + accountType: + type: string + enum: + - XOF_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the West African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - BJ + - CI + - SN + - TG diff --git a/openapi/components/schemas/common/ZarAccountInfo.yaml b/openapi/components/schemas/common/ZarAccountInfo.yaml index 556e7401..62a6fff0 100644 --- a/openapi/components/schemas/common/ZarAccountInfo.yaml +++ b/openapi/components/schemas/common/ZarAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./ZarAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER +type: object +required: +- accountType +- paymentRails +- accountNumber +- bankName +properties: + accountType: + type: string + enum: + - ZAR_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + accountNumber: + type: string + description: South African bank account number + minLength: 9 + maxLength: 13 + example: '1234567890' + pattern: ^[0-9]{9,13}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/ZmwAccountInfo.yaml b/openapi/components/schemas/common/ZmwAccountInfo.yaml index 3cce7d88..446d3d34 100644 --- a/openapi/components/schemas/common/ZmwAccountInfo.yaml +++ b/openapi/components/schemas/common/ZmwAccountInfo.yaml @@ -1,12 +1,29 @@ -allOf: -- $ref: ./ZmwAccountInfoBase.yaml -- type: object - required: - - paymentRails - properties: - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY +type: object +required: +- accountType +- paymentRails +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - ZMW_ACCOUNT + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY + phoneNumber: + type: string + description: Zambian mobile money phone number + example: '+260971234567' + minLength: 7 + maxLength: 15 + pattern: ^\+260[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255