import { Injectable, Logger } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; @Injectable() export class BinanceProvider { private readonly logger = new Logger(BinanceProvider.name); constructor(private configService: ConfigService) {} /** * Mock Binance Pay Order Creation * Will lead to a success/fail redirect for testing */ async createOrder(tenantId: string, amount: number, plan: string) { this.logger.log(`[Mock] Creating Binance Pay order for ${tenantId} - ${plan}`); // In production, this calls https://bpay.binanceapi.com/binancepay/openapi/v2/order // and returns a checkoutUrl. return { checkoutUrl: `https://map-dashbord.intaleqapp.com/api/billing/mock-binance-success?tenantId=${tenantId}&plan=${plan}`, prepayId: `mock_${Date.now()}` }; } /** * Mock Webhook Signature Verification */ verifySignature(payload: any, signature: string): boolean { // In production, uses HMAC-SHA512 with Binance Secret Key return true; } }