diff --git a/.stainless/stainless.yml b/.stainless/stainless.yml index d6f56b6f..cabd8e1f 100644 --- a/.stainless/stainless.yml +++ b/.stainless/stainless.yml @@ -109,16 +109,19 @@ resources: subresources: external_accounts: models: - us_account_info: '#/components/schemas/UsAccountExternalAccountInfo' - clabe_account_info: '#/components/schemas/ClabeAccountExternalAccountInfo' - pix_account_info: '#/components/schemas/PixAccountExternalAccountInfo' - iban_account_info: '#/components/schemas/IbanAccountExternalAccountInfo' - upi_account_info: '#/components/schemas/UpiAccountExternalAccountInfo' - ngn_account_info: '#/components/schemas/NgnAccountExternalAccountInfo' - cad_account_info: '#/components/schemas/CadAccountExternalAccountInfo' - gbp_account_info: '#/components/schemas/GbpAccountExternalAccountInfo' - php_account_info: '#/components/schemas/PhpAccountExternalAccountInfo' - sgd_account_info: '#/components/schemas/SgdAccountExternalAccountInfo' + usd_account_info: '#/components/schemas/UsdExternalAccountInfo' + brl_account_info: '#/components/schemas/BrlExternalAccountInfo' + mxn_account_info: '#/components/schemas/MxnExternalAccountInfo' + dkk_account_info: '#/components/schemas/DkkExternalAccountInfo' + inr_account_info: '#/components/schemas/InrExternalAccountInfo' + gbp_account_info: '#/components/schemas/GbpExternalAccountInfo' + hkd_account_info: '#/components/schemas/HkdExternalAccountInfo' + idr_account_info: '#/components/schemas/IdrExternalAccountInfo' + myr_account_info: '#/components/schemas/MyrExternalAccountInfo' + php_account_info: '#/components/schemas/PhpExternalAccountInfo' + sgd_account_info: '#/components/schemas/SgdExternalAccountInfo' + thb_account_info: '#/components/schemas/ThbExternalAccountInfo' + vnd_account_info: '#/components/schemas/VndExternalAccountInfo' spark_wallet_info: '#/components/schemas/SparkWalletExternalAccountInfo' solana_wallet_info: '#/components/schemas/SolanaWalletExternalAccountInfo' tron_wallet_info: '#/components/schemas/TronWalletExternalAccountInfo' @@ -483,12 +486,21 @@ openapi: stripping the accountType discriminator, which causes TS2312 errors args: target: - - "$.components.schemas.PaymentClabeAccountInfo.allOf[0]" - - "$.components.schemas.PaymentUsAccountInfo.allOf[0]" - - "$.components.schemas.PaymentPixAccountInfo.allOf[0]" - - "$.components.schemas.PaymentIbanAccountInfo.allOf[0]" - - "$.components.schemas.PaymentUpiAccountInfo.allOf[0]" + - "$.components.schemas.PaymentUsdAccountInfo.allOf[0]" + - "$.components.schemas.PaymentBrlAccountInfo.allOf[0]" + - "$.components.schemas.PaymentMxnAccountInfo.allOf[0]" + - "$.components.schemas.PaymentDkkAccountInfo.allOf[0]" + - "$.components.schemas.PaymentInrAccountInfo.allOf[0]" - "$.components.schemas.PaymentNgnAccountInfo.allOf[0]" + - "$.components.schemas.PaymentCadAccountInfo.allOf[0]" + - "$.components.schemas.PaymentGbpAccountInfo.allOf[0]" + - "$.components.schemas.PaymentHkdAccountInfo.allOf[0]" + - "$.components.schemas.PaymentIdrAccountInfo.allOf[0]" + - "$.components.schemas.PaymentMyrAccountInfo.allOf[0]" + - "$.components.schemas.PaymentPhpAccountInfo.allOf[0]" + - "$.components.schemas.PaymentSgdAccountInfo.allOf[0]" + - "$.components.schemas.PaymentThbAccountInfo.allOf[0]" + - "$.components.schemas.PaymentVndAccountInfo.allOf[0]" - "$.components.schemas.PaymentSparkWalletInfo.allOf[0]" - "$.components.schemas.PaymentLightningInvoiceInfo.allOf[0]" - "$.components.schemas.PaymentSolanaWalletInfo.allOf[0]" @@ -520,16 +532,6 @@ openapi: - "$.components.schemas.ExternalAccountDetailsDestination.allOf[0]" keys: [ "$ref" ] - # ── beneficiaryType: remove from base schema ── - - command: remove - reason: >- - Remove beneficiaryType $ref from base schema so the inline - single-value enums in each beneficiary variant become the sole definition - args: - target: - - "$.components.schemas.BaseBeneficiary.properties" - keys: [ "beneficiaryType" ] - codeflow: detect_breaking_changes: true release_environment: npm diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index 1eb035e9..212e82dc 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -4765,10 +4765,10 @@ components: example: 12550 currency: $ref: '#/components/schemas/Currency' - PaymentClabeAccountInfo: + PaymentUsdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - reference @@ -4787,56 +4787,101 @@ components: discriminator: propertyName: accountType mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' - UsAccountInfo: + BrlAccountInfo: type: object required: - - accountNumber - - routingNumber - - accountCategory - accountType + - countries + - paymentRails + - pixKey + - pixKeyType + - taxId properties: accountType: type: string enum: - - US_ACCOUNT - accountNumber: + - BRL_ACCOUNT + countries: + type: array + items: + type: string + enum: + - BR + paymentRails: + type: array + items: + type: string + enum: + - PIX + pixKey: type: string - description: US bank account number - example: '123456789' - routingNumber: + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: type: string - description: ACH routing number (9 digits) - example: '987654321' - minLength: 9 - maxLength: 9 - pattern: ^[0-9]{9}$ - accountCategory: + description: The tax ID of the bank account + PaymentBrlAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + MxnAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - clabeNumber + properties: + accountType: type: string enum: - - CHECKING - - SAVINGS - description: Type of account (checking or savings) - example: CHECKING - bankName: + - MXN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MX + paymentRails: + type: array + items: + type: string + enum: + - SPEI + clabeNumber: type: string - description: Name of the bank - example: Chase Bank - PaymentUsAccountInfo: + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + PaymentMxnAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' - type: object required: - reference @@ -4845,68 +4890,41 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PixAccountInfo: + DkkAccountInfo: type: object required: - - pixKey - - pixKeyType - - taxId - accountType - properties: - accountType: - type: string - enum: - - PIX - pixKey: - type: string - description: PIX key for Brazilian instant payments - example: '55119876543210' - pixKeyType: - type: string - enum: - - CPF - - CNPJ - - EMAIL - - PHONE - - RANDOM - description: Type of PIX key being used - example: PHONE - taxId: - type: string - description: Tax ID of the account holder - example: '1234567890' - PaymentPixAccountInfo: - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' - IbanAccountInfo: - type: object - required: + - countries + - paymentRails - iban - - swiftBic - - accountType properties: accountType: type: string enum: - - IBAN + - DKK_ACCOUNT + countries: + type: array + items: + type: string + enum: + - DK + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT iban: type: string - description: International Bank Account Number - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 + description: The IBAN of the bank swiftBic: type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DEUTDEFF - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - PaymentIbanAccountInfo: + description: The SWIFT BIC of the bank + PaymentDkkAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' - type: object required: - reference @@ -4915,35 +4933,63 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UpiAccountInfo: + InrAccountInfo: type: object required: - - vpa - accountType + - countries + - paymentRails + - vpa properties: accountType: type: string enum: - - UPI + - INR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - IN + paymentRails: + type: array + items: + type: string + enum: + - UPI + - IMPS vpa: type: string - description: Virtual Payment Address for UPI payments - example: somecustomers@okbank - PaymentUpiAccountInfo: + description: The VPA of the bank + PaymentInrAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' NgnAccountInfo: type: object required: + - accountType + - countries + - paymentRails - accountNumber - bankName - - accountType properties: accountType: type: string enum: - NGN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - NG + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -4967,119 +5013,542 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - SparkWalletInfo: + CadAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - bankCode + - branchCode + - accountNumber properties: accountType: type: string enum: - - SPARK_WALLET - address: + - CAD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - CA + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankCode: type: string - description: Spark wallet address - example: spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu - PaymentSparkWalletInfo: - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/SparkWalletInfo' - - type: object - required: - - assetType - properties: - assetType: - type: string - description: Type of asset - enum: - - BTC - - USDB - invoice: - type: string - description: Invoice for the payment - example: sparkrt1pgss8ter0fhc4c220f3zftmpz49h8wqte8eg3m5zkrraplgc048jucgszg3ssqgjzqqekv73mmh842yj7drsjwh7t7tz5zt8wf5kghm5v4ehggszppjp5s80cg3qjdzc55g2567tn3lj705hdsr577tg8ah795mlnt6807y657qhkmgfkf9w75p4wz3l8vhua85zdn6ryj32zuj0p00pv2l5z4u47mw6h4s - PaymentLightningInvoiceInfo: + description: Canadian financial institution number (3 digits) + example: '001' + minLength: 3 + maxLength: 3 + pattern: ^[0-9]{3}$ + branchCode: + type: string + description: Transit number identifying the branch (5 digits) + example: '00012' + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + accountNumber: + type: string + description: Bank account number (7-12 digits) + example: '1234567' + minLength: 7 + maxLength: 12 + pattern: ^[0-9]{7,12}$ + PaymentCadAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/CadAccountInfo' - type: object required: - - invoice + - reference properties: - accountType: - type: string - enum: - - LIGHTNING - invoice: + reference: type: string - description: Invoice for the payment - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - SolanaWalletInfo: + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + GbpAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - sortCode + - accountNumber properties: accountType: type: string enum: - - SOLANA_WALLET - address: + - GBP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - GB + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS + sortCode: type: string - description: Solana wallet address - example: 4Nd1m6Qkq7RfKuE5vQ9qP9Tn6H94Ueqb4xXHzsAbd8Wg - PaymentSolanaWalletInfo: + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + PaymentGbpAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/SolanaWalletInfo' + - $ref: '#/components/schemas/GbpAccountInfo' - type: object + required: + - reference properties: - assetType: + reference: type: string - description: Type of asset - enum: - - USDC - - USDT - TronWalletInfo: + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + HkdAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - TRON_WALLET - address: + - HKD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - HK + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: type: string - description: Tron wallet address - example: TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL - PaymentTronWalletInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentHkdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/TronWalletInfo' + - $ref: '#/components/schemas/HkdAccountInfo' - type: object + required: + - reference properties: - assetType: + reference: type: string - description: Type of asset - enum: - - USDT - PolygonWalletInfo: + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + IdrAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - sortCode + - accountNumber properties: accountType: type: string enum: - - POLYGON_WALLET - address: + - IDR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - ID + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + sortCode: type: string - description: Polygon eth wallet address - example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' - PaymentPolygonWalletInfo: + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentIdrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + MyrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MY + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentMyrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + PhpAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - PH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + example: '001234567890' + PaymentPhpAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + SgdAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - swiftCode + - accountNumber + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - SG + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER + bankName: + type: string + description: Name of the beneficiary's bank + example: DBS Bank Ltd + swiftCode: + type: string + description: SWIFT/BIC code (8 or 11 characters) + example: DBSSSGSG + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + accountNumber: + type: string + description: Bank account number + example: '0123456789' + PaymentSgdAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + ThbAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - THB_ACCOUNT + countries: + type: array + items: + type: string + enum: + - TH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentThbAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + VndAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - VND_ACCOUNT + countries: + type: array + items: + type: string + enum: + - VN + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentVndAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + SparkWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - SPARK_WALLET + address: + type: string + description: Spark wallet address + example: spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu + PaymentSparkWalletInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/SparkWalletInfo' + - type: object + required: + - assetType + properties: + assetType: + type: string + description: Type of asset + enum: + - BTC + - USDB + invoice: + type: string + description: Invoice for the payment + example: sparkrt1pgss8ter0fhc4c220f3zftmpz49h8wqte8eg3m5zkrraplgc048jucgszg3ssqgjzqqekv73mmh842yj7drsjwh7t7tz5zt8wf5kghm5v4ehggszppjp5s80cg3qjdzc55g2567tn3lj705hdsr577tg8ah795mlnt6807y657qhkmgfkf9w75p4wz3l8vhua85zdn6ryj32zuj0p00pv2l5z4u47mw6h4s + PaymentLightningInvoiceInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - type: object + required: + - invoice + properties: + accountType: + type: string + enum: + - LIGHTNING + invoice: + type: string + description: Invoice for the payment + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + SolanaWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - SOLANA_WALLET + address: + type: string + description: Solana wallet address + example: 4Nd1m6Qkq7RfKuE5vQ9qP9Tn6H94Ueqb4xXHzsAbd8Wg + PaymentSolanaWalletInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/SolanaWalletInfo' + - type: object + properties: + assetType: + type: string + description: Type of asset + enum: + - USDC + - USDT + TronWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - TRON_WALLET + address: + type: string + description: Tron wallet address + example: TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL + PaymentTronWalletInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/TronWalletInfo' + - type: object + properties: + assetType: + type: string + description: Type of asset + enum: + - USDT + PolygonWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - POLYGON_WALLET + address: + type: string + description: Polygon eth wallet address + example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' + PaymentPolygonWalletInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' @@ -5118,12 +5587,21 @@ components: PaymentAccountType: type: string enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI + - USD_ACCOUNT + - BRL_ACCOUNT + - MXN_ACCOUNT + - DKK_ACCOUNT + - INR_ACCOUNT - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - MYR_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - THB_ACCOUNT + - VND_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -5131,24 +5609,41 @@ components: - POLYGON_WALLET - BASE_WALLET description: Type of payment account or wallet - example: US_ACCOUNT - ClabeAccountInfo: + example: USD_ACCOUNT + UsdAccountInfo: type: object required: - - clabeNumber - accountType + - countries + - paymentRails + - accountNumber + - routingNumber properties: accountType: type: string enum: - - CLABE - clabeNumber: + - USD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - US + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + accountNumber: type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank PaymentInstructions: type: object required: @@ -5164,16 +5659,36 @@ components: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: '#/components/schemas/PaymentClabeAccountInfo' - - title: US Bank Account - $ref: '#/components/schemas/PaymentUsAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PaymentPixAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/PaymentIbanAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/PaymentUpiAccountInfo' + - title: USD Bank Account + $ref: '#/components/schemas/PaymentUsdAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/PaymentBrlAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/PaymentMxnAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/PaymentDkkAccountInfo' + - title: INR Account + $ref: '#/components/schemas/PaymentInrAccountInfo' + - title: NGN Account + $ref: '#/components/schemas/PaymentNgnAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/PaymentCadAccountInfo' + - title: GBP Account + $ref: '#/components/schemas/PaymentGbpAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/PaymentHkdAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/PaymentIdrAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/PaymentMyrAccountInfo' + - title: PHP Account + $ref: '#/components/schemas/PaymentPhpAccountInfo' + - title: SGD Account + $ref: '#/components/schemas/PaymentSgdAccountInfo' + - title: THB Account + $ref: '#/components/schemas/PaymentThbAccountInfo' + - title: VND Account + $ref: '#/components/schemas/PaymentVndAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/PaymentSparkWalletInfo' - title: Lightning Invoice @@ -5189,11 +5704,21 @@ components: discriminator: propertyName: accountType mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' + NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' @@ -5269,16 +5794,6 @@ components: type: string description: The verified full name of the account holder as returned by the payment rail example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5289,372 +5804,750 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' - IndividualBeneficiary: + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + GbpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BusinessBeneficiary: + type: object + required: + - beneficiaryType + - legalName + properties: + beneficiaryType: + type: string + enum: + - BUSINESS + legalName: + type: string + description: The legal name of the business + registrationNumber: + type: string + description: The registration number of the business + taxId: + type: string + description: The tax identification number of the business + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + GbpExternalAccountInfo: allOf: - - $ref: '#/components/schemas/BaseBeneficiary' + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' - type: object required: - - fullName - - birthDate - - nationality - - beneficiaryType + - beneficiary properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: Individual's full name - example: John Michael Doe - birthDate: - type: string - format: date - description: Date of birth in ISO 8601 format (YYYY-MM-DD) - example: '1990-01-15' - nationality: - type: string - description: Country code (ISO 3166-1 alpha-2) - example: US - BaseBeneficiary: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GbpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GbpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpBeneficiary: type: object required: - beneficiaryType + - fullName properties: beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary address: $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - BusinessBeneficiary: + PhpExternalAccountInfo: allOf: - - $ref: '#/components/schemas/BaseBeneficiary' + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfo' - type: object required: - - legalName - - beneficiaryType + - beneficiary properties: - beneficiaryType: - type: string - enum: - - BUSINESS - legalName: - type: string - description: Legal name of the business - example: Acme Corporation, Inc. - registrationNumber: - type: string - description: Business registration number - example: BRN-123456789 - taxId: - type: string - description: Tax identification number - example: EIN-987654321 - BeneficiaryType: - type: string - enum: - - INDIVIDUAL - - BUSINESS - description: Whether the beneficiary is an individual or a business entity - example: INDIVIDUAL - BeneficiaryOneOf: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ClabeAccountExternalAccountInfo: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PhpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PhpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + SgdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/SgdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/SgdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SparkWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SparkWalletInfo' + LightningInfo: + type: object + description: | + Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. + required: + - accountType + properties: + accountType: + type: string + enum: + - LIGHTNING + invoice: + type: string + description: 1-time use lightning bolt11 invoice payout destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + bolt12: + type: string + description: A bolt12 offer which can be reused as a payment destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + lightningAddress: + type: string + description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. + example: john.doe@lightningwallet.com + LightningExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/LightningInfo' + SolanaWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletInfo' + TronWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletInfo' + PolygonWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletInfo' + BaseWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletInfo' + BrlExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PixAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + DkkExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - IbanAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/DkkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/DkkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + HkdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - UpiAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HkdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HkdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + IdrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - NgnAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IdrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IdrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + InrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' - type: object required: - - purposeOfPayment - beneficiary properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - CadAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/InrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/InrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnBeneficiary: type: object required: - - bankCode - - branchCode - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - CAD_ACCOUNT - bankCode: + - INDIVIDUAL + fullName: type: string - description: Canadian financial institution number (3 digits) - example: '001' - minLength: 3 - maxLength: 3 - pattern: ^[0-9]{3}$ - branchCode: + description: The full name of the beneficiary + birthDate: type: string - description: Transit number identifying the branch (5 digits) - example: '00012' - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ - accountNumber: + description: The birth date of the beneficiary + nationality: type: string - description: Bank account number (7-12 digits) - example: '1234567' - minLength: 7 - maxLength: 12 - pattern: ^[0-9]{7,12}$ - CadAccountExternalAccountInfo: + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MxnExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - GbpAccountInfo: + 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' + MyrBeneficiary: type: object required: - - sortCode - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - GBP_ACCOUNT - sortCode: + - INDIVIDUAL + fullName: type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: + description: The full name of the beneficiary + birthDate: type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpAccountExternalAccountInfo: + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MyrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PhpAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MyrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MyrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbBeneficiary: type: object required: - - bankName - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - PHP_ACCOUNT - bankName: + - INDIVIDUAL + fullName: type: string - description: Name of the beneficiary's bank - example: BDO Unibank - accountNumber: + description: The full name of the beneficiary + birthDate: type: string - description: Bank account number - example: '001234567890' - PhpAccountExternalAccountInfo: + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + ThbExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SgdAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ThbBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ThbBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdBeneficiary: type: object required: - - bankName - - swiftCode - - accountNumber - - accountType + - beneficiaryType + - birthDate + - fullName + - nationality properties: - accountType: + beneficiaryType: type: string enum: - - SGD_ACCOUNT - bankName: + - INDIVIDUAL + fullName: type: string - description: Name of the beneficiary's bank - example: DBS Bank Ltd - swiftCode: + description: The full name of the beneficiary + birthDate: type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DBSSSGSG - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - accountNumber: + description: The birth date of the beneficiary + nationality: type: string - description: Bank account number - example: '0123456789' - SgdAccountExternalAccountInfo: + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + UsdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SparkWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SparkWalletInfo' - LightningInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UsdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UsdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndBeneficiary: type: object - description: | - Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. required: - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - LIGHTNING - invoice: + - INDIVIDUAL + fullName: type: string - description: 1-time use lightning bolt11 invoice payout destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - bolt12: + description: The full name of the beneficiary + birthDate: type: string - description: A bolt12 offer which can be reused as a payment destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - lightningAddress: + description: The birth date of the beneficiary + nationality: type: string - description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. - example: john.doe@lightningwallet.com - LightningExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/LightningInfo' - SolanaWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SolanaWalletInfo' - TronWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/TronWalletInfo' - PolygonWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PolygonWalletInfo' - BaseWalletExternalAccountInfo: + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + VndExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BaseWalletInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/VndBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/VndBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' ExternalAccountType: type: string enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -5664,30 +6557,79 @@ components: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT description: Type of external account or wallet - example: US_ACCOUNT + example: GBP_ACCOUNT + BrlBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/BrlExternalAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/DkkExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + $ref: '#/components/schemas/GbpExternalAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/HkdExternalAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/IdrExternalAccountInfo' + - title: INR Account + $ref: '#/components/schemas/InrExternalAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/MxnExternalAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/MyrExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + $ref: '#/components/schemas/PhpExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + $ref: '#/components/schemas/SgdExternalAccountInfo' + - title: THB Account + $ref: '#/components/schemas/ThbExternalAccountInfo' + - title: USD Account + $ref: '#/components/schemas/UsdExternalAccountInfo' + - title: VND Account + $ref: '#/components/schemas/VndExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5703,16 +6645,19 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' diff --git a/openapi.yaml b/openapi.yaml index 1eb035e9..212e82dc 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4765,10 +4765,10 @@ components: example: 12550 currency: $ref: '#/components/schemas/Currency' - PaymentClabeAccountInfo: + PaymentUsdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - reference @@ -4787,56 +4787,101 @@ components: discriminator: propertyName: accountType mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' - UsAccountInfo: + BrlAccountInfo: type: object required: - - accountNumber - - routingNumber - - accountCategory - accountType + - countries + - paymentRails + - pixKey + - pixKeyType + - taxId properties: accountType: type: string enum: - - US_ACCOUNT - accountNumber: + - BRL_ACCOUNT + countries: + type: array + items: + type: string + enum: + - BR + paymentRails: + type: array + items: + type: string + enum: + - PIX + pixKey: type: string - description: US bank account number - example: '123456789' - routingNumber: + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: type: string - description: ACH routing number (9 digits) - example: '987654321' - minLength: 9 - maxLength: 9 - pattern: ^[0-9]{9}$ - accountCategory: + description: The tax ID of the bank account + PaymentBrlAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + MxnAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - clabeNumber + properties: + accountType: type: string enum: - - CHECKING - - SAVINGS - description: Type of account (checking or savings) - example: CHECKING - bankName: + - MXN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MX + paymentRails: + type: array + items: + type: string + enum: + - SPEI + clabeNumber: type: string - description: Name of the bank - example: Chase Bank - PaymentUsAccountInfo: + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + PaymentMxnAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' - type: object required: - reference @@ -4845,68 +4890,41 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PixAccountInfo: + DkkAccountInfo: type: object required: - - pixKey - - pixKeyType - - taxId - accountType - properties: - accountType: - type: string - enum: - - PIX - pixKey: - type: string - description: PIX key for Brazilian instant payments - example: '55119876543210' - pixKeyType: - type: string - enum: - - CPF - - CNPJ - - EMAIL - - PHONE - - RANDOM - description: Type of PIX key being used - example: PHONE - taxId: - type: string - description: Tax ID of the account holder - example: '1234567890' - PaymentPixAccountInfo: - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' - IbanAccountInfo: - type: object - required: + - countries + - paymentRails - iban - - swiftBic - - accountType properties: accountType: type: string enum: - - IBAN + - DKK_ACCOUNT + countries: + type: array + items: + type: string + enum: + - DK + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT iban: type: string - description: International Bank Account Number - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 + description: The IBAN of the bank swiftBic: type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DEUTDEFF - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - PaymentIbanAccountInfo: + description: The SWIFT BIC of the bank + PaymentDkkAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' - type: object required: - reference @@ -4915,35 +4933,63 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UpiAccountInfo: + InrAccountInfo: type: object required: - - vpa - accountType + - countries + - paymentRails + - vpa properties: accountType: type: string enum: - - UPI + - INR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - IN + paymentRails: + type: array + items: + type: string + enum: + - UPI + - IMPS vpa: type: string - description: Virtual Payment Address for UPI payments - example: somecustomers@okbank - PaymentUpiAccountInfo: + description: The VPA of the bank + PaymentInrAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' NgnAccountInfo: type: object required: + - accountType + - countries + - paymentRails - accountNumber - bankName - - accountType properties: accountType: type: string enum: - NGN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - NG + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -4967,119 +5013,542 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - SparkWalletInfo: + CadAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - bankCode + - branchCode + - accountNumber properties: accountType: type: string enum: - - SPARK_WALLET - address: + - CAD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - CA + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankCode: type: string - description: Spark wallet address - example: spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu - PaymentSparkWalletInfo: - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/SparkWalletInfo' - - type: object - required: - - assetType - properties: - assetType: - type: string - description: Type of asset - enum: - - BTC - - USDB - invoice: - type: string - description: Invoice for the payment - example: sparkrt1pgss8ter0fhc4c220f3zftmpz49h8wqte8eg3m5zkrraplgc048jucgszg3ssqgjzqqekv73mmh842yj7drsjwh7t7tz5zt8wf5kghm5v4ehggszppjp5s80cg3qjdzc55g2567tn3lj705hdsr577tg8ah795mlnt6807y657qhkmgfkf9w75p4wz3l8vhua85zdn6ryj32zuj0p00pv2l5z4u47mw6h4s - PaymentLightningInvoiceInfo: + description: Canadian financial institution number (3 digits) + example: '001' + minLength: 3 + maxLength: 3 + pattern: ^[0-9]{3}$ + branchCode: + type: string + description: Transit number identifying the branch (5 digits) + example: '00012' + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + accountNumber: + type: string + description: Bank account number (7-12 digits) + example: '1234567' + minLength: 7 + maxLength: 12 + pattern: ^[0-9]{7,12}$ + PaymentCadAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/CadAccountInfo' - type: object required: - - invoice + - reference properties: - accountType: - type: string - enum: - - LIGHTNING - invoice: + reference: type: string - description: Invoice for the payment - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - SolanaWalletInfo: + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + GbpAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - sortCode + - accountNumber properties: accountType: type: string enum: - - SOLANA_WALLET - address: + - GBP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - GB + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS + sortCode: type: string - description: Solana wallet address - example: 4Nd1m6Qkq7RfKuE5vQ9qP9Tn6H94Ueqb4xXHzsAbd8Wg - PaymentSolanaWalletInfo: + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + PaymentGbpAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/SolanaWalletInfo' + - $ref: '#/components/schemas/GbpAccountInfo' - type: object + required: + - reference properties: - assetType: + reference: type: string - description: Type of asset - enum: - - USDC - - USDT - TronWalletInfo: + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + HkdAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - TRON_WALLET - address: + - HKD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - HK + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: type: string - description: Tron wallet address - example: TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL - PaymentTronWalletInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentHkdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/TronWalletInfo' + - $ref: '#/components/schemas/HkdAccountInfo' - type: object + required: + - reference properties: - assetType: + reference: type: string - description: Type of asset - enum: - - USDT - PolygonWalletInfo: + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + IdrAccountInfo: type: object required: - - address - accountType + - countries + - paymentRails + - sortCode + - accountNumber properties: accountType: type: string enum: - - POLYGON_WALLET - address: + - IDR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - ID + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + sortCode: type: string - description: Polygon eth wallet address - example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' - PaymentPolygonWalletInfo: + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentIdrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + MyrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MY + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentMyrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + PhpAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - PH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + example: '001234567890' + PaymentPhpAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + SgdAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - swiftCode + - accountNumber + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - SG + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER + bankName: + type: string + description: Name of the beneficiary's bank + example: DBS Bank Ltd + swiftCode: + type: string + description: SWIFT/BIC code (8 or 11 characters) + example: DBSSSGSG + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + accountNumber: + type: string + description: Bank account number + example: '0123456789' + PaymentSgdAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + ThbAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - THB_ACCOUNT + countries: + type: array + items: + type: string + enum: + - TH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentThbAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + VndAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - VND_ACCOUNT + countries: + type: array + items: + type: string + enum: + - VN + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentVndAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + SparkWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - SPARK_WALLET + address: + type: string + description: Spark wallet address + example: spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu + PaymentSparkWalletInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/SparkWalletInfo' + - type: object + required: + - assetType + properties: + assetType: + type: string + description: Type of asset + enum: + - BTC + - USDB + invoice: + type: string + description: Invoice for the payment + example: sparkrt1pgss8ter0fhc4c220f3zftmpz49h8wqte8eg3m5zkrraplgc048jucgszg3ssqgjzqqekv73mmh842yj7drsjwh7t7tz5zt8wf5kghm5v4ehggszppjp5s80cg3qjdzc55g2567tn3lj705hdsr577tg8ah795mlnt6807y657qhkmgfkf9w75p4wz3l8vhua85zdn6ryj32zuj0p00pv2l5z4u47mw6h4s + PaymentLightningInvoiceInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - type: object + required: + - invoice + properties: + accountType: + type: string + enum: + - LIGHTNING + invoice: + type: string + description: Invoice for the payment + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + SolanaWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - SOLANA_WALLET + address: + type: string + description: Solana wallet address + example: 4Nd1m6Qkq7RfKuE5vQ9qP9Tn6H94Ueqb4xXHzsAbd8Wg + PaymentSolanaWalletInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/SolanaWalletInfo' + - type: object + properties: + assetType: + type: string + description: Type of asset + enum: + - USDC + - USDT + TronWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - TRON_WALLET + address: + type: string + description: Tron wallet address + example: TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL + PaymentTronWalletInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/TronWalletInfo' + - type: object + properties: + assetType: + type: string + description: Type of asset + enum: + - USDT + PolygonWalletInfo: + type: object + required: + - address + - accountType + properties: + accountType: + type: string + enum: + - POLYGON_WALLET + address: + type: string + description: Polygon eth wallet address + example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' + PaymentPolygonWalletInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' @@ -5118,12 +5587,21 @@ components: PaymentAccountType: type: string enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI + - USD_ACCOUNT + - BRL_ACCOUNT + - MXN_ACCOUNT + - DKK_ACCOUNT + - INR_ACCOUNT - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - MYR_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - THB_ACCOUNT + - VND_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -5131,24 +5609,41 @@ components: - POLYGON_WALLET - BASE_WALLET description: Type of payment account or wallet - example: US_ACCOUNT - ClabeAccountInfo: + example: USD_ACCOUNT + UsdAccountInfo: type: object required: - - clabeNumber - accountType + - countries + - paymentRails + - accountNumber + - routingNumber properties: accountType: type: string enum: - - CLABE - clabeNumber: + - USD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - US + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + accountNumber: type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank PaymentInstructions: type: object required: @@ -5164,16 +5659,36 @@ components: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: '#/components/schemas/PaymentClabeAccountInfo' - - title: US Bank Account - $ref: '#/components/schemas/PaymentUsAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PaymentPixAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/PaymentIbanAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/PaymentUpiAccountInfo' + - title: USD Bank Account + $ref: '#/components/schemas/PaymentUsdAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/PaymentBrlAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/PaymentMxnAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/PaymentDkkAccountInfo' + - title: INR Account + $ref: '#/components/schemas/PaymentInrAccountInfo' + - title: NGN Account + $ref: '#/components/schemas/PaymentNgnAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/PaymentCadAccountInfo' + - title: GBP Account + $ref: '#/components/schemas/PaymentGbpAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/PaymentHkdAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/PaymentIdrAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/PaymentMyrAccountInfo' + - title: PHP Account + $ref: '#/components/schemas/PaymentPhpAccountInfo' + - title: SGD Account + $ref: '#/components/schemas/PaymentSgdAccountInfo' + - title: THB Account + $ref: '#/components/schemas/PaymentThbAccountInfo' + - title: VND Account + $ref: '#/components/schemas/PaymentVndAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/PaymentSparkWalletInfo' - title: Lightning Invoice @@ -5189,11 +5704,21 @@ components: discriminator: propertyName: accountType mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' + NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' @@ -5269,16 +5794,6 @@ components: type: string description: The verified full name of the account holder as returned by the payment rail example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5289,372 +5804,750 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' - IndividualBeneficiary: + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + GbpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BusinessBeneficiary: + type: object + required: + - beneficiaryType + - legalName + properties: + beneficiaryType: + type: string + enum: + - BUSINESS + legalName: + type: string + description: The legal name of the business + registrationNumber: + type: string + description: The registration number of the business + taxId: + type: string + description: The tax identification number of the business + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + GbpExternalAccountInfo: allOf: - - $ref: '#/components/schemas/BaseBeneficiary' + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' - type: object required: - - fullName - - birthDate - - nationality - - beneficiaryType + - beneficiary properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: Individual's full name - example: John Michael Doe - birthDate: - type: string - format: date - description: Date of birth in ISO 8601 format (YYYY-MM-DD) - example: '1990-01-15' - nationality: - type: string - description: Country code (ISO 3166-1 alpha-2) - example: US - BaseBeneficiary: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GbpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GbpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpBeneficiary: type: object required: - beneficiaryType + - fullName properties: beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary address: $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - BusinessBeneficiary: + PhpExternalAccountInfo: allOf: - - $ref: '#/components/schemas/BaseBeneficiary' + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfo' - type: object required: - - legalName - - beneficiaryType + - beneficiary properties: - beneficiaryType: - type: string - enum: - - BUSINESS - legalName: - type: string - description: Legal name of the business - example: Acme Corporation, Inc. - registrationNumber: - type: string - description: Business registration number - example: BRN-123456789 - taxId: - type: string - description: Tax identification number - example: EIN-987654321 - BeneficiaryType: - type: string - enum: - - INDIVIDUAL - - BUSINESS - description: Whether the beneficiary is an individual or a business entity - example: INDIVIDUAL - BeneficiaryOneOf: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ClabeAccountExternalAccountInfo: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PhpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PhpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + SgdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/SgdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/SgdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SparkWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SparkWalletInfo' + LightningInfo: + type: object + description: | + Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. + required: + - accountType + properties: + accountType: + type: string + enum: + - LIGHTNING + invoice: + type: string + description: 1-time use lightning bolt11 invoice payout destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + bolt12: + type: string + description: A bolt12 offer which can be reused as a payment destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + lightningAddress: + type: string + description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. + example: john.doe@lightningwallet.com + LightningExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/LightningInfo' + SolanaWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletInfo' + TronWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletInfo' + PolygonWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletInfo' + BaseWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletInfo' + BrlExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PixAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + DkkExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - IbanAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/DkkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/DkkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + HkdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - UpiAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HkdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HkdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + IdrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - NgnAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IdrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IdrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + InrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' - type: object required: - - purposeOfPayment - beneficiary properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - CadAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/InrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/InrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnBeneficiary: type: object required: - - bankCode - - branchCode - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - CAD_ACCOUNT - bankCode: + - INDIVIDUAL + fullName: type: string - description: Canadian financial institution number (3 digits) - example: '001' - minLength: 3 - maxLength: 3 - pattern: ^[0-9]{3}$ - branchCode: + description: The full name of the beneficiary + birthDate: type: string - description: Transit number identifying the branch (5 digits) - example: '00012' - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ - accountNumber: + description: The birth date of the beneficiary + nationality: type: string - description: Bank account number (7-12 digits) - example: '1234567' - minLength: 7 - maxLength: 12 - pattern: ^[0-9]{7,12}$ - CadAccountExternalAccountInfo: + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MxnExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - GbpAccountInfo: + 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' + MyrBeneficiary: type: object required: - - sortCode - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - GBP_ACCOUNT - sortCode: + - INDIVIDUAL + fullName: type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: + description: The full name of the beneficiary + birthDate: type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpAccountExternalAccountInfo: + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MyrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PhpAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MyrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MyrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbBeneficiary: type: object required: - - bankName - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - PHP_ACCOUNT - bankName: + - INDIVIDUAL + fullName: type: string - description: Name of the beneficiary's bank - example: BDO Unibank - accountNumber: + description: The full name of the beneficiary + birthDate: type: string - description: Bank account number - example: '001234567890' - PhpAccountExternalAccountInfo: + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + ThbExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SgdAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ThbBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ThbBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdBeneficiary: type: object required: - - bankName - - swiftCode - - accountNumber - - accountType + - beneficiaryType + - birthDate + - fullName + - nationality properties: - accountType: + beneficiaryType: type: string enum: - - SGD_ACCOUNT - bankName: + - INDIVIDUAL + fullName: type: string - description: Name of the beneficiary's bank - example: DBS Bank Ltd - swiftCode: + description: The full name of the beneficiary + birthDate: type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DBSSSGSG - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - accountNumber: + description: The birth date of the beneficiary + nationality: type: string - description: Bank account number - example: '0123456789' - SgdAccountExternalAccountInfo: + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + UsdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SparkWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SparkWalletInfo' - LightningInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UsdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UsdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndBeneficiary: type: object - description: | - Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. required: - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - LIGHTNING - invoice: + - INDIVIDUAL + fullName: type: string - description: 1-time use lightning bolt11 invoice payout destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - bolt12: + description: The full name of the beneficiary + birthDate: type: string - description: A bolt12 offer which can be reused as a payment destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - lightningAddress: + description: The birth date of the beneficiary + nationality: type: string - description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. - example: john.doe@lightningwallet.com - LightningExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/LightningInfo' - SolanaWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SolanaWalletInfo' - TronWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/TronWalletInfo' - PolygonWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PolygonWalletInfo' - BaseWalletExternalAccountInfo: + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + VndExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BaseWalletInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/VndBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/VndBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' ExternalAccountType: type: string enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -5664,30 +6557,79 @@ components: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT description: Type of external account or wallet - example: US_ACCOUNT + example: GBP_ACCOUNT + BrlBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/BrlExternalAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/DkkExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + $ref: '#/components/schemas/GbpExternalAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/HkdExternalAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/IdrExternalAccountInfo' + - title: INR Account + $ref: '#/components/schemas/InrExternalAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/MxnExternalAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/MyrExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + $ref: '#/components/schemas/PhpExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + $ref: '#/components/schemas/SgdExternalAccountInfo' + - title: THB Account + $ref: '#/components/schemas/ThbExternalAccountInfo' + - title: USD Account + $ref: '#/components/schemas/UsdExternalAccountInfo' + - title: VND Account + $ref: '#/components/schemas/VndExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5703,16 +6645,19 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' diff --git a/openapi/components/schemas/common/BasePaymentAccountInfo.yaml b/openapi/components/schemas/common/BasePaymentAccountInfo.yaml index 0549480e..9c1adb77 100644 --- a/openapi/components/schemas/common/BasePaymentAccountInfo.yaml +++ b/openapi/components/schemas/common/BasePaymentAccountInfo.yaml @@ -7,12 +7,21 @@ properties: discriminator: propertyName: accountType mapping: - CLABE: ./PaymentClabeAccountInfo.yaml - US_ACCOUNT: ./PaymentUsAccountInfo.yaml - PIX: ./PaymentPixAccountInfo.yaml - IBAN: ./PaymentIbanAccountInfo.yaml - UPI: ./PaymentUpiAccountInfo.yaml + USD_ACCOUNT: ./PaymentUsdAccountInfo.yaml + BRL_ACCOUNT: ./PaymentBrlAccountInfo.yaml + MXN_ACCOUNT: ./PaymentMxnAccountInfo.yaml + DKK_ACCOUNT: ./PaymentDkkAccountInfo.yaml + INR_ACCOUNT: ./PaymentInrAccountInfo.yaml NGN_ACCOUNT: ./PaymentNgnAccountInfo.yaml + CAD_ACCOUNT: ./PaymentCadAccountInfo.yaml + GBP_ACCOUNT: ./PaymentGbpAccountInfo.yaml + HKD_ACCOUNT: ./PaymentHkdAccountInfo.yaml + IDR_ACCOUNT: ./PaymentIdrAccountInfo.yaml + MYR_ACCOUNT: ./PaymentMyrAccountInfo.yaml + PHP_ACCOUNT: ./PaymentPhpAccountInfo.yaml + SGD_ACCOUNT: ./PaymentSgdAccountInfo.yaml + THB_ACCOUNT: ./PaymentThbAccountInfo.yaml + VND_ACCOUNT: ./PaymentVndAccountInfo.yaml SPARK_WALLET: ./PaymentSparkWalletInfo.yaml LIGHTNING: ./PaymentLightningInvoiceInfo.yaml SOLANA_WALLET: ./PaymentSolanaWalletInfo.yaml diff --git a/openapi/components/schemas/common/BrlAccountInfo.yaml b/openapi/components/schemas/common/BrlAccountInfo.yaml new file mode 100644 index 00000000..0b81154a --- /dev/null +++ b/openapi/components/schemas/common/BrlAccountInfo.yaml @@ -0,0 +1,34 @@ +type: object +required: +- accountType +- countries +- paymentRails +- pixKey +- pixKeyType +- taxId +properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + countries: + type: array + items: + type: string + enum: + - BR + paymentRails: + type: array + items: + type: string + enum: + - PIX + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account diff --git a/openapi/components/schemas/common/BrlBeneficiary.yaml b/openapi/components/schemas/common/BrlBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/BrlBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/BusinessBeneficiary.yaml b/openapi/components/schemas/common/BusinessBeneficiary.yaml new file mode 100644 index 00000000..901d8f85 --- /dev/null +++ b/openapi/components/schemas/common/BusinessBeneficiary.yaml @@ -0,0 +1,29 @@ +type: object +required: +- beneficiaryType +- legalName +properties: + beneficiaryType: + type: string + enum: + - BUSINESS + legalName: + type: string + description: The legal name of the business + registrationNumber: + type: string + description: The registration number of the business + taxId: + type: string + description: The tax identification number of the business + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/CadAccountInfo.yaml b/openapi/components/schemas/common/CadAccountInfo.yaml index 5504fe99..d64ecd24 100644 --- a/openapi/components/schemas/common/CadAccountInfo.yaml +++ b/openapi/components/schemas/common/CadAccountInfo.yaml @@ -1,14 +1,28 @@ type: object required: + - accountType + - countries + - paymentRails - bankCode - branchCode - accountNumber - - accountType properties: accountType: type: string enum: - CAD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - CA + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankCode: type: string description: Canadian financial institution number (3 digits) diff --git a/openapi/components/schemas/common/ClabeAccountInfo.yaml b/openapi/components/schemas/common/ClabeAccountInfo.yaml deleted file mode 100644 index 6f70a2f4..00000000 --- a/openapi/components/schemas/common/ClabeAccountInfo.yaml +++ /dev/null @@ -1,16 +0,0 @@ -type: object -required: - - clabeNumber - - accountType -properties: - accountType: - type: string - enum: - - CLABE - clabeNumber: - type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ diff --git a/openapi/components/schemas/common/DkkAccountInfo.yaml b/openapi/components/schemas/common/DkkAccountInfo.yaml new file mode 100644 index 00000000..5555d2b6 --- /dev/null +++ b/openapi/components/schemas/common/DkkAccountInfo.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- countries +- paymentRails +- iban +properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + countries: + type: array + items: + type: string + enum: + - DK + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank diff --git a/openapi/components/schemas/common/DkkBeneficiary.yaml b/openapi/components/schemas/common/DkkBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/DkkBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/GbpAccountInfo.yaml b/openapi/components/schemas/common/GbpAccountInfo.yaml index 68a9a163..2624ed6a 100644 --- a/openapi/components/schemas/common/GbpAccountInfo.yaml +++ b/openapi/components/schemas/common/GbpAccountInfo.yaml @@ -1,13 +1,27 @@ type: object required: - - sortCode - - accountNumber - - accountType +- accountType +- countries +- paymentRails +- sortCode +- accountNumber properties: accountType: type: string enum: - - GBP_ACCOUNT + - GBP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - GB + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS sortCode: type: string description: UK bank sort code (6 digits, may include hyphens) diff --git a/openapi/components/schemas/common/GbpBeneficiary.yaml b/openapi/components/schemas/common/GbpBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/GbpBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/HkdAccountInfo.yaml b/openapi/components/schemas/common/HkdAccountInfo.yaml new file mode 100644 index 00000000..bc312f82 --- /dev/null +++ b/openapi/components/schemas/common/HkdAccountInfo.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- countries +- paymentRails +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - HK + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/HkdBeneficiary.yaml b/openapi/components/schemas/common/HkdBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/HkdBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/IbanAccountInfo.yaml b/openapi/components/schemas/common/IbanAccountInfo.yaml deleted file mode 100644 index 51a2c9d6..00000000 --- a/openapi/components/schemas/common/IbanAccountInfo.yaml +++ /dev/null @@ -1,23 +0,0 @@ -type: object -required: - - iban - - swiftBic - - accountType -properties: - accountType: - type: string - enum: - - IBAN - iban: - type: string - description: International Bank Account Number - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - swiftBic: - type: string - description: SWIFT/BIC code (8 or 11 characters) - 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/IdrAccountInfo.yaml b/openapi/components/schemas/common/IdrAccountInfo.yaml new file mode 100644 index 00000000..a21b46fd --- /dev/null +++ b/openapi/components/schemas/common/IdrAccountInfo.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- countries +- paymentRails +- sortCode +- accountNumber +properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - ID + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/IdrBeneficiary.yaml b/openapi/components/schemas/common/IdrBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/IdrBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/InrAccountInfo.yaml b/openapi/components/schemas/common/InrAccountInfo.yaml new file mode 100644 index 00000000..bece63e9 --- /dev/null +++ b/openapi/components/schemas/common/InrAccountInfo.yaml @@ -0,0 +1,27 @@ +type: object +required: +- accountType +- countries +- paymentRails +- vpa +properties: + accountType: + type: string + enum: + - INR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - IN + paymentRails: + type: array + items: + type: string + enum: + - UPI + - IMPS + vpa: + type: string + description: The VPA of the bank diff --git a/openapi/components/schemas/common/InrBeneficiary.yaml b/openapi/components/schemas/common/InrBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/InrBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/MxnAccountInfo.yaml b/openapi/components/schemas/common/MxnAccountInfo.yaml new file mode 100644 index 00000000..4398d06d --- /dev/null +++ b/openapi/components/schemas/common/MxnAccountInfo.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- countries +- paymentRails +- clabeNumber +properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MX + 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/MxnBeneficiary.yaml b/openapi/components/schemas/common/MxnBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/MxnBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/MyrAccountInfo.yaml b/openapi/components/schemas/common/MyrAccountInfo.yaml new file mode 100644 index 00000000..9fc45627 --- /dev/null +++ b/openapi/components/schemas/common/MyrAccountInfo.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- countries +- paymentRails +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MY + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/MyrBeneficiary.yaml b/openapi/components/schemas/common/MyrBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/MyrBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/NgnAccountInfo.yaml b/openapi/components/schemas/common/NgnAccountInfo.yaml index cd9eb309..9d15c172 100644 --- a/openapi/components/schemas/common/NgnAccountInfo.yaml +++ b/openapi/components/schemas/common/NgnAccountInfo.yaml @@ -1,13 +1,27 @@ type: object required: + - accountType + - countries + - paymentRails - accountNumber - bankName - - accountType properties: accountType: type: string enum: - NGN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - NG + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number diff --git a/openapi/components/schemas/common/PaymentAccountType.yaml b/openapi/components/schemas/common/PaymentAccountType.yaml index 1b5f6af5..4377774e 100644 --- a/openapi/components/schemas/common/PaymentAccountType.yaml +++ b/openapi/components/schemas/common/PaymentAccountType.yaml @@ -1,11 +1,20 @@ type: string enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI + - USD_ACCOUNT + - BRL_ACCOUNT + - MXN_ACCOUNT + - DKK_ACCOUNT + - INR_ACCOUNT - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - MYR_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - THB_ACCOUNT + - VND_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -13,4 +22,4 @@ enum: - POLYGON_WALLET - BASE_WALLET description: Type of payment account or wallet -example: US_ACCOUNT +example: USD_ACCOUNT diff --git a/openapi/components/schemas/common/PaymentPixAccountInfo.yaml b/openapi/components/schemas/common/PaymentBrlAccountInfo.yaml similarity index 59% rename from openapi/components/schemas/common/PaymentPixAccountInfo.yaml rename to openapi/components/schemas/common/PaymentBrlAccountInfo.yaml index f8e0b0bc..96cfe5f2 100644 --- a/openapi/components/schemas/common/PaymentPixAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentBrlAccountInfo.yaml @@ -1,3 +1,3 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./PixAccountInfo.yaml + - $ref: ./BrlAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentUsAccountInfo.yaml b/openapi/components/schemas/common/PaymentCadAccountInfo.yaml similarity index 90% rename from openapi/components/schemas/common/PaymentUsAccountInfo.yaml rename to openapi/components/schemas/common/PaymentCadAccountInfo.yaml index 526d5d06..c8c8fda1 100644 --- a/openapi/components/schemas/common/PaymentUsAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentCadAccountInfo.yaml @@ -1,6 +1,6 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./UsAccountInfo.yaml + - $ref: ./CadAccountInfo.yaml - type: object required: - reference diff --git a/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml b/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml similarity index 90% rename from openapi/components/schemas/common/PaymentIbanAccountInfo.yaml rename to openapi/components/schemas/common/PaymentDkkAccountInfo.yaml index d5c67fb1..83f48626 100644 --- a/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml @@ -1,6 +1,6 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./IbanAccountInfo.yaml + - $ref: ./DkkAccountInfo.yaml - type: object required: - reference diff --git a/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml b/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml similarity index 90% rename from openapi/components/schemas/common/PaymentClabeAccountInfo.yaml rename to openapi/components/schemas/common/PaymentGbpAccountInfo.yaml index 29f6d4a2..883c3b27 100644 --- a/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml @@ -1,6 +1,6 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./ClabeAccountInfo.yaml + - $ref: ./GbpAccountInfo.yaml - type: object required: - reference diff --git a/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml b/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml new file mode 100644 index 00000000..077fa3e2 --- /dev/null +++ b/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./HkdAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml b/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml new file mode 100644 index 00000000..a7413a99 --- /dev/null +++ b/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./IdrAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml b/openapi/components/schemas/common/PaymentInrAccountInfo.yaml similarity index 59% rename from openapi/components/schemas/common/PaymentUpiAccountInfo.yaml rename to openapi/components/schemas/common/PaymentInrAccountInfo.yaml index af4b9900..084e54bc 100644 --- a/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentInrAccountInfo.yaml @@ -1,3 +1,3 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./UpiAccountInfo.yaml + - $ref: ./InrAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentInstructions.yaml b/openapi/components/schemas/common/PaymentInstructions.yaml index 313d0cb1..a8d294f7 100644 --- a/openapi/components/schemas/common/PaymentInstructions.yaml +++ b/openapi/components/schemas/common/PaymentInstructions.yaml @@ -14,16 +14,36 @@ properties: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: ../common/PaymentClabeAccountInfo.yaml - - title: US Bank Account - $ref: ../common/PaymentUsAccountInfo.yaml - - title: PIX Account - $ref: ../common/PaymentPixAccountInfo.yaml - - title: IBAN Account - $ref: ../common/PaymentIbanAccountInfo.yaml - - title: UPI Account - $ref: ../common/PaymentUpiAccountInfo.yaml + - title: USD Bank Account + $ref: ../common/PaymentUsdAccountInfo.yaml + - title: BRL Account + $ref: ../common/PaymentBrlAccountInfo.yaml + - title: MXN Account + $ref: ../common/PaymentMxnAccountInfo.yaml + - title: DKK Account + $ref: ../common/PaymentDkkAccountInfo.yaml + - title: INR Account + $ref: ../common/PaymentInrAccountInfo.yaml + - title: NGN Account + $ref: ../common/PaymentNgnAccountInfo.yaml + - title: CAD Account + $ref: ../common/PaymentCadAccountInfo.yaml + - title: GBP Account + $ref: ../common/PaymentGbpAccountInfo.yaml + - title: HKD Account + $ref: ../common/PaymentHkdAccountInfo.yaml + - title: IDR Account + $ref: ../common/PaymentIdrAccountInfo.yaml + - title: MYR Account + $ref: ../common/PaymentMyrAccountInfo.yaml + - title: PHP Account + $ref: ../common/PaymentPhpAccountInfo.yaml + - title: SGD Account + $ref: ../common/PaymentSgdAccountInfo.yaml + - title: THB Account + $ref: ../common/PaymentThbAccountInfo.yaml + - title: VND Account + $ref: ../common/PaymentVndAccountInfo.yaml - title: Spark Wallet $ref: ../common/PaymentSparkWalletInfo.yaml - title: Lightning Invoice @@ -39,11 +59,21 @@ properties: discriminator: propertyName: accountType mapping: - CLABE: ../common/PaymentClabeAccountInfo.yaml - US_ACCOUNT: ../common/PaymentUsAccountInfo.yaml - PIX: ../common/PaymentPixAccountInfo.yaml - IBAN: ../common/PaymentIbanAccountInfo.yaml - UPI: ../common/PaymentUpiAccountInfo.yaml + USD_ACCOUNT: ../common/PaymentUsdAccountInfo.yaml + BRL_ACCOUNT: ../common/PaymentBrlAccountInfo.yaml + MXN_ACCOUNT: ../common/PaymentMxnAccountInfo.yaml + DKK_ACCOUNT: ../common/PaymentDkkAccountInfo.yaml + INR_ACCOUNT: ../common/PaymentInrAccountInfo.yaml + NGN_ACCOUNT: ../common/PaymentNgnAccountInfo.yaml + CAD_ACCOUNT: ../common/PaymentCadAccountInfo.yaml + GBP_ACCOUNT: ../common/PaymentGbpAccountInfo.yaml + HKD_ACCOUNT: ../common/PaymentHkdAccountInfo.yaml + IDR_ACCOUNT: ../common/PaymentIdrAccountInfo.yaml + MYR_ACCOUNT: ../common/PaymentMyrAccountInfo.yaml + PHP_ACCOUNT: ../common/PaymentPhpAccountInfo.yaml + SGD_ACCOUNT: ../common/PaymentSgdAccountInfo.yaml + THB_ACCOUNT: ../common/PaymentThbAccountInfo.yaml + VND_ACCOUNT: ../common/PaymentVndAccountInfo.yaml SPARK_WALLET: ../common/PaymentSparkWalletInfo.yaml LIGHTNING: ../common/PaymentLightningInvoiceInfo.yaml SOLANA_WALLET: ../common/PaymentSolanaWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml b/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml new file mode 100644 index 00000000..f24e22bb --- /dev/null +++ b/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./MxnAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml b/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml new file mode 100644 index 00000000..294d7a69 --- /dev/null +++ b/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./MyrAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml b/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml new file mode 100644 index 00000000..89638673 --- /dev/null +++ b/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./PhpAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml b/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml new file mode 100644 index 00000000..dd47c842 --- /dev/null +++ b/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./SgdAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentThbAccountInfo.yaml b/openapi/components/schemas/common/PaymentThbAccountInfo.yaml new file mode 100644 index 00000000..23131b6f --- /dev/null +++ b/openapi/components/schemas/common/PaymentThbAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./ThbAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml b/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml new file mode 100644 index 00000000..097a79e2 --- /dev/null +++ b/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./UsdAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentVndAccountInfo.yaml b/openapi/components/schemas/common/PaymentVndAccountInfo.yaml new file mode 100644 index 00000000..89c58845 --- /dev/null +++ b/openapi/components/schemas/common/PaymentVndAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./VndAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PhpAccountInfo.yaml b/openapi/components/schemas/common/PhpAccountInfo.yaml index 9b01eda6..8f1a74a7 100644 --- a/openapi/components/schemas/common/PhpAccountInfo.yaml +++ b/openapi/components/schemas/common/PhpAccountInfo.yaml @@ -1,13 +1,27 @@ type: object required: - - bankName - - accountNumber - - accountType +- accountType +- countries +- paymentRails +- bankName +- accountNumber properties: accountType: type: string enum: - - PHP_ACCOUNT + - PHP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - PH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank diff --git a/openapi/components/schemas/common/PhpBeneficiary.yaml b/openapi/components/schemas/common/PhpBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/PhpBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/PixAccountInfo.yaml b/openapi/components/schemas/common/PixAccountInfo.yaml deleted file mode 100644 index fb37639a..00000000 --- a/openapi/components/schemas/common/PixAccountInfo.yaml +++ /dev/null @@ -1,29 +0,0 @@ -type: object -required: - - pixKey - - pixKeyType - - taxId - - accountType -properties: - accountType: - type: string - enum: - - PIX - pixKey: - type: string - description: PIX key for Brazilian instant payments - example: '55119876543210' - pixKeyType: - type: string - enum: - - CPF - - CNPJ - - EMAIL - - PHONE - - RANDOM - description: Type of PIX key being used - example: PHONE - taxId: - type: string - description: Tax ID of the account holder - example: '1234567890' diff --git a/openapi/components/schemas/common/SgdAccountInfo.yaml b/openapi/components/schemas/common/SgdAccountInfo.yaml index 1821b632..6923a923 100644 --- a/openapi/components/schemas/common/SgdAccountInfo.yaml +++ b/openapi/components/schemas/common/SgdAccountInfo.yaml @@ -1,14 +1,30 @@ type: object required: - - bankName - - swiftCode - - accountNumber - - accountType +- accountType +- countries +- paymentRails +- bankName +- swiftCode +- accountNumber properties: accountType: type: string enum: - - SGD_ACCOUNT + - SGD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - SG + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank diff --git a/openapi/components/schemas/common/SgdBeneficiary.yaml b/openapi/components/schemas/common/SgdBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/SgdBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/ThbAccountInfo.yaml b/openapi/components/schemas/common/ThbAccountInfo.yaml new file mode 100644 index 00000000..307ac918 --- /dev/null +++ b/openapi/components/schemas/common/ThbAccountInfo.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- countries +- paymentRails +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - THB_ACCOUNT + countries: + type: array + items: + type: string + enum: + - TH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/ThbBeneficiary.yaml b/openapi/components/schemas/common/ThbBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/ThbBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/UpiAccountInfo.yaml b/openapi/components/schemas/common/UpiAccountInfo.yaml deleted file mode 100644 index dc579b61..00000000 --- a/openapi/components/schemas/common/UpiAccountInfo.yaml +++ /dev/null @@ -1,13 +0,0 @@ -type: object -required: - - vpa - - accountType -properties: - accountType: - type: string - enum: - - UPI - vpa: - type: string - description: Virtual Payment Address for UPI payments - example: somecustomers@okbank diff --git a/openapi/components/schemas/common/UsAccountInfo.yaml b/openapi/components/schemas/common/UsAccountInfo.yaml deleted file mode 100644 index e5673516..00000000 --- a/openapi/components/schemas/common/UsAccountInfo.yaml +++ /dev/null @@ -1,33 +0,0 @@ -type: object -required: - - accountNumber - - routingNumber - - accountCategory - - accountType -properties: - accountType: - type: string - enum: - - US_ACCOUNT - accountNumber: - type: string - description: US bank account number - example: '123456789' - routingNumber: - type: string - description: ACH routing number (9 digits) - example: '987654321' - minLength: 9 - maxLength: 9 - pattern: ^[0-9]{9}$ - accountCategory: - type: string - enum: - - CHECKING - - SAVINGS - description: Type of account (checking or savings) - example: CHECKING - bankName: - type: string - description: Name of the bank - example: Chase Bank diff --git a/openapi/components/schemas/common/UsdAccountInfo.yaml b/openapi/components/schemas/common/UsdAccountInfo.yaml new file mode 100644 index 00000000..b6638bec --- /dev/null +++ b/openapi/components/schemas/common/UsdAccountInfo.yaml @@ -0,0 +1,33 @@ +type: object +required: +- accountType +- countries +- paymentRails +- accountNumber +- routingNumber +properties: + accountType: + type: string + enum: + - USD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - US + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + accountNumber: + type: string + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank diff --git a/openapi/components/schemas/common/UsdBeneficiary.yaml b/openapi/components/schemas/common/UsdBeneficiary.yaml new file mode 100644 index 00000000..68882d7e --- /dev/null +++ b/openapi/components/schemas/common/UsdBeneficiary.yaml @@ -0,0 +1,34 @@ +type: object +required: +- beneficiaryType +- birthDate +- fullName +- nationality +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/VndAccountInfo.yaml b/openapi/components/schemas/common/VndAccountInfo.yaml new file mode 100644 index 00000000..4901b33d --- /dev/null +++ b/openapi/components/schemas/common/VndAccountInfo.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- countries +- paymentRails +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - VND_ACCOUNT + countries: + type: array + items: + type: string + enum: + - VN + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/VndBeneficiary.yaml b/openapi/components/schemas/common/VndBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/VndBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml b/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml index 27bd7e85..7e37692a 100644 --- a/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml +++ b/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml @@ -10,4 +10,4 @@ discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ./IndividualBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml index ea40286e..cc967a8c 100644 --- a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml @@ -7,19 +7,22 @@ properties: discriminator: propertyName: accountType mapping: - US_ACCOUNT: ./UsAccountExternalAccountInfo.yaml - CLABE: ./ClabeAccountExternalAccountInfo.yaml - PIX: ./PixAccountExternalAccountInfo.yaml - IBAN: ./IbanAccountExternalAccountInfo.yaml - UPI: ./UpiAccountExternalAccountInfo.yaml - NGN_ACCOUNT: ./NgnAccountExternalAccountInfo.yaml - CAD_ACCOUNT: ./CadAccountExternalAccountInfo.yaml - GBP_ACCOUNT: ./GbpAccountExternalAccountInfo.yaml - PHP_ACCOUNT: ./PhpAccountExternalAccountInfo.yaml - SGD_ACCOUNT: ./SgdAccountExternalAccountInfo.yaml + GBP_ACCOUNT: ./GbpExternalAccountInfo.yaml + PHP_ACCOUNT: ./PhpExternalAccountInfo.yaml + SGD_ACCOUNT: ./SgdExternalAccountInfo.yaml SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml LIGHTNING: ./LightningExternalAccountInfo.yaml SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml TRON_WALLET: ./TronWalletExternalAccountInfo.yaml POLYGON_WALLET: ./PolygonWalletExternalAccountInfo.yaml BASE_WALLET: ./BaseWalletExternalAccountInfo.yaml + BRL_ACCOUNT: ./BrlExternalAccountInfo.yaml + DKK_ACCOUNT: ./DkkExternalAccountInfo.yaml + HKD_ACCOUNT: ./HkdExternalAccountInfo.yaml + IDR_ACCOUNT: ./IdrExternalAccountInfo.yaml + INR_ACCOUNT: ./InrExternalAccountInfo.yaml + MXN_ACCOUNT: ./MxnExternalAccountInfo.yaml + MYR_ACCOUNT: ./MyrExternalAccountInfo.yaml + THB_ACCOUNT: ./ThbExternalAccountInfo.yaml + USD_ACCOUNT: ./UsdExternalAccountInfo.yaml + VND_ACCOUNT: ./VndExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml b/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml index f7c7e1e5..7620a6a8 100644 --- a/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml +++ b/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml @@ -2,9 +2,9 @@ oneOf: - title: Individual Beneficiary $ref: ./IndividualBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ./IndividualBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml new file mode 100644 index 00000000..ba4f3ba4 --- /dev/null +++ b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/BrlAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/BrlBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/BrlBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml b/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml deleted file mode 100644 index bb6ae236..00000000 --- a/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml +++ /dev/null @@ -1,23 +0,0 @@ -allOf: - - $ref: ./BaseBeneficiary.yaml - - type: object - required: - - legalName - - beneficiaryType - properties: - beneficiaryType: - type: string - enum: - - BUSINESS - legalName: - type: string - description: Legal name of the business - example: Acme Corporation, Inc. - registrationNumber: - type: string - description: Business registration number - example: BRN-123456789 - taxId: - type: string - description: Tax identification number - example: EIN-987654321 diff --git a/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml deleted file mode 100644 index 055b788c..00000000 --- a/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/CadAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml deleted file mode 100644 index e422f992..00000000 --- a/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/ClabeAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml new file mode 100644 index 00000000..9d6f0e79 --- /dev/null +++ b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/DkkAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/DkkBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/DkkBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml b/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml index 3833c6b3..b6030a15 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml @@ -1,49 +1,58 @@ oneOf: - - title: US Account - $ref: ./UsAccountExternalAccountInfo.yaml - - title: CLABE Account - $ref: ./ClabeAccountExternalAccountInfo.yaml - - title: PIX Account - $ref: ./PixAccountExternalAccountInfo.yaml - - title: IBAN Account - $ref: ./IbanAccountExternalAccountInfo.yaml - - title: UPI Account - $ref: ./UpiAccountExternalAccountInfo.yaml - - title: NGN Account - $ref: ./NgnAccountExternalAccountInfo.yaml - - title: CAD Account - $ref: ./CadAccountExternalAccountInfo.yaml - - title: GBP Account - $ref: ./GbpAccountExternalAccountInfo.yaml - - title: PHP Account - $ref: ./PhpAccountExternalAccountInfo.yaml - - title: SGD Account - $ref: ./SgdAccountExternalAccountInfo.yaml - - title: Spark Wallet - $ref: ./SparkWalletExternalAccountInfo.yaml - - title: Lightning - $ref: ./LightningExternalAccountInfo.yaml - - title: Solana Wallet - $ref: ./SolanaWalletExternalAccountInfo.yaml - - title: Tron Wallet - $ref: ./TronWalletExternalAccountInfo.yaml - - title: Polygon Wallet - $ref: ./PolygonWalletExternalAccountInfo.yaml - - title: Base Wallet - $ref: ./BaseWalletExternalAccountInfo.yaml +- title: BRL Account + $ref: ./BrlExternalAccountInfo.yaml +- title: DKK Account + $ref: ./DkkExternalAccountInfo.yaml +- title: GBP Account + $ref: ./GbpExternalAccountInfo.yaml +- title: HKD Account + $ref: ./HkdExternalAccountInfo.yaml +- title: IDR Account + $ref: ./IdrExternalAccountInfo.yaml +- title: INR Account + $ref: ./InrExternalAccountInfo.yaml +- title: MXN Account + $ref: ./MxnExternalAccountInfo.yaml +- title: MYR Account + $ref: ./MyrExternalAccountInfo.yaml +- title: PHP Account + $ref: ./PhpExternalAccountInfo.yaml +- title: SGD Account + $ref: ./SgdExternalAccountInfo.yaml +- title: THB Account + $ref: ./ThbExternalAccountInfo.yaml +- title: USD Account + $ref: ./UsdExternalAccountInfo.yaml +- title: VND Account + $ref: ./VndExternalAccountInfo.yaml +- title: Spark Wallet + $ref: ./SparkWalletExternalAccountInfo.yaml +- title: Lightning + $ref: ./LightningExternalAccountInfo.yaml +- title: Solana Wallet + $ref: ./SolanaWalletExternalAccountInfo.yaml +- title: Tron Wallet + $ref: ./TronWalletExternalAccountInfo.yaml +- title: Polygon Wallet + $ref: ./PolygonWalletExternalAccountInfo.yaml +- title: Base Wallet + $ref: ./BaseWalletExternalAccountInfo.yaml discriminator: propertyName: accountType mapping: - US_ACCOUNT: ./UsAccountExternalAccountInfo.yaml - CLABE: ./ClabeAccountExternalAccountInfo.yaml - PIX: ./PixAccountExternalAccountInfo.yaml - IBAN: ./IbanAccountExternalAccountInfo.yaml - UPI: ./UpiAccountExternalAccountInfo.yaml - NGN_ACCOUNT: ./NgnAccountExternalAccountInfo.yaml - CAD_ACCOUNT: ./CadAccountExternalAccountInfo.yaml - GBP_ACCOUNT: ./GbpAccountExternalAccountInfo.yaml - PHP_ACCOUNT: ./PhpAccountExternalAccountInfo.yaml - SGD_ACCOUNT: ./SgdAccountExternalAccountInfo.yaml + BRL_ACCOUNT: ./BrlExternalAccountInfo.yaml + DKK_ACCOUNT: ./DkkExternalAccountInfo.yaml + GBP_ACCOUNT: ./GbpExternalAccountInfo.yaml + HKD_ACCOUNT: ./HkdExternalAccountInfo.yaml + IDR_ACCOUNT: ./IdrExternalAccountInfo.yaml + INR_ACCOUNT: ./InrExternalAccountInfo.yaml + MXN_ACCOUNT: ./MxnExternalAccountInfo.yaml + MYR_ACCOUNT: ./MyrExternalAccountInfo.yaml + PHP_ACCOUNT: ./PhpExternalAccountInfo.yaml + SGD_ACCOUNT: ./SgdExternalAccountInfo.yaml + THB_ACCOUNT: ./ThbExternalAccountInfo.yaml + USD_ACCOUNT: ./UsdExternalAccountInfo.yaml + VND_ACCOUNT: ./VndExternalAccountInfo.yaml SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml LIGHTNING: ./LightningExternalAccountInfo.yaml SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountType.yaml b/openapi/components/schemas/external_accounts/ExternalAccountType.yaml index 66c8d8b3..be9f55ab 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountType.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountType.yaml @@ -1,12 +1,5 @@ type: string enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -16,5 +9,15 @@ enum: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT description: Type of external account or wallet -example: US_ACCOUNT +example: GBP_ACCOUNT diff --git a/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml deleted file mode 100644 index d9d01c90..00000000 --- a/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/GbpAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml new file mode 100644 index 00000000..000ffee0 --- /dev/null +++ b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/GbpAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/GbpBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/GbpBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml new file mode 100644 index 00000000..ba02b912 --- /dev/null +++ b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/HkdAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/HkdBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/HkdBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml deleted file mode 100644 index 085cdbc8..00000000 --- a/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/IbanAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml new file mode 100644 index 00000000..e4437b38 --- /dev/null +++ b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/IdrAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/IdrBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/IdrBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml new file mode 100644 index 00000000..c31c94cf --- /dev/null +++ b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/InrAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/InrBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/InrBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml new file mode 100644 index 00000000..3bb82b0f --- /dev/null +++ b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/MxnAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/MxnBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/MxnBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml new file mode 100644 index 00000000..d364bde3 --- /dev/null +++ b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/MyrAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/MyrBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/MyrBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml deleted file mode 100644 index 959e1bfd..00000000 --- a/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,27 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/NgnAccountInfo.yaml - - type: object - required: - - purposeOfPayment - - beneficiary - properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml deleted file mode 100644 index d69becbe..00000000 --- a/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/PhpAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml new file mode 100644 index 00000000..6226f5f5 --- /dev/null +++ b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/PhpAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/PhpBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/PhpBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml deleted file mode 100644 index f492c457..00000000 --- a/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/PixAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml deleted file mode 100644 index 7e4cca1e..00000000 --- a/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/SgdAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml new file mode 100644 index 00000000..c12c56b3 --- /dev/null +++ b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/SgdAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/SgdBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/SgdBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml new file mode 100644 index 00000000..4d148997 --- /dev/null +++ b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/ThbAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/ThbBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/ThbBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml deleted file mode 100644 index e7675259..00000000 --- a/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/UpiAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml deleted file mode 100644 index 6fa6a96e..00000000 --- a/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/UsAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml new file mode 100644 index 00000000..d595cdcb --- /dev/null +++ b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/UsdAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/UsdBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/UsdBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml new file mode 100644 index 00000000..72bc949e --- /dev/null +++ b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/VndAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/VndBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/VndBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml