diff --git a/src/subdomains/core/buy-crypto/routes/buy/buy.controller.ts b/src/subdomains/core/buy-crypto/routes/buy/buy.controller.ts index f48058be40..599d1e8afa 100644 --- a/src/subdomains/core/buy-crypto/routes/buy/buy.controller.ts +++ b/src/subdomains/core/buy-crypto/routes/buy/buy.controller.ts @@ -178,6 +178,7 @@ export class BuyController { buy, buy.asset, user.wallet, + true, ); if (!Config.invoice.currencies.includes(currency.name)) { diff --git a/src/subdomains/core/buy-crypto/routes/buy/buy.service.ts b/src/subdomains/core/buy-crypto/routes/buy/buy.service.ts index ead87290f8..ac3cd4d617 100644 --- a/src/subdomains/core/buy-crypto/routes/buy/buy.service.ts +++ b/src/subdomains/core/buy-crypto/routes/buy/buy.service.ts @@ -355,6 +355,7 @@ export class BuyService { buy?: Buy, asset?: Asset, wallet?: Wallet, + forInvoice?: boolean, ): Promise { // asset-specific personal IBAN if ( @@ -390,8 +391,8 @@ export class BuyService { return this.buildVirtualIbanResponse(virtualIban, selector.userData, buy?.bankUsage); } - // EUR: vIBAN is mandatory - if (selector.currency === 'EUR') { + // EUR: vIBAN is mandatory (except for invoice generation) + if (selector.currency === 'EUR' && !forInvoice) { throw new BadRequestException('KycRequired'); } diff --git a/src/subdomains/core/history/controllers/transaction.controller.ts b/src/subdomains/core/history/controllers/transaction.controller.ts index 5e0eecb5f8..1c677ad7ad 100644 --- a/src/subdomains/core/history/controllers/transaction.controller.ts +++ b/src/subdomains/core/history/controllers/transaction.controller.ts @@ -467,6 +467,7 @@ export class TransactionController { buy, buy?.asset, buy?.user?.wallet, + true, ); return { diff --git a/src/subdomains/supporting/payment/services/transaction-helper.ts b/src/subdomains/supporting/payment/services/transaction-helper.ts index eb2de7212e..04273b6d90 100644 --- a/src/subdomains/supporting/payment/services/transaction-helper.ts +++ b/src/subdomains/supporting/payment/services/transaction-helper.ts @@ -540,6 +540,7 @@ export class TransactionHelper implements OnModuleInit { buy, buy?.asset, buy?.user?.wallet, + true, )); return { @@ -601,6 +602,7 @@ export class TransactionHelper implements OnModuleInit { buy, buy?.asset, buy?.user?.wallet, + true, ); return {