diff --git a/packages/bitcore-wallet-service/src/types/externalservices.d.ts b/packages/bitcore-wallet-service/src/types/externalservices.d.ts index 46a2b10578a..e73a12add87 100644 --- a/packages/bitcore-wallet-service/src/types/externalservices.d.ts +++ b/packages/bitcore-wallet-service/src/types/externalservices.d.ts @@ -3,13 +3,17 @@ interface ExchangeConfig { removed?: boolean; disabledTitle?: string; disabledMessage?: string; - config?: any; + config?: { + paymentMethods?: PaymentMethodsConfig; + [key: string]: any; // Other partner-specific configuration properties can be added here + }; } export interface BuyCryptoConfig { disabled?: boolean; disabledTitle?: string; disabledMessage?: string; + paymentMethods?: PaymentMethodsConfig; banxa?: ExchangeConfig; moonpay?: ExchangeConfig; ramp?: ExchangeConfig; @@ -23,6 +27,7 @@ export interface SellCryptoConfig { disabled?: boolean; disabledTitle?: string; disabledMessage?: string; + paymentMethods?: PaymentMethodsConfig; moonpay?: ExchangeConfig; } @@ -34,6 +39,29 @@ export interface SwapCryptoConfig { thorswap?: ExchangeConfig; } +export type PaymentMethodKey = + | 'ach' + | 'applePay' + | 'cashApp' + | 'creditCard' + | 'debitCard' + | 'googlePay' + | 'sepaBankTransfer' + | 'gbpBankTransfer' + | 'other' + | 'paypal' + | 'pisp' + | 'pix' + | 'venmo'; + +export interface PaymentMethodConfig { + disabled?: boolean; +} + +export type PaymentMethodsConfig = { + [key in PaymentMethodKey]?: PaymentMethodConfig; +}; + export interface ExternalServicesConfig { buyCrypto?: BuyCryptoConfig; sellCrypto?: SellCryptoConfig;