rebill-web-components-sdk 1.10.11 → 1.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/index-C-VTnc0I.js.map +1 -1
  2. package/dist/cjs/{payment-error-mapper-DMma7xTr.js → payment-error-mapper-BBaiDgUx.js} +4 -2
  3. package/dist/cjs/payment-error-mapper-BBaiDgUx.js.map +1 -0
  4. package/dist/cjs/rebill-checkout.cjs.entry.js +1 -1
  5. package/dist/cjs/rebill-renewal.cjs.entry.js +18 -10
  6. package/dist/cjs/rebill-renewal.entry.cjs.js.map +1 -1
  7. package/dist/collection/components/renewal/rebill-renewal.js +17 -9
  8. package/dist/collection/components/renewal/rebill-renewal.js.map +1 -1
  9. package/dist/collection/models/enums/payment-status.enum.js +1 -0
  10. package/dist/collection/models/enums/payment-status.enum.js.map +1 -1
  11. package/dist/collection/utils/payment-error-mapper.js +1 -0
  12. package/dist/collection/utils/payment-error-mapper.js.map +1 -1
  13. package/dist/components/p-8BpuJ_V5.js.map +1 -1
  14. package/dist/components/{p-tTo6r99B.js → p-Dkw3idq6.js} +4 -2
  15. package/dist/components/p-Dkw3idq6.js.map +1 -0
  16. package/dist/components/rebill-checkout.js +1 -1
  17. package/dist/components/rebill-renewal.js +18 -10
  18. package/dist/components/rebill-renewal.js.map +1 -1
  19. package/dist/esm/index-BTZ7D7jU.js.map +1 -1
  20. package/dist/esm/{payment-error-mapper-CtMCCzwd.js → payment-error-mapper-lsQ45Ggo.js} +4 -2
  21. package/dist/esm/payment-error-mapper-lsQ45Ggo.js.map +1 -0
  22. package/dist/esm/rebill-checkout.entry.js +1 -1
  23. package/dist/esm/rebill-renewal.entry.js +18 -10
  24. package/dist/esm/rebill-renewal.entry.js.map +1 -1
  25. package/dist/rebill-web-components-sdk/{p-b3a695df.entry.js → p-11b3fc35.entry.js} +2 -2
  26. package/dist/rebill-web-components-sdk/p-11b3fc35.entry.js.map +1 -0
  27. package/dist/rebill-web-components-sdk/{p-648d0204.entry.js → p-4b4e2e73.entry.js} +2 -2
  28. package/dist/rebill-web-components-sdk/p-BTZ7D7jU.js.map +1 -1
  29. package/dist/rebill-web-components-sdk/p-BXKxstSq.js +2 -0
  30. package/dist/rebill-web-components-sdk/p-BXKxstSq.js.map +1 -0
  31. package/dist/rebill-web-components-sdk/rebill-renewal.entry.esm.js.map +1 -1
  32. package/dist/rebill-web-components-sdk/rebill-web-components-sdk.esm.js +1 -1
  33. package/dist/types/models/enums/payment-status.enum.d.ts +1 -0
  34. package/package.json +1 -1
  35. package/dist/cjs/payment-error-mapper-DMma7xTr.js.map +0 -1
  36. package/dist/components/p-tTo6r99B.js.map +0 -1
  37. package/dist/esm/payment-error-mapper-CtMCCzwd.js.map +0 -1
  38. package/dist/rebill-web-components-sdk/p-GqGHZ54B.js +0 -2
  39. package/dist/rebill-web-components-sdk/p-GqGHZ54B.js.map +0 -1
  40. package/dist/rebill-web-components-sdk/p-b3a695df.entry.js.map +0 -1
  41. /package/dist/rebill-web-components-sdk/{p-648d0204.entry.js.map → p-4b4e2e73.entry.js.map} +0 -0
@@ -49,6 +49,7 @@ var PaymentMessageE;
49
49
  PaymentMessageE["APM_ERROR_BANK_TRANSFER"] = "apm_error_bank_transfer";
50
50
  PaymentMessageE["PROVIDER_ERROR"] = "provider_error";
51
51
  PaymentMessageE["BANK_REJECTED"] = "bank_rejected";
52
+ PaymentMessageE["DO_NOT_HONOR"] = "do_not_honor";
52
53
  PaymentMessageE["CALL_BANK_FOR_AUTHORIZE"] = "call_bank_for_authorize";
53
54
  PaymentMessageE["REQUIRED_3DS"] = "required_3ds";
54
55
  PaymentMessageE["BLACKLISTED"] = "blacklisted";
@@ -166,6 +167,7 @@ class PaymentErrorMapper {
166
167
  [PaymentMessageE.APM_ERROR_BANK_TRANSFER]: I18nService.translate('paymentErrors.APMErrorBankTransfer'),
167
168
  [PaymentMessageE.PROVIDER_ERROR]: I18nService.translate('paymentErrors.providerError'),
168
169
  [PaymentMessageE.BANK_REJECTED]: I18nService.translate('paymentErrors.bankRejected'),
170
+ [PaymentMessageE.DO_NOT_HONOR]: I18nService.translate('paymentErrors.bankRejected'),
169
171
  [PaymentMessageE.FRAUD_HIGH_RISK]: I18nService.translate('paymentErrors.fraudHighRisk'),
170
172
  [PaymentMessageE.CALL_BANK_FOR_AUTHORIZE]: I18nService.translate('paymentErrors.callBankForAuthorize'),
171
173
  [PaymentMessageE.REQUIRED_3DS]: I18nService.translate('paymentErrors.required3ds'),
@@ -200,6 +202,6 @@ class PaymentErrorMapper {
200
202
  }
201
203
 
202
204
  export { CheckoutStatusE as C, PaymentMessageE as P, PaymentErrorMapper as a, generateIdempotencyKey as g };
203
- //# sourceMappingURL=payment-error-mapper-CtMCCzwd.js.map
205
+ //# sourceMappingURL=payment-error-mapper-lsQ45Ggo.js.map
204
206
 
205
- //# sourceMappingURL=payment-error-mapper-CtMCCzwd.js.map
207
+ //# sourceMappingURL=payment-error-mapper-lsQ45Ggo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-error-mapper-lsQ45Ggo.js","sources":["src/api/entities/checkout/types.ts","src/models/enums/payment-status.enum.ts","src/utils/generate-idempotency-key.ts","src/utils/payment-error-mapper.ts"],"sourcesContent":["import { PaymentMethodNameE } from '../../../models/enums/payment-method-name.enum';\nimport { STATUS_REQ_CHECKOUT_APM } from '../../../models/enums/status-req-checkout-apm.enum';\n\n// Checkout request status\nexport enum CheckoutStatusE {\n PENDING = 'PENDING',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n ERROR = 'ERROR',\n}\n\n// APM Transaction interface (based on documentation)\nexport interface APMTransaction {\n name?: { text: string; language: string }[];\n description?: { text: string; language: string }[];\n isPriceFixed?: boolean;\n tiers?: any[];\n plan?: any;\n quantity: number;\n amount?: number;\n currency?: string;\n productId?: string;\n planId?: string;\n couponCode?: string;\n}\n\n// APM Customer interface (based on documentation)\nexport interface APMCustomer {\n firstName: string;\n lastName: string;\n email: string;\n phone: {\n countryCode: string;\n number: string;\n };\n shippingAddress?: APMAddress;\n}\n\n// APM Address interface (based on documentation)\nexport interface APMAddress {\n country: string;\n state: string;\n city: string;\n zipCode: string;\n lineOne: string;\n lineTwo?: string;\n}\n\n// APM Redirect URLs interface (based on documentation)\nexport interface APMRedirect {\n approved: string;\n rejected: string;\n}\n\n// Metadata interface\nexport interface Metadata {\n [key: string]: unknown;\n}\n\n// Create APM checkout request interface (based on documentation)\nexport interface CreateAPMCheckoutRequest {\n transaction: APMTransaction;\n method: PaymentMethodNameE;\n customer?: APMCustomer; // Optional for authenticated users\n billingDetails?: {\n address: {\n lineOne: string;\n lineTwo?: string;\n city: string;\n state: string;\n zipCode: string;\n country: string;\n };\n identification: {\n type: string;\n value: string;\n };\n };\n redirect: APMRedirect;\n paymentMetadata?: Metadata;\n subscriptionMetadata?: Metadata;\n customAttributes?: {\n bank?: string;\n };\n targetCurrency?: string;\n}\n\n// Legacy interfaces for backward compatibility\nexport interface Transaction {\n amount: number;\n currency: string;\n description: string;\n}\n\nexport interface Customer {\n email: string;\n name: string;\n phone: string;\n documentType?: string;\n documentNumber?: string;\n shippingAddress: Address;\n}\n\nexport interface Address {\n lineOne: string;\n lineTwo?: string;\n city: string;\n state: string;\n zipCode: string;\n country: string;\n}\n\nexport interface Redirect {\n successUrl: string;\n failureUrl: string;\n cancelUrl: string;\n}\n\nexport interface CreateCardCheckoutRequest {\n transaction: {\n quantity: number;\n currency?: string;\n amount?: number;\n couponCode?: string;\n };\n installments?: number;\n cardTokenId?: string | null; // Optional, if card is saved\n cardId?: string | null; // Optional, if card is saved\n customer?: {\n firstName: string;\n lastName: string;\n email: string;\n phone: {\n countryCode: string;\n number: string;\n };\n };\n billingDetails?: {\n address: {\n lineOne: string;\n lineTwo?: string;\n city: string;\n state: string;\n zipCode: string;\n country: string;\n };\n identification: {\n type: string;\n value: string;\n };\n };\n paymentMetadata?: {\n bankCode?: string;\n };\n customAttributes?: {\n deviceId?: string;\n };\n saveCard?: boolean;\n}\nexport interface CreateCardCheckoutResponse {\n traceId: string;\n date: string;\n result?: {\n paymentId: string;\n status: CheckoutStatusE;\n subscriptionId: string;\n cardId: string;\n cardLastFour: string;\n customerId: string;\n statusDetail?: string;\n type?: string;\n };\n error: {\n traceId: string;\n date: string;\n error: {\n message: string;\n type: string;\n };\n statusCode: number;\n };\n}\nexport interface Card {\n cardHolderName: string;\n cardExpirationMonth: string;\n cardExpirationYear: string;\n securityCode: string;\n number: string;\n identification: {\n type: string;\n value: string;\n };\n saveCard: boolean;\n}\n// Instruction interface for payment reference\nexport interface PaymentInstruction {\n text: string;\n language: string;\n}\n\n// Bank transfer data interface\nexport interface BankTransferData {\n bbvAccountNumber?: string;\n account: string; // CLABE\n bankName: string;\n reference: string;\n}\n\n// Checkout data interface (provider-specific)\nexport interface CheckoutData {\n // For QR codes\n qrCode?: string;\n\n // For barcodes\n barcode?: string;\n\n // For bank transfer payments (new - multiple data sets)\n bankTransferData?: BankTransferData[];\n\n // For reference payments\n referenceId?: string;\n instructions?: PaymentInstruction[];\n\n // For redirect payments\n url?: string;\n message?: string;\n // For vouchers\n voucherUrl?: string;\n\n // Additional provider-specific data\n [key: string]: any;\n}\n\n// Checkout result interface\nexport interface CheckoutResult {\n checkoutRequestId: string;\n status: CheckoutStatusE;\n data: CheckoutData;\n}\n\n// Error interface\nexport interface CheckoutError {\n message: string;\n type: string;\n}\n\n// Bank interface for PSE payments\nexport interface Bank {\n code: string;\n name: string;\n}\n\n// Required fields request interface\nexport interface RequiredFieldsRequest {\n currency: string;\n method: string;\n bin?: number;\n}\n\n// Required fields response interface\nexport type RequiredFieldsResponse = {\n name: string;\n values?: {\n code: string;\n name: string;\n }[];\n}[];\n\n// Create APM checkout response interface\nexport interface CreateAPMCheckoutResponse {\n traceId: string;\n date: string;\n result?: CheckoutResult;\n error?: CheckoutError;\n}\n\nexport interface PaymentMethod {\n name: string;\n type: string;\n}\n\nexport interface TrackingData {\n locale: string;\n utmTerm: string;\n referrer: string;\n ipAddress: string;\n}\nexport interface Source {\n source: string;\n version: string;\n}\n\nexport interface APMSession {\n country: string;\n createdAt: string;\n deviceId: string;\n email: string | null;\n expiresAt: string;\n id: string;\n isCreatedDuringCheckout: boolean;\n metadata: Record<string, unknown>;\n organizationId: string;\n paymentLinkId: string;\n paymentMethods: PaymentMethod[];\n planId: string;\n priceId: string;\n productId: string | null;\n providerKey: string;\n source: Source;\n status: string;\n trackingData: TrackingData;\n updatedAt: string;\n}\n\nexport interface CheckoutRequestPayment {\n id: string;\n createdAt: string;\n updatedAt: string;\n organizationId: string;\n amount: number;\n currency: string;\n customer: {\n id: string;\n firstName: string;\n lastName: string;\n email: string;\n phoneNumbers: {\n number: string;\n countryCode: string;\n }[];\n };\n status: string;\n metadata: Record<string, unknown>;\n paymentMethodType: string;\n paymentMethodMetadata: Record<string, unknown>;\n card: {\n id: string;\n name: string;\n expiration: {\n month: string;\n year: string;\n };\n lastFour: string;\n brand: string;\n };\n quantity: number;\n paymentProviderReference: string | null;\n paymentProviderDescription: string | null;\n installments: number | null;\n priceFixedIn: string | null;\n conversionRate: number | null;\n couponId: string | null;\n description: [\n {\n text: string;\n language: string;\n },\n ];\n processingMode: string;\n processingFee: number | null;\n country: string;\n timezone: string;\n}\n\nexport interface CheckoutRequestPaymentAPM {\n checkoutRequestId: string;\n status: STATUS_REQ_CHECKOUT_APM;\n type: string;\n data: {\n message: string;\n url: string;\n };\n session: APMSession;\n payment: CheckoutRequestPayment | null;\n}\n","export enum PaymentMessageE {\n PENDING = 'pending',\n APPROVED = 'approved',\n REJECTED = 'rejected',\n DECLINED = 'declined',\n ERROR = 'error',\n REFUNDED = 'refunded',\n CANCELLED = 'cancelled',\n PARTIALLY_REFUNDED = 'partially_refunded',\n EXPIRED = 'expired',\n GENERIC_REJECT = 'generic_reject',\n INVALID_CARD = 'invalid_card',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n INVALID_CARD_HOLDER_NAME = 'invalid_card_holder_name',\n INVALID_CARD_EXPIRATION_DATE = 'invalid_card_expiration_date',\n INVALID_CARD_CVC = 'invalid_card_cvc',\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n\n BLACKLISTED_CARD = 'blacklisted_card',\n INVALID_CUSTOMER_EMAIL = 'invalid_customer_email',\n INVALID_CUSTOMER_PHONE = 'invalid_customer_phone',\n INVALID_CUSTOMER_BILLING_ADDRESS = 'invalid_customer_billing_address',\n REQUIRED_CUSTOMER_EMAIL = 'required_customer_email',\n REQUIRED_CUSTOMER_PHONE = 'required_customer_phone',\n REQUIRED_CUSTOMER_BILLING_ADDRESS = 'required_customer_billing_address',\n INVALID_CHECKOUT_REQUEST = 'invalid_checkout_request',\n UNAVAILABLE_PAYMENT_METHOD = 'unavailable_payment_method',\n INVALID_AMOUNT = 'invalid_amount',\n INVALID_CURRENCY = 'invalid_currency',\n INVALID_COUNTRY = 'invalid_country',\n MAX_ATTEMPTS = 'max_attempts',\n PAYMENT_EXPIRED = 'payment_expired',\n FRAUD_HIGH_RISK = 'fraud_high_risk',\n INTERNAL_ERROR = 'internal_error',\n INVALID_SESSION = 'invalid_session',\n APM_MESSAGE_ERROR = 'apm_message_error',\n APM_ERROR_GENERIC = 'apm_error_generic',\n APM_ERROR_BANK_TRANSFER = 'apm_error_bank_transfer',\n PROVIDER_ERROR = 'provider_error',\n BANK_REJECTED = 'bank_rejected',\n DO_NOT_HONOR = 'do_not_honor',\n CALL_BANK_FOR_AUTHORIZE = 'call_bank_for_authorize',\n REQUIRED_3DS = 'required_3ds',\n BLACKLISTED = 'blacklisted',\n HARD_DECLINE = 'hard-decline',\n SOFT_DECLINE = 'soft-decline',\n HUMAN_DECLINE = 'human-decline',\n INTERNAL = 'internal',\n INVALID_CARD_TOKENIZE_COUNTRY = 'invalid_card_tokenize_country',\n INVALID_CUSTOMER_ADDRESS = 'invalid_customer_address',\n INVALID_CUSTOMER_CITY = 'invalid_customer_city',\n INVALID_CUSTOMER_STATE = 'invalid_customer_state',\n INVALID_CUSTOMER_ZIP = 'invalid_customer_zip',\n INVALID_CUSTOMER_COUNTRY = 'invalid_customer_country',\n INVALID_CUSTOMER_DOCUMENT = 'invalid_customer_document',\n INVALID_CUSTOMER_DOCUMENT_NUMBER = 'invalid_customer_document_number',\n INVALID_CUSTOMER_DOCUMENT_TYPE = 'invalid_customer_document_type',\n INVALID_CHECKOUT_PAYMENT_METHOD = 'invalid_checkout_payment_method',\n REQUIRED_CUSTOMER_ADDRESS = 'required_customer_address',\n REQUIRED_CUSTOMER_CITY = 'required_customer_city',\n REQUIRED_CUSTOMER_STATE = 'required_customer_state',\n REQUIRED_CUSTOMER_ZIP = 'required_customer_zip',\n REQUIRED_CUSTOMER_COUNTRY = 'required_customer_country',\n REQUIRED_CUSTOMER_DOCUMENT = 'required_customer_document',\n REQUIRED_CUSTOMER_DOCUMENT_NUMBER = 'required_customer_document_number',\n REQUIRED_CUSTOMER_DOCUMENT_TYPE = 'required_customer_document_type',\n EXPIRED_CARD = 'expired_card',\n SANDBOX_ERROR = 'sandbox_error',\n}\n","export const generateIdempotencyKey = () => {\n return `idmp_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;\n};\n","import { I18nService } from '../i18n/i18n.service';\nimport { PAYMENT_METHOD_ENUM } from '../models/enums/payment-methods.enum';\nimport { PaymentMessageE } from '../models/enums/payment-status.enum';\n\nexport interface AlertErrorKeys {\n alertTitle?: PaymentMessageE;\n message: PaymentMessageE;\n}\n\n//currency country\n\nexport class PaymentErrorMapper {\n static getErrorMessage(\n errorMessageKey: AlertErrorKeys['message'] | null,\n paymentMethod: PAYMENT_METHOD_ENUM,\n currencyCountry?: string,\n ): string {\n if (\n !errorMessageKey ||\n !Object.values(PaymentMessageE).includes(errorMessageKey as PaymentMessageE) ||\n errorMessageKey === PaymentMessageE.GENERIC_REJECT\n ) {\n if (paymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n return I18nService.translate('paymentErrors.genericErrorCard');\n }\n if (paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER) {\n if (currencyCountry === 'BR') {\n return I18nService.translate('paymentErrors.genericErrorMessagePIX');\n }\n if (currencyCountry === 'AR') {\n return I18nService.translate('paymentErrors.genericErrorMessageQR');\n }\n if (currencyCountry === 'CO') {\n return I18nService.translate('paymentErrors.genericErrorMessagePSE');\n }\n return I18nService.translate('paymentErrors.genericErrorMessageBankTransfer');\n }\n return I18nService.translate('paymentErrors.genericErrorMessage');\n }\n return PaymentErrorMapper.getMessage(errorMessageKey);\n }\n\n static getErrorTitle(\n paymentMethod: PAYMENT_METHOD_ENUM,\n currencyCountry: string,\n errorTitleKey?: AlertErrorKeys['alertTitle'],\n ): string {\n if (errorTitleKey && !(errorTitleKey in PaymentMessageE)) {\n return PaymentErrorMapper.getMessage(errorTitleKey);\n }\n if (paymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n return I18nService.translate('paymentErrors.genericErrorTitleCard');\n }\n if (paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER) {\n if (currencyCountry === 'BR') {\n return I18nService.translate('paymentErrors.genericErrorTitlePIX');\n }\n if (currencyCountry === 'AR') {\n return I18nService.translate('paymentErrors.genericErrorTitleQR');\n }\n if (currencyCountry === 'CO') {\n return I18nService.translate('paymentErrors.genericErrorTitlePSE');\n }\n }\n return I18nService.translate('paymentErrors.genericErrorTitleBankTransfer');\n }\n\n private static getMessage(errorMessageKey: PaymentMessageE): string {\n const messageMap: Record<PaymentMessageE, string> = {\n [PaymentMessageE.PENDING]: I18nService.translate('paymentErrors.pending'),\n [PaymentMessageE.APPROVED]: I18nService.translate('paymentErrors.approved'),\n [PaymentMessageE.REJECTED]: I18nService.translate('paymentErrors.rejected'),\n [PaymentMessageE.DECLINED]: I18nService.translate('paymentErrors.declined'),\n [PaymentMessageE.ERROR]: I18nService.translate('paymentErrors.error'),\n [PaymentMessageE.REFUNDED]: I18nService.translate('paymentErrors.refunded'),\n [PaymentMessageE.CANCELLED]: I18nService.translate('paymentErrors.cancelled'),\n [PaymentMessageE.PARTIALLY_REFUNDED]: I18nService.translate(\n 'paymentErrors.partiallyRefunded',\n ),\n [PaymentMessageE.EXPIRED]: I18nService.translate('paymentErrors.expired'),\n [PaymentMessageE.GENERIC_REJECT]: I18nService.translate('paymentErrors.genericReject'),\n [PaymentMessageE.INVALID_CARD]: I18nService.translate('paymentErrors.invalidCard'),\n [PaymentMessageE.INVALID_CARD_NUMBER]: I18nService.translate(\n 'paymentErrors.invalidCardNumber',\n ),\n [PaymentMessageE.INVALID_CARD_HOLDER_NAME]: I18nService.translate(\n 'paymentErrors.invalidCardHolderName',\n ),\n [PaymentMessageE.INVALID_CARD_EXPIRATION_DATE]: I18nService.translate(\n 'paymentErrors.invalidCardExpirationDate',\n ),\n [PaymentMessageE.INVALID_CARD_CVC]: I18nService.translate('paymentErrors.invalidCardCvc'),\n [PaymentMessageE.INSUFFICIENT_FUNDS]: I18nService.translate(\n 'paymentErrors.insufficientFunds',\n ),\n [PaymentMessageE.BLACKLISTED_CARD]: I18nService.translate('paymentErrors.blacklistedCard'),\n [PaymentMessageE.INVALID_CUSTOMER_EMAIL]: I18nService.translate(\n 'paymentErrors.invalidCustomerEmail',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_PHONE]: I18nService.translate(\n 'paymentErrors.invalidCustomerPhone',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_BILLING_ADDRESS]: I18nService.translate(\n 'paymentErrors.invalidCustomerBillingAddress',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_EMAIL]: I18nService.translate(\n 'paymentErrors.requiredCustomerEmail',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_PHONE]: I18nService.translate(\n 'paymentErrors.requiredCustomerPhone',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_BILLING_ADDRESS]: I18nService.translate(\n 'paymentErrors.requiredCustomerBillingAddress',\n ),\n [PaymentMessageE.INVALID_CHECKOUT_REQUEST]: I18nService.translate(\n 'paymentErrors.invalidCheckoutRequest',\n ),\n [PaymentMessageE.UNAVAILABLE_PAYMENT_METHOD]: I18nService.translate(\n 'paymentErrors.unavailablePaymentMethod',\n ),\n [PaymentMessageE.INVALID_AMOUNT]: I18nService.translate('paymentErrors.invalidAmount'),\n [PaymentMessageE.INVALID_CURRENCY]: I18nService.translate('paymentErrors.invalidCurrency'),\n [PaymentMessageE.INVALID_COUNTRY]: I18nService.translate('paymentErrors.invalidCountry'),\n [PaymentMessageE.MAX_ATTEMPTS]: I18nService.translate('paymentErrors.maxAttempts'),\n [PaymentMessageE.PAYMENT_EXPIRED]: I18nService.translate('paymentErrors.paymentExpired'),\n\n [PaymentMessageE.INTERNAL_ERROR]: I18nService.translate('paymentErrors.internalError'),\n [PaymentMessageE.INVALID_SESSION]: I18nService.translate('paymentErrors.invalidSession'),\n [PaymentMessageE.APM_MESSAGE_ERROR]: I18nService.translate('paymentErrors.APMMessageError'),\n [PaymentMessageE.APM_ERROR_GENERIC]: I18nService.translate('paymentErrors.APMErrorGeneric'),\n [PaymentMessageE.APM_ERROR_BANK_TRANSFER]: I18nService.translate(\n 'paymentErrors.APMErrorBankTransfer',\n ),\n [PaymentMessageE.PROVIDER_ERROR]: I18nService.translate('paymentErrors.providerError'),\n [PaymentMessageE.BANK_REJECTED]: I18nService.translate('paymentErrors.bankRejected'),\n [PaymentMessageE.DO_NOT_HONOR]: I18nService.translate('paymentErrors.bankRejected'),\n\n [PaymentMessageE.FRAUD_HIGH_RISK]: I18nService.translate('paymentErrors.fraudHighRisk'),\n [PaymentMessageE.CALL_BANK_FOR_AUTHORIZE]: I18nService.translate(\n 'paymentErrors.callBankForAuthorize',\n ),\n [PaymentMessageE.REQUIRED_3DS]: I18nService.translate('paymentErrors.required3ds'),\n [PaymentMessageE.BLACKLISTED]: I18nService.translate('paymentErrors.blacklisted'),\n [PaymentMessageE.HARD_DECLINE]: I18nService.translate('paymentErrors.hardDecline'),\n [PaymentMessageE.SOFT_DECLINE]: I18nService.translate('paymentErrors.softDecline'),\n [PaymentMessageE.HUMAN_DECLINE]: I18nService.translate('paymentErrors.humanDecline'),\n [PaymentMessageE.INTERNAL]: I18nService.translate('paymentErrors.internal'),\n [PaymentMessageE.INVALID_CARD_TOKENIZE_COUNTRY]: I18nService.translate(\n 'paymentErrors.invalidCardTokenizeCountry',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_ADDRESS]: I18nService.translate(\n 'paymentErrors.invalidCustomerAddress',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_CITY]: I18nService.translate(\n 'paymentErrors.invalidCustomerCity',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_STATE]: I18nService.translate(\n 'paymentErrors.invalidCustomerState',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_ZIP]: I18nService.translate(\n 'paymentErrors.invalidCustomerZip',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_COUNTRY]: I18nService.translate(\n 'paymentErrors.invalidCustomerCountry',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_DOCUMENT]: I18nService.translate(\n 'paymentErrors.invalidCustomerDocument',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_DOCUMENT_NUMBER]: I18nService.translate(\n 'paymentErrors.invalidCustomerDocumentNumber',\n ),\n [PaymentMessageE.INVALID_CUSTOMER_DOCUMENT_TYPE]: I18nService.translate(\n 'paymentErrors.invalidCustomerDocumentType',\n ),\n [PaymentMessageE.INVALID_CHECKOUT_PAYMENT_METHOD]: I18nService.translate(\n 'paymentErrors.invalidCheckoutPaymentMethod',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_ADDRESS]: I18nService.translate(\n 'paymentErrors.requiredCustomerAddress',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_CITY]: I18nService.translate(\n 'paymentErrors.requiredCustomerCity',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_STATE]: I18nService.translate(\n 'paymentErrors.requiredCustomerState',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_ZIP]: I18nService.translate(\n 'paymentErrors.requiredCustomerZip',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_COUNTRY]: I18nService.translate(\n 'paymentErrors.requiredCustomerCountry',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_DOCUMENT]: I18nService.translate(\n 'paymentErrors.requiredCustomerDocument',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_DOCUMENT_NUMBER]: I18nService.translate(\n 'paymentErrors.requiredCustomerDocumentNumber',\n ),\n [PaymentMessageE.REQUIRED_CUSTOMER_DOCUMENT_TYPE]: I18nService.translate(\n 'paymentErrors.requiredCustomerDocumentType',\n ),\n [PaymentMessageE.EXPIRED_CARD]: I18nService.translate('paymentErrors.expiredCard'),\n [PaymentMessageE.SANDBOX_ERROR]: I18nService.translate('paymentErrors.sandboxError'),\n };\n\n return messageMap[errorMessageKey] || I18nService.translate('paymentErrors.genericError');\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-BTZ7D7jU.js';
2
2
  import { c as create$6 } from './index.esm-CRUbzQx9.js';
3
3
  import { a as api } from './index-BOl37xiG.js';
4
- import { g as generateIdempotencyKey, P as PaymentMessageE, C as CheckoutStatusE, a as PaymentErrorMapper } from './payment-error-mapper-CtMCCzwd.js';
4
+ import { g as generateIdempotencyKey, P as PaymentMessageE, C as CheckoutStatusE, a as PaymentErrorMapper } from './payment-error-mapper-lsQ45Ggo.js';
5
5
  import { s as state, a as SESSION_TYPE_ENUM, I as I18nService, S as SessionStore, i as initializeI18nWithSessionLanguage, P as PAYMENT_METHOD_ENUM, o as onChange, b as SESSION_ITEM_TYPE_ENUM } from './i18n.service-BT_P311Y.js';
6
6
  import { S as STATUS_REQ_CHECKOUT_APM } from './status-req-checkout-apm.enum-vsLqF4hk.js';
7
7
  import { B as BREAKPOINT_ENUM, g as getBreakpoint, i as isBreakpointBelow } from './breakpoint-Do_vNuMa.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-BTZ7D7jU.js';
2
2
  import { c as create$6 } from './index.esm-CRUbzQx9.js';
3
3
  import { a as api } from './index-BOl37xiG.js';
4
- import { g as generateIdempotencyKey, C as CheckoutStatusE, P as PaymentMessageE, a as PaymentErrorMapper } from './payment-error-mapper-CtMCCzwd.js';
4
+ import { g as generateIdempotencyKey, C as CheckoutStatusE, P as PaymentMessageE, a as PaymentErrorMapper } from './payment-error-mapper-lsQ45Ggo.js';
5
5
  import { P as PAYMENT_METHOD_ENUM, I as I18nService } from './i18n.service-BT_P311Y.js';
6
6
  import { S as STATUS_REQ_CHECKOUT_APM } from './status-req-checkout-apm.enum-vsLqF4hk.js';
7
7
  import { r as renewalState, R as RenewalStore, o as onChange } from './renewal.store-BNHBs7yZ.js';
@@ -545,15 +545,23 @@ const RebillRenewal = class {
545
545
  'billing-zip': errors['billing-zip'],
546
546
  } }))), !this.isAPMCheckoutVisible &&
547
547
  this.cardMode === 'input' &&
548
- isFieldRequired('phoneNumber', this.currentRequiredFields) && (h("div", { class: "animated-component fade-in" }, h("user-information-phone", { error: errors?.phoneNumber }))), this.isAPMCheckoutVisible && (h("apm-checkout", { paymentMethod: this.currentPaymentMethod, referenceId: this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH
549
- ? this.checkoutResponse.result.data.referenceId
550
- : undefined, qrCodeData: this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER
551
- ? this.checkoutResponse.result.data.qrCode
552
- : undefined, code: this.checkoutResponse?.result?.data?.code, providerName: renewalState.data.organization?.name || '', expirationDate: (() => {
553
- const expirationDate = new Date();
554
- expirationDate.setDate(expirationDate.getDate() + 30);
555
- return expirationDate.toISOString();
556
- })(), country: renewalState.data.price.country, redirectUrl: this.checkoutResponse.result.data.url, checkoutRequestId: this.checkoutResponse?.result?.checkoutRequestId, bearerToken: this.checkoutResponse?.result?.data?.bearerToken, onPaymentStatusChange: event => this.handlePaymentStatusChange(event.detail) })), isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&
548
+ isFieldRequired('phoneNumber', this.currentRequiredFields) && (h("div", { class: "animated-component fade-in" }, h("user-information-phone", { error: errors?.phoneNumber }))), this.isAPMCheckoutVisible &&
549
+ (() => {
550
+ const isBoleto = this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH &&
551
+ renewalState.data?.price?.country === 'BR' &&
552
+ this.checkoutResponse?.result?.data?.barcode;
553
+ return (h("apm-checkout", { paymentMethod: this.currentPaymentMethod, barcode: isBoleto
554
+ ? this.checkoutResponse?.result?.data?.barcode
555
+ : undefined, referenceId: this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH && !isBoleto
556
+ ? this.checkoutResponse?.result?.data?.referenceId
557
+ : undefined, qrCodeData: this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER
558
+ ? this.checkoutResponse?.result?.data?.qrCode
559
+ : undefined, code: this.checkoutResponse?.result?.data?.code, providerName: renewalState.data.organization?.name || '', expirationDate: (() => {
560
+ const expirationDate = new Date();
561
+ expirationDate.setDate(expirationDate.getDate() + 30);
562
+ return expirationDate.toISOString();
563
+ })(), country: renewalState.data.price.country, redirectUrl: this.checkoutResponse?.result?.data?.url, checkoutRequestId: this.checkoutResponse?.result?.checkoutRequestId, bearerToken: this.checkoutResponse?.result?.data?.bearerToken, onPaymentStatusChange: event => this.handlePaymentStatusChange(event.detail) }));
564
+ })(), isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&
557
565
  renderRenewalSummary({
558
566
  displayedComponents: 'summary',
559
567
  }), h("div", { style: { display: 'flex', flexDirection: 'column', gap: '16px' } }, !this.isAPMCheckoutVisible && (h("payment-button", { paymentMethod: this.currentPaymentMethod, isLoading: this.isSubmitting, isRenewal: true, trialPeriodDays: renewalState.data.subscription.trialPeriodDays, redirectUrl: !!this.checkoutResponse?.result?.data?.url, timeToRedirect: 5000, country: renewalState.data.price.country, isDisabled: renewalState.fetchingInstallments, onSubmit: () => submit() })), h("rebill-alert", { type: "secure", variant: "variant-secure", icon: "lock-outline", message: I18nService.translate('otp.secureMessage') }))), h("rebill-footer", { style: {
@@ -1 +1 @@
1
- {"version":3,"file":"rebill-renewal.entry.js","sources":["src/components/renewal/rebill-renewal.css?tag=rebill-renewal","src/components/renewal/rebill-renewal.tsx"],"sourcesContent":["@import '../../styles/variables.css';\n\n@media (max-width: 1024px) {\n .rebill-checkout-renewal {\n flex-direction: column;\n gap: 0;\n justify-content: flex-start;\n background: var(--rebill-color-background);\n padding: 20px;\n }\n .right-section .left-section {\n width: 100%;\n height: 100%;\n background: var(--rebill-color-background);\n }\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n height: 100%;\n margin-top: 24px;\n }\n .otp-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n }\n}\n\n@media (min-width: 1025px) {\n .rebill-checkout-renewal {\n width: 100vw;\n min-height: 100vh;\n display: flex;\n flex-direction: row;\n justify-content: center;\n overflow-y: auto;\n }\n\n .left-section {\n display: flex;\n width: 60%;\n background: var(--rebill-color-background-left);\n justify-content: space-around;\n }\n\n .right-section {\n display: flex;\n padding-top: 72px;\n width: 40%;\n background: var(--rebill-color-background-right);\n position: sticky;\n top: 0;\n\n justify-content: center;\n }\n\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n margin-bottom: 36px;\n margin-top: 24px;\n gap: 32px;\n }\n .left-section-container {\n max-width: 450px;\n min-width: 450px;\n margin: 2.5rem 2rem 1.5rem 2rem;\n display: flex;\n flex-direction: column;\n }\n\n .checkout-summary-section {\n max-width: 450px;\n min-width: 350px;\n margin: 0rem 2rem;\n background: var(--rebill-color-background-right);\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n }\n\n .checkout-form-section user-information,\n .checkout-form-section payment-method-selector,\n .checkout-form-section rebill-address,\n .checkout-summary-section rebill-summary {\n width: 100%;\n }\n\n /* Google Maps Autocomplete Styles */\n .pac-container {\n border-radius: 4px;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n border: 1px solid #e0e0e0;\n margin-top: 4px;\n font-family: inherit;\n }\n\n .pac-item {\n padding: 10px 12px;\n cursor: pointer;\n border-top: none;\n }\n\n .pac-item:first-child {\n border-top: none;\n }\n\n .pac-item:hover {\n background-color: #f5f5f5;\n }\n\n .pac-item-query {\n font-weight: 500;\n }\n\n .pac-icon {\n display: none;\n }\n}\n\n.payment-button-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-bottom: 16px;\n}\n/* Animaciones para componentes condicionales */\n.animated-component {\n transition: all 0.3s ease-in-out;\n overflow: visible;\n}\n\n/* Keep overflow hidden only for sliding height animations */\n/* .animated-component.slide-in {\n overflow: hidden;\n} */\n\n.fade-in {\n animation: fadeIn 0.4s ease-in-out;\n}\n\n.slide-in {\n animation: slideIn 0.5s ease-out;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideIn {\n from {\n opacity: 0;\n transform: translateX(-20px);\n max-height: 0;\n }\n to {\n opacity: 1;\n transform: translateX(0);\n max-height: 450px;\n }\n}\n\n/* Animación para cuando se ocultan los componentes */\n.animated-component.hide {\n animation: fadeOut 0.3s ease-in-out forwards;\n}\n\n@keyframes fadeOut {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(20px);\n }\n}\n\n/* Test Mode Chip Positioning */\nrebill-mode-sandbox {\n position: fixed;\n bottom: 50px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1000;\n}\n\n/* Ensure the chip is visible on all screen sizes */\n@media (max-width: 1024px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n\n@media (min-width: 1025px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n.mode-sandbox-mobile-container {\n display: flex;\n align-items: center;\n width: 100%;\n\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n/* Desktop grande - mantener tamaños originales */\n@media (min-width: 1451px) {\n .left-section-container {\n min-width: 450px;\n margin: 2.5rem 5rem 1.5rem 5rem;\n }\n\n .checkout-summary-section {\n min-width: 450px;\n margin: 0rem 5rem;\n }\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\nimport * as yup from 'yup';\nimport { api, Country } from '../../api';\nimport { SavedCard } from '../../api/entities/cards/types';\nimport {\n CheckoutStatusE,\n CreateAPMCheckoutRequest,\n CreateAPMCheckoutResponse,\n CreateCardCheckoutRequest,\n} from '../../api/entities/checkout/types';\nimport '../../components/checkout/apm/apm-checkout/apm-checkout';\nimport '../../components/checkout/processing-payment/processing-payment';\nimport { I18nService } from '../../i18n/i18n.service';\n\nimport { PaymentMethodNameE } from '../../models/enums/payment-method-name.enum';\nimport { PAYMENT_METHOD_ENUM } from '../../models/enums/payment-methods.enum';\nimport { PaymentMessageE } from '../../models/enums/payment-status.enum';\nimport { STATUS_REQ_CHECKOUT_APM } from '../../models/enums/status-req-checkout-apm.enum';\nimport { onChange as renewalOnChange, renewalState, RenewalStore } from '../../store/renewal.store';\nimport { BREAKPOINT_ENUM, getBreakpoint, isBreakpointBelow } from '../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../utils/color-class-mapper';\nimport { generateIdempotencyKey } from '../../utils/generate-idempotency-key';\nimport { GoogleMapsService } from '../../utils/google-maps.service';\nimport { AlertErrorKeys, PaymentErrorMapper } from '../../utils/payment-error-mapper';\nimport { PaymentMethodMapper } from '../../utils/payment-method-mapper';\nimport { getFieldValues, isFieldRequired } from '../../utils/required-fields-mappers';\nimport {\n AllRequiredFieldsMap,\n getAllRequiredFieldsRenewal,\n getRequiredFieldsForMethod,\n} from './utils/getRequiredFieldsRenewal';\n\n@Component({\n tag: 'rebill-renewal',\n styleUrl: 'rebill-renewal.css',\n shadow: false,\n})\nexport class RebillRenewal {\n @Prop() renewalData!: string;\n @Prop() renewalToken!: string;\n\n @State() currentPaymentMethod: PAYMENT_METHOD_ENUM = PAYMENT_METHOD_ENUM.CARD;\n @State() isSubmitting: boolean = false;\n @State() isCardSubmitting: boolean = false;\n @State() isCardSuccess: boolean = false;\n @State() errorMessage: AlertErrorKeys | null = null;\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n @State() errorPaymentCard: boolean = false;\n @State() errorPaymentAPM: boolean = false;\n @State() initialData: any = {};\n @State() checkoutResponse: CreateAPMCheckoutResponse | null = null;\n @State() currentApmPaymentMethod: PaymentMethodNameE | null = null;\n @State() countries: Country[] = [];\n @State() allRequiredFields: AllRequiredFieldsMap = {};\n @State() currentRequiredFields: string[] = [];\n @State() errorCardInvalid: boolean = false;\n @State() cardMode: 'input' | 'select' | null = 'select';\n\n @Event() success: EventEmitter<any>;\n @Event() paymentError: EventEmitter<any>;\n @Event() paymentMethodSelected: EventEmitter<PAYMENT_METHOD_ENUM>;\n\n private validationSchema = {\n 'phoneNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('phoneNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.phoneRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-country': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-country', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.countryRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-state': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-state', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.stateRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-address': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-address', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.addressRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-city': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-city', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.cityRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-zip': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-zip', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.zipRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'bankId': yup.string().when([], {\n is: () => isFieldRequired('bankId', this.currentRequiredFields),\n then: schema => schema.required('validation.bankRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentType': yup.string().when([], {\n is: () =>\n isFieldRequired('documentType', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.documentTypeRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('documentNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => {\n const baseSchema = schema.required('validation.documentNumberRequired').min(7, 'validation.documentInvalid');\n\n // For BR checkout, validate that document number contains only digits\n if (renewalState.data?.price?.country === 'BR') {\n return baseSchema.test(\n 'numeric-only',\n 'validation.documentNumberNumericOnly',\n value => {\n if (!value) return true; // Let required validation handle empty values\n return /^\\d+$/.test(value);\n }\n );\n }\n\n return baseSchema;\n },\n otherwise: schema => schema.notRequired(),\n }),\n };\n\n private resizeHandler = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n async componentWillLoad() {\n this.resizeHandler();\n window.addEventListener('resize', this.resizeHandler);\n\n const renewalProps =\n typeof this.renewalData === 'string' ? JSON.parse(this.renewalData) : this.renewalData;\n\n RenewalStore.initializeRenewal({\n ...renewalProps,\n token: this.renewalToken,\n });\n\n // Load Google Maps script for address autocomplete\n GoogleMapsService.loadGoogleMapsScript();\n\n // Load countries data\n try {\n const response = await api.data.getCountries();\n this.countries = response.data;\n } catch (error) {\n console.error('Error loading countries:', error);\n }\n\n // Load required fields data\n try {\n this.allRequiredFields = await getAllRequiredFieldsRenewal();\n } catch (error) {\n console.error('Error loading required fields:', error);\n }\n\n if (renewalState.data.paymentMethods.length > 0) {\n let defaultPaymentMethod: PAYMENT_METHOD_ENUM | null = null;\n\n if (renewalState.data.subscription?.paymentMethod) {\n const subscriptionPaymentMethod =\n renewalState.data.subscription.paymentMethod.toLowerCase();\n const mappedMethod =\n subscriptionPaymentMethod === 'card'\n ? PAYMENT_METHOD_ENUM.CARD\n : subscriptionPaymentMethod === 'bank_transfer'\n ? PAYMENT_METHOD_ENUM.BANK_TRANSFER\n : null;\n\n if (mappedMethod) {\n const isAvailable = renewalState.data.paymentMethods.some(pm => pm.type === mappedMethod);\n if (isAvailable) {\n defaultPaymentMethod = mappedMethod;\n }\n }\n }\n\n if (!defaultPaymentMethod) {\n defaultPaymentMethod = renewalState.data.paymentMethods[0].type as PAYMENT_METHOD_ENUM;\n }\n\n this.currentPaymentMethod = defaultPaymentMethod;\n RenewalStore.setSelectedPaymentMethod(defaultPaymentMethod);\n\n if (defaultPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n defaultPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n await this.initializeFingerprint(defaultPaymentMethod);\n }\n\n this.initialData = this.getInitialData();\n\n renewalOnChange('cardMode', () => {\n this.cardMode = renewalState.cardMode;\n });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeHandler);\n }\n\n @Listen('paymentMethodSelected')\n async handlePaymentMethodSelected(event: CustomEvent<PAYMENT_METHOD_ENUM>) {\n event.stopPropagation();\n\n if (this.currentPaymentMethod === event.detail) {\n return;\n }\n\n this.currentPaymentMethod = event.detail;\n RenewalStore.setSelectedPaymentMethod(this.currentPaymentMethod);\n\n // Change cardMode to 'input' if payment method is not CARD\n if (this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n // Update required fields for the new payment method\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n this.currentPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n // Note: Fingerprint is handled in componentWillLoad\n\n // Initialize fingerprint for the new payment method\n await this.initializeFingerprint(this.currentPaymentMethod);\n\n this.paymentMethodSelected.emit(event.detail);\n }\n\n private async initializeFingerprint(paymentMethod: PAYMENT_METHOD_ENUM) {\n // Only initialize fingerprint for card payments and if not already generated\n if (paymentMethod === PAYMENT_METHOD_ENUM.CARD && !renewalState.deviceId) {\n try {\n const uuid = crypto.randomUUID();\n const fingerprintResponse = await api.fingerPrint.getFingerPrint(uuid);\n RenewalStore.setDeviceId(uuid);\n const script = fingerprintResponse.result.script;\n const scriptElement = document.createElement('script');\n scriptElement.innerHTML = script;\n document.body.appendChild(scriptElement);\n } catch (error) {\n console.error('Failed to initialize fingerprint:', error);\n }\n }\n }\n\n @Listen('bankSelected')\n handleBankSelected(event: CustomEvent<string>) {\n event.stopPropagation();\n RenewalStore.setSelectedBankId(event.detail);\n }\n\n @Listen('cardSelected')\n handleCardSelected(event: CustomEvent<{ card: SavedCard; cvv?: string }>) {\n const { card, cvv } = event.detail;\n RenewalStore.setSelectedCard(card);\n RenewalStore.setCvv(cvv || '');\n }\n\n private get currentPaymentError(): boolean {\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n return this.errorPaymentCard;\n } else if (\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ) {\n return this.errorPaymentAPM;\n }\n return false;\n }\n\n private async handleSubmit(event?: CustomEvent) {\n if (this.isSubmitting) {\n return;\n }\n\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n await this.handleCardRenewal(event);\n } else {\n await this.handleAPMRenewal(event);\n }\n }\n\n private async handleCardRenewal(event?: CustomEvent) {\n const formData = event?.detail || this.getInitialData();\n\n if (!renewalState.data.cardId && !renewalState.data.cardTokenId) {\n this.errorCardInvalid = true;\n return;\n }\n if (!renewalState.data.cardInformation && !renewalState.data.cardId) {\n this.errorCardInvalid = true;\n return;\n }\n this.errorCardInvalid = false;\n this.isSubmitting = true;\n this.isCardSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const renewalRequest: CreateCardCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n ...(renewalState.data.cardId && { cardId: renewalState.data.cardId }),\n ...(renewalState.data.cardTokenId && { cardTokenId: renewalState.data.cardTokenId }),\n customAttributes: {\n ...(renewalState.deviceId && { deviceId: renewalState.deviceId }),\n },\n ...(this.cardMode === 'input' && {\n customer: {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName?.split(' ')[0],\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName?.split(' ').slice(1).join(' '),\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n },\n billingDetails: {\n address: {\n lineOne: formData['billing-address'] || '',\n city: formData['billing-city'] || '',\n state: formData['billing-state'] || '',\n country: formData['billing-country'] || '',\n zipCode: formData['billing-zip'] || '',\n },\n identification: {\n type: formData.documentType || '',\n value: formData.documentNumber || '',\n },\n },\n }),\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createCardCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n renewalState.token,\n );\n\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n\n if (response.data.result?.status.toUpperCase() === CheckoutStatusE.APPROVED) {\n this.isCardSuccess = true;\n } else {\n this.isCardSuccess = false;\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: response.data.error?.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: error.data?.error?.message as PaymentMessageE,\n };\n }\n }\n\n private async handleAPMRenewal(event?: CustomEvent) {\n this.isSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const apmPaymentMethod = PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n );\n\n // Get form data for billing details and customer info\n const formData = event?.detail || this.getFormData();\n\n // Transform form data to match CreateAPMCheckoutRequest structure\n const billingDetails = {\n address: {\n country: formData['billing-country'],\n state: formData['billing-state'] || '',\n city: formData['billing-city'] || '',\n zipCode: formData['billing-zip'] || '',\n lineOne: formData['billing-address'] || '',\n },\n identification: {\n type: formData.documentType || 'dni',\n value: formData.documentNumber || '',\n },\n };\n\n const renewalRequest: CreateAPMCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n method: apmPaymentMethod,\n billingDetails,\n redirect: {\n approved: window.location.origin + '/renewal/success',\n rejected: window.location.origin + '/renewal/failure',\n },\n paymentMetadata: {\n orderId: renewalState.data.id,\n source: 'renewal-web',\n },\n customAttributes: {\n bank: formData.bankId || '',\n },\n };\n\n // Add customer data for renewal\n renewalRequest.customer = {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName.split(' ')[0] ||\n '',\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName.split(' ').slice(1).join(' ') ||\n '',\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createAPMCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n );\n\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n this.checkoutResponse = response.data;\n const status = response.data.result?.status?.toString().toLowerCase();\n const isApproved = status === CheckoutStatusE.APPROVED.toLowerCase();\n const isPendingCustomerCharge = status === STATUS_REQ_CHECKOUT_APM.PENDING_CUSTOMER_CHARGE;\n\n if (isApproved) {\n this.isCardSuccess = true;\n this.errorPaymentAPM = false;\n this.errorMessage = null;\n } else if (isPendingCustomerCharge) {\n // Keep showing the QR/URL without showing an error for pending Pix payments\n this.isCardSuccess = false;\n this.errorPaymentAPM = false;\n this.errorMessage = null;\n } else {\n this.paymentError.emit(response.data);\n RenewalStore.setCheckoutResponse(response.data);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: response.data?.error?.message as PaymentMessageE,\n message: response.data.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n this.paymentError.emit(error);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: error.data?.error?.message as PaymentMessageE,\n message: error.data?.error?.message,\n };\n }\n }\n\n private getFormData = () => {\n return this.initialData;\n };\n\n private getInitialData = () => {\n return {\n 'email': renewalState.data.subscription.customerEmail,\n 'fullName': renewalState.data.subscription.customerName,\n 'card': '',\n 'billing-country': '',\n 'billing-state': '',\n 'billing-address': '',\n 'billing-city': '',\n 'billing-zip': '',\n 'bankId': '',\n 'phoneNumber': '',\n 'countryCodePhoneNumber': '',\n 'documentType': '',\n 'documentNumber': '',\n };\n };\n\n private hasPrefilledAddress = () => {\n const billingFields = [\n 'billing-country',\n 'billing-state',\n 'billing-address',\n 'billing-city',\n 'billing-zip',\n ];\n return billingFields.some(key => {\n const value = this.initialData[key];\n return value && value.trim() !== '';\n });\n };\n\n private getPaymentDate = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n\n if ('date' in payment) {\n return payment.date as string;\n }\n\n return '';\n };\n\n private getReferenceNumber = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n if ('traceId' in payment) {\n return payment.traceId as string;\n }\n\n return '';\n };\n\n private get isAPMCheckoutVisible(): boolean {\n return (\n !this.isCardSuccess &&\n !this.errorPaymentAPM &&\n !!this.checkoutResponse?.result &&\n (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER)\n );\n }\n\n /**\n * Listen for payment status changes emitted by the APM checkout component (polling).\n * Mirrors the behavior in the main checkout flow so Pix/transfer renewals update when approved/rejected.\n */\n private handlePaymentStatusChange = (statusData: {\n status: STATUS_REQ_CHECKOUT_APM;\n isCompleted: boolean;\n data: any;\n }) => {\n if (statusData.isCompleted) {\n if (statusData.status === STATUS_REQ_CHECKOUT_APM.APPROVED) {\n this.isCardSuccess = true;\n this.errorPaymentAPM = false;\n this.errorMessage = null;\n this.success.emit({\n paymentMethod: this.currentPaymentMethod,\n data: this.checkoutResponse,\n });\n } else if (statusData.status === STATUS_REQ_CHECKOUT_APM.REJECTED) {\n this.errorPaymentAPM = true;\n this.errorMessage = {\n alertTitle: PaymentMessageE.APM_ERROR_GENERIC,\n message: PaymentMessageE.APM_MESSAGE_ERROR,\n };\n }\n }\n };\n\n render() {\n if (!renewalState.isInitialized) {\n return <div class=\"loading\">{I18nService.translate('renewal.loading')}</div>;\n }\n\n const renderRenewalSummary = props => (\n <renewal-summary\n totalAmount={renewalState.data.price.amount}\n subTotalAmount={renewalState.data.subscription.subTotalAmount}\n currency={renewalState.data.price.currency}\n subscriptionTitle={renewalState.data.subscription.name[0]?.text || 'Subscription'}\n subscriptionAmount={renewalState.data.subscription.amount}\n nextChargeDate={renewalState.data.subscription.nextChargeDate}\n frequency={renewalState.data.subscription.frequency}\n couponCode={renewalState.data.price.couponCode}\n discountAmount={renewalState.data.price.discountedAmount}\n discountPercentage={renewalState.data.price.discountPercentage}\n {...props}\n />\n );\n\n return (\n <>\n <rebill-processing-payment style={{ display: this.isCardSubmitting ? 'block' : 'none' }} />\n {this.isCardSuccess ? (\n <renewal-success-page\n typePaymentMethod={this.currentPaymentMethod}\n paymentDate={this.getPaymentDate()}\n referenceNumber={this.getReferenceNumber()}\n cardLastFour={renewalState.data.subscription.cardLastFour}\n country={renewalState.data.price.country}\n paymentMethodName={PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data?.price?.country,\n )}\n bank={renewalState.form?.selectedBankId || ''}\n />\n ) : (\n <rebill-checkout-form\n style={{ display: this.isCardSubmitting || this.isCardSuccess ? 'none' : 'block' }}\n validationSchema={this.validationSchema}\n initialData={this.initialData}\n onSubmit={(args: any) => this.handleSubmit(args)}\n renderForm={({ submit, formData, errors }) => (\n <div class=\"rebill-checkout-renewal\">\n <div class=\"left-section\">\n <div class=\"left-section-container\">\n <organization-logo organization={renewalState.data.organization} />\n\n <div class=\"checkout-form-section\">\n {/* Customer Information - Readonly */}\n <user-information-static\n userInfo={{\n customerName: renewalState.data.subscription.customerName,\n customerEmail: renewalState.data.subscription.customerEmail,\n }}\n />\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'header',\n })}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'details',\n })}\n\n {/* Payment Method Selection */}\n <div style={{ display: 'flex', flexDirection: 'column', gap: '32px' }}>\n <payment-method-selector\n enabledPaymentMethods={[\n ...new Set(\n renewalState.data.paymentMethods.map(\n pm => pm.type as PAYMENT_METHOD_ENUM,\n ),\n ),\n ]}\n defaultSelected={this.currentPaymentMethod}\n errorComponent={{\n showErrorComponent: this.currentPaymentError,\n alertTitle: PaymentErrorMapper.getErrorTitle(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n this.errorMessage?.alertTitle,\n ),\n message: PaymentErrorMapper.getErrorMessage(\n this.errorMessage?.message,\n this.currentPaymentMethod,\n renewalState.data.price.country,\n ),\n }}\n cardError={{\n showCardInvalid: this.errorCardInvalid,\n type: null,\n }}\n country={renewalState.data.price.country}\n documentTypeError={errors?.documentType}\n documentNumberError={errors?.documentNumber}\n showDocument={\n !this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n (isFieldRequired('documentType', this.currentRequiredFields) ||\n isFieldRequired('documentNumber', this.currentRequiredFields))\n }\n />\n {/* Alert for non-card payment methods */}\n {this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD &&\n renewalState.data.subscription?.paymentMethod ===\n PAYMENT_METHOD_ENUM.CARD && (\n <rebill-alert\n type=\"info\"\n message={I18nService.translate('renewal.paymentMethodAlert', {\n cardLastFour:\n renewalState.data?.subscription?.cardLastFour || '****',\n })}\n icon=\"calendar-edit\"\n variant=\"outlined\"\n colorIcon={COLORS_ENUM.PRIMARY}\n />\n )}\n {!this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n isFieldRequired('bankId', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <rebill-bank-selector\n banks={\n getFieldValues(\n 'bank',\n this.allRequiredFields[this.currentPaymentMethod]?.original,\n ) || []\n }\n defaultSelectedBankId={formData.bankId || ''}\n error={errors?.bankId}\n />\n </div>\n )}\n </div>\n {!this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n (isFieldRequired('billing-country', this.currentRequiredFields) ||\n isFieldRequired('billing-state', this.currentRequiredFields) ||\n isFieldRequired('billing-address', this.currentRequiredFields) ||\n isFieldRequired('billing-city', this.currentRequiredFields) ||\n isFieldRequired('billing-zip', this.currentRequiredFields)) && (\n <div class=\"animated-component slide-in\">\n <rebill-address\n countryOptions={this.countries.map(country => ({\n label: country.country,\n value: country.isoCountryCode,\n }))}\n billingView={this.hasPrefilledAddress() ? 'form' : 'search'}\n errors={{\n 'billing-country': errors['billing-country'],\n 'billing-state': errors['billing-state'],\n 'billing-address': errors['billing-address'],\n 'billing-city': errors['billing-city'],\n 'billing-zip': errors['billing-zip'],\n }}\n />\n </div>\n )}\n {!this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n isFieldRequired('phoneNumber', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <user-information-phone error={errors?.phoneNumber} />\n </div>\n )}\n\n {/* Show APM checkout response after successful payment submission */}\n {this.isAPMCheckoutVisible && (\n <apm-checkout\n paymentMethod={this.currentPaymentMethod}\n referenceId={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH\n ? this.checkoutResponse.result.data.referenceId\n : undefined\n }\n qrCodeData={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ? this.checkoutResponse.result.data.qrCode\n : undefined\n }\n code={this.checkoutResponse?.result?.data?.code}\n providerName={renewalState.data.organization?.name || ''}\n expirationDate={(() => {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + 30);\n return expirationDate.toISOString();\n })()}\n country={renewalState.data.price.country}\n redirectUrl={this.checkoutResponse.result.data.url}\n checkoutRequestId={this.checkoutResponse?.result?.checkoutRequestId}\n bearerToken={this.checkoutResponse?.result?.data?.bearerToken}\n onPaymentStatusChange={event =>\n this.handlePaymentStatusChange(event.detail)\n }\n />\n )}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'summary',\n })}\n\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>\n {/* Payment Button */}\n {!this.isAPMCheckoutVisible && (\n <payment-button\n paymentMethod={this.currentPaymentMethod}\n isLoading={this.isSubmitting}\n isRenewal={true}\n trialPeriodDays={renewalState.data.subscription.trialPeriodDays}\n redirectUrl={!!this.checkoutResponse?.result?.data?.url}\n timeToRedirect={5000}\n country={renewalState.data.price.country}\n isDisabled={renewalState.fetchingInstallments}\n onSubmit={() => submit()}\n />\n )}\n\n {/* Disabled Button Below */}\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n <rebill-footer\n style={{\n marginTop: isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP)\n ? '24px'\n : 'auto',\n }}\n />\n </div>\n </div>\n\n {/* Desktop Summary */}\n {!isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) && (\n <div class=\"right-section\">\n <div class=\"checkout-summary-section\">\n {renderRenewalSummary({\n displayedComponents: ['header', 'details', 'summary'],\n })}\n </div>\n </div>\n )}\n </div>\n )}\n />\n )}\n </>\n );\n }\n}\n"],"names":["yup.string","renewalOnChange"],"mappings":"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"}
1
+ {"version":3,"file":"rebill-renewal.entry.js","sources":["src/components/renewal/rebill-renewal.css?tag=rebill-renewal","src/components/renewal/rebill-renewal.tsx"],"sourcesContent":["@import '../../styles/variables.css';\n\n@media (max-width: 1024px) {\n .rebill-checkout-renewal {\n flex-direction: column;\n gap: 0;\n justify-content: flex-start;\n background: var(--rebill-color-background);\n padding: 20px;\n }\n .right-section .left-section {\n width: 100%;\n height: 100%;\n background: var(--rebill-color-background);\n }\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n height: 100%;\n margin-top: 24px;\n }\n .otp-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n }\n}\n\n@media (min-width: 1025px) {\n .rebill-checkout-renewal {\n width: 100vw;\n min-height: 100vh;\n display: flex;\n flex-direction: row;\n justify-content: center;\n overflow-y: auto;\n }\n\n .left-section {\n display: flex;\n width: 60%;\n background: var(--rebill-color-background-left);\n justify-content: space-around;\n }\n\n .right-section {\n display: flex;\n padding-top: 72px;\n width: 40%;\n background: var(--rebill-color-background-right);\n position: sticky;\n top: 0;\n\n justify-content: center;\n }\n\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n margin-bottom: 36px;\n margin-top: 24px;\n gap: 32px;\n }\n .left-section-container {\n max-width: 450px;\n min-width: 450px;\n margin: 2.5rem 2rem 1.5rem 2rem;\n display: flex;\n flex-direction: column;\n }\n\n .checkout-summary-section {\n max-width: 450px;\n min-width: 350px;\n margin: 0rem 2rem;\n background: var(--rebill-color-background-right);\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n }\n\n .checkout-form-section user-information,\n .checkout-form-section payment-method-selector,\n .checkout-form-section rebill-address,\n .checkout-summary-section rebill-summary {\n width: 100%;\n }\n\n /* Google Maps Autocomplete Styles */\n .pac-container {\n border-radius: 4px;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n border: 1px solid #e0e0e0;\n margin-top: 4px;\n font-family: inherit;\n }\n\n .pac-item {\n padding: 10px 12px;\n cursor: pointer;\n border-top: none;\n }\n\n .pac-item:first-child {\n border-top: none;\n }\n\n .pac-item:hover {\n background-color: #f5f5f5;\n }\n\n .pac-item-query {\n font-weight: 500;\n }\n\n .pac-icon {\n display: none;\n }\n}\n\n.payment-button-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-bottom: 16px;\n}\n/* Animaciones para componentes condicionales */\n.animated-component {\n transition: all 0.3s ease-in-out;\n overflow: visible;\n}\n\n/* Keep overflow hidden only for sliding height animations */\n/* .animated-component.slide-in {\n overflow: hidden;\n} */\n\n.fade-in {\n animation: fadeIn 0.4s ease-in-out;\n}\n\n.slide-in {\n animation: slideIn 0.5s ease-out;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideIn {\n from {\n opacity: 0;\n transform: translateX(-20px);\n max-height: 0;\n }\n to {\n opacity: 1;\n transform: translateX(0);\n max-height: 450px;\n }\n}\n\n/* Animación para cuando se ocultan los componentes */\n.animated-component.hide {\n animation: fadeOut 0.3s ease-in-out forwards;\n}\n\n@keyframes fadeOut {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(20px);\n }\n}\n\n/* Test Mode Chip Positioning */\nrebill-mode-sandbox {\n position: fixed;\n bottom: 50px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1000;\n}\n\n/* Ensure the chip is visible on all screen sizes */\n@media (max-width: 1024px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n\n@media (min-width: 1025px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n.mode-sandbox-mobile-container {\n display: flex;\n align-items: center;\n width: 100%;\n\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n/* Desktop grande - mantener tamaños originales */\n@media (min-width: 1451px) {\n .left-section-container {\n min-width: 450px;\n margin: 2.5rem 5rem 1.5rem 5rem;\n }\n\n .checkout-summary-section {\n min-width: 450px;\n margin: 0rem 5rem;\n }\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\nimport * as yup from 'yup';\nimport { api, Country } from '../../api';\nimport { SavedCard } from '../../api/entities/cards/types';\nimport {\n CheckoutStatusE,\n CreateAPMCheckoutRequest,\n CreateAPMCheckoutResponse,\n CreateCardCheckoutRequest,\n} from '../../api/entities/checkout/types';\nimport '../../components/checkout/apm/apm-checkout/apm-checkout';\nimport '../../components/checkout/processing-payment/processing-payment';\nimport { I18nService } from '../../i18n/i18n.service';\n\nimport { PaymentMethodNameE } from '../../models/enums/payment-method-name.enum';\nimport { PAYMENT_METHOD_ENUM } from '../../models/enums/payment-methods.enum';\nimport { PaymentMessageE } from '../../models/enums/payment-status.enum';\nimport { STATUS_REQ_CHECKOUT_APM } from '../../models/enums/status-req-checkout-apm.enum';\nimport { onChange as renewalOnChange, renewalState, RenewalStore } from '../../store/renewal.store';\nimport { BREAKPOINT_ENUM, getBreakpoint, isBreakpointBelow } from '../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../utils/color-class-mapper';\nimport { generateIdempotencyKey } from '../../utils/generate-idempotency-key';\nimport { GoogleMapsService } from '../../utils/google-maps.service';\nimport { AlertErrorKeys, PaymentErrorMapper } from '../../utils/payment-error-mapper';\nimport { PaymentMethodMapper } from '../../utils/payment-method-mapper';\nimport { getFieldValues, isFieldRequired } from '../../utils/required-fields-mappers';\nimport {\n AllRequiredFieldsMap,\n getAllRequiredFieldsRenewal,\n getRequiredFieldsForMethod,\n} from './utils/getRequiredFieldsRenewal';\n\n@Component({\n tag: 'rebill-renewal',\n styleUrl: 'rebill-renewal.css',\n shadow: false,\n})\nexport class RebillRenewal {\n @Prop() renewalData!: string;\n @Prop() renewalToken!: string;\n\n @State() currentPaymentMethod: PAYMENT_METHOD_ENUM = PAYMENT_METHOD_ENUM.CARD;\n @State() isSubmitting: boolean = false;\n @State() isCardSubmitting: boolean = false;\n @State() isCardSuccess: boolean = false;\n @State() errorMessage: AlertErrorKeys | null = null;\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n @State() errorPaymentCard: boolean = false;\n @State() errorPaymentAPM: boolean = false;\n @State() initialData: any = {};\n @State() checkoutResponse: CreateAPMCheckoutResponse | null = null;\n @State() currentApmPaymentMethod: PaymentMethodNameE | null = null;\n @State() countries: Country[] = [];\n @State() allRequiredFields: AllRequiredFieldsMap = {};\n @State() currentRequiredFields: string[] = [];\n @State() errorCardInvalid: boolean = false;\n @State() cardMode: 'input' | 'select' | null = 'select';\n\n @Event() success: EventEmitter<any>;\n @Event() paymentError: EventEmitter<any>;\n @Event() paymentMethodSelected: EventEmitter<PAYMENT_METHOD_ENUM>;\n\n private validationSchema = {\n 'phoneNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('phoneNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.phoneRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-country': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-country', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.countryRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-state': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-state', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.stateRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-address': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-address', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.addressRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-city': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-city', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.cityRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-zip': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-zip', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.zipRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'bankId': yup.string().when([], {\n is: () => isFieldRequired('bankId', this.currentRequiredFields),\n then: schema => schema.required('validation.bankRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentType': yup.string().when([], {\n is: () =>\n isFieldRequired('documentType', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.documentTypeRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('documentNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => {\n const baseSchema = schema.required('validation.documentNumberRequired').min(7, 'validation.documentInvalid');\n\n // For BR checkout, validate that document number contains only digits\n if (renewalState.data?.price?.country === 'BR') {\n return baseSchema.test(\n 'numeric-only',\n 'validation.documentNumberNumericOnly',\n value => {\n if (!value) return true; // Let required validation handle empty values\n return /^\\d+$/.test(value);\n }\n );\n }\n\n return baseSchema;\n },\n otherwise: schema => schema.notRequired(),\n }),\n };\n\n private resizeHandler = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n async componentWillLoad() {\n this.resizeHandler();\n window.addEventListener('resize', this.resizeHandler);\n\n const renewalProps =\n typeof this.renewalData === 'string' ? JSON.parse(this.renewalData) : this.renewalData;\n\n RenewalStore.initializeRenewal({\n ...renewalProps,\n token: this.renewalToken,\n });\n\n // Load Google Maps script for address autocomplete\n GoogleMapsService.loadGoogleMapsScript();\n\n // Load countries data\n try {\n const response = await api.data.getCountries();\n this.countries = response.data;\n } catch (error) {\n console.error('Error loading countries:', error);\n }\n\n // Load required fields data\n try {\n this.allRequiredFields = await getAllRequiredFieldsRenewal();\n } catch (error) {\n console.error('Error loading required fields:', error);\n }\n\n if (renewalState.data.paymentMethods.length > 0) {\n let defaultPaymentMethod: PAYMENT_METHOD_ENUM | null = null;\n\n if (renewalState.data.subscription?.paymentMethod) {\n const subscriptionPaymentMethod =\n renewalState.data.subscription.paymentMethod.toLowerCase();\n const mappedMethod =\n subscriptionPaymentMethod === 'card'\n ? PAYMENT_METHOD_ENUM.CARD\n : subscriptionPaymentMethod === 'bank_transfer'\n ? PAYMENT_METHOD_ENUM.BANK_TRANSFER\n : null;\n\n if (mappedMethod) {\n const isAvailable = renewalState.data.paymentMethods.some(pm => pm.type === mappedMethod);\n if (isAvailable) {\n defaultPaymentMethod = mappedMethod;\n }\n }\n }\n\n if (!defaultPaymentMethod) {\n defaultPaymentMethod = renewalState.data.paymentMethods[0].type as PAYMENT_METHOD_ENUM;\n }\n\n this.currentPaymentMethod = defaultPaymentMethod;\n RenewalStore.setSelectedPaymentMethod(defaultPaymentMethod);\n\n if (defaultPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n defaultPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n await this.initializeFingerprint(defaultPaymentMethod);\n }\n\n this.initialData = this.getInitialData();\n\n renewalOnChange('cardMode', () => {\n this.cardMode = renewalState.cardMode;\n });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeHandler);\n }\n\n @Listen('paymentMethodSelected')\n async handlePaymentMethodSelected(event: CustomEvent<PAYMENT_METHOD_ENUM>) {\n event.stopPropagation();\n\n if (this.currentPaymentMethod === event.detail) {\n return;\n }\n\n this.currentPaymentMethod = event.detail;\n RenewalStore.setSelectedPaymentMethod(this.currentPaymentMethod);\n\n // Change cardMode to 'input' if payment method is not CARD\n if (this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n // Update required fields for the new payment method\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n this.currentPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n // Note: Fingerprint is handled in componentWillLoad\n\n // Initialize fingerprint for the new payment method\n await this.initializeFingerprint(this.currentPaymentMethod);\n\n this.paymentMethodSelected.emit(event.detail);\n }\n\n private async initializeFingerprint(paymentMethod: PAYMENT_METHOD_ENUM) {\n // Only initialize fingerprint for card payments and if not already generated\n if (paymentMethod === PAYMENT_METHOD_ENUM.CARD && !renewalState.deviceId) {\n try {\n const uuid = crypto.randomUUID();\n const fingerprintResponse = await api.fingerPrint.getFingerPrint(uuid);\n RenewalStore.setDeviceId(uuid);\n const script = fingerprintResponse.result.script;\n const scriptElement = document.createElement('script');\n scriptElement.innerHTML = script;\n document.body.appendChild(scriptElement);\n } catch (error) {\n console.error('Failed to initialize fingerprint:', error);\n }\n }\n }\n\n @Listen('bankSelected')\n handleBankSelected(event: CustomEvent<string>) {\n event.stopPropagation();\n RenewalStore.setSelectedBankId(event.detail);\n }\n\n @Listen('cardSelected')\n handleCardSelected(event: CustomEvent<{ card: SavedCard; cvv?: string }>) {\n const { card, cvv } = event.detail;\n RenewalStore.setSelectedCard(card);\n RenewalStore.setCvv(cvv || '');\n }\n\n private get currentPaymentError(): boolean {\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n return this.errorPaymentCard;\n } else if (\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ) {\n return this.errorPaymentAPM;\n }\n return false;\n }\n\n private async handleSubmit(event?: CustomEvent) {\n if (this.isSubmitting) {\n return;\n }\n\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n await this.handleCardRenewal(event);\n } else {\n await this.handleAPMRenewal(event);\n }\n }\n\n private async handleCardRenewal(event?: CustomEvent) {\n const formData = event?.detail || this.getInitialData();\n\n if (!renewalState.data.cardId && !renewalState.data.cardTokenId) {\n this.errorCardInvalid = true;\n return;\n }\n if (!renewalState.data.cardInformation && !renewalState.data.cardId) {\n this.errorCardInvalid = true;\n return;\n }\n this.errorCardInvalid = false;\n this.isSubmitting = true;\n this.isCardSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const renewalRequest: CreateCardCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n ...(renewalState.data.cardId && { cardId: renewalState.data.cardId }),\n ...(renewalState.data.cardTokenId && { cardTokenId: renewalState.data.cardTokenId }),\n customAttributes: {\n ...(renewalState.deviceId && { deviceId: renewalState.deviceId }),\n },\n ...(this.cardMode === 'input' && {\n customer: {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName?.split(' ')[0],\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName?.split(' ').slice(1).join(' '),\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n },\n billingDetails: {\n address: {\n lineOne: formData['billing-address'] || '',\n city: formData['billing-city'] || '',\n state: formData['billing-state'] || '',\n country: formData['billing-country'] || '',\n zipCode: formData['billing-zip'] || '',\n },\n identification: {\n type: formData.documentType || '',\n value: formData.documentNumber || '',\n },\n },\n }),\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createCardCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n renewalState.token,\n );\n\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n\n if (response.data.result?.status.toUpperCase() === CheckoutStatusE.APPROVED) {\n this.isCardSuccess = true;\n } else {\n this.isCardSuccess = false;\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: response.data.error?.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: error.data?.error?.message as PaymentMessageE,\n };\n }\n }\n\n private async handleAPMRenewal(event?: CustomEvent) {\n this.isSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const apmPaymentMethod = PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n );\n\n // Get form data for billing details and customer info\n const formData = event?.detail || this.getFormData();\n\n // Transform form data to match CreateAPMCheckoutRequest structure\n const billingDetails = {\n address: {\n country: formData['billing-country'],\n state: formData['billing-state'] || '',\n city: formData['billing-city'] || '',\n zipCode: formData['billing-zip'] || '',\n lineOne: formData['billing-address'] || '',\n },\n identification: {\n type: formData.documentType || 'dni',\n value: formData.documentNumber || '',\n },\n };\n\n const renewalRequest: CreateAPMCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n method: apmPaymentMethod,\n billingDetails,\n redirect: {\n approved: window.location.origin + '/renewal/success',\n rejected: window.location.origin + '/renewal/failure',\n },\n paymentMetadata: {\n orderId: renewalState.data.id,\n source: 'renewal-web',\n },\n customAttributes: {\n bank: formData.bankId || '',\n },\n };\n\n // Add customer data for renewal\n renewalRequest.customer = {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName.split(' ')[0] ||\n '',\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName.split(' ').slice(1).join(' ') ||\n '',\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createAPMCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n );\n\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n this.checkoutResponse = response.data;\n const status = response.data.result?.status?.toString().toLowerCase();\n const isApproved = status === CheckoutStatusE.APPROVED.toLowerCase();\n const isPendingCustomerCharge = status === STATUS_REQ_CHECKOUT_APM.PENDING_CUSTOMER_CHARGE;\n\n if (isApproved) {\n this.isCardSuccess = true;\n this.errorPaymentAPM = false;\n this.errorMessage = null;\n } else if (isPendingCustomerCharge) {\n // Keep showing the QR/URL without showing an error for pending Pix payments\n this.isCardSuccess = false;\n this.errorPaymentAPM = false;\n this.errorMessage = null;\n } else {\n this.paymentError.emit(response.data);\n RenewalStore.setCheckoutResponse(response.data);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: response.data?.error?.message as PaymentMessageE,\n message: response.data.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n this.paymentError.emit(error);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: error.data?.error?.message as PaymentMessageE,\n message: error.data?.error?.message,\n };\n }\n }\n\n private getFormData = () => {\n return this.initialData;\n };\n\n private getInitialData = () => {\n return {\n 'email': renewalState.data.subscription.customerEmail,\n 'fullName': renewalState.data.subscription.customerName,\n 'card': '',\n 'billing-country': '',\n 'billing-state': '',\n 'billing-address': '',\n 'billing-city': '',\n 'billing-zip': '',\n 'bankId': '',\n 'phoneNumber': '',\n 'countryCodePhoneNumber': '',\n 'documentType': '',\n 'documentNumber': '',\n };\n };\n\n private hasPrefilledAddress = () => {\n const billingFields = [\n 'billing-country',\n 'billing-state',\n 'billing-address',\n 'billing-city',\n 'billing-zip',\n ];\n return billingFields.some(key => {\n const value = this.initialData[key];\n return value && value.trim() !== '';\n });\n };\n\n private getPaymentDate = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n\n if ('date' in payment) {\n return payment.date as string;\n }\n\n return '';\n };\n\n private getReferenceNumber = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n if ('traceId' in payment) {\n return payment.traceId as string;\n }\n\n return '';\n };\n\n private get isAPMCheckoutVisible(): boolean {\n return (\n !this.isCardSuccess &&\n !this.errorPaymentAPM &&\n !!this.checkoutResponse?.result &&\n (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER)\n );\n }\n\n /**\n * Listen for payment status changes emitted by the APM checkout component (polling).\n * Mirrors the behavior in the main checkout flow so Pix/transfer renewals update when approved/rejected.\n */\n private handlePaymentStatusChange = (statusData: {\n status: STATUS_REQ_CHECKOUT_APM;\n isCompleted: boolean;\n data: any;\n }) => {\n if (statusData.isCompleted) {\n if (statusData.status === STATUS_REQ_CHECKOUT_APM.APPROVED) {\n this.isCardSuccess = true;\n this.errorPaymentAPM = false;\n this.errorMessage = null;\n this.success.emit({\n paymentMethod: this.currentPaymentMethod,\n data: this.checkoutResponse,\n });\n } else if (statusData.status === STATUS_REQ_CHECKOUT_APM.REJECTED) {\n this.errorPaymentAPM = true;\n this.errorMessage = {\n alertTitle: PaymentMessageE.APM_ERROR_GENERIC,\n message: PaymentMessageE.APM_MESSAGE_ERROR,\n };\n }\n }\n };\n\n render() {\n if (!renewalState.isInitialized) {\n return <div class=\"loading\">{I18nService.translate('renewal.loading')}</div>;\n }\n\n const renderRenewalSummary = props => (\n <renewal-summary\n totalAmount={renewalState.data.price.amount}\n subTotalAmount={renewalState.data.subscription.subTotalAmount}\n currency={renewalState.data.price.currency}\n subscriptionTitle={renewalState.data.subscription.name[0]?.text || 'Subscription'}\n subscriptionAmount={renewalState.data.subscription.amount}\n nextChargeDate={renewalState.data.subscription.nextChargeDate}\n frequency={renewalState.data.subscription.frequency}\n couponCode={renewalState.data.price.couponCode}\n discountAmount={renewalState.data.price.discountedAmount}\n discountPercentage={renewalState.data.price.discountPercentage}\n {...props}\n />\n );\n\n return (\n <>\n <rebill-processing-payment style={{ display: this.isCardSubmitting ? 'block' : 'none' }} />\n {this.isCardSuccess ? (\n <renewal-success-page\n typePaymentMethod={this.currentPaymentMethod}\n paymentDate={this.getPaymentDate()}\n referenceNumber={this.getReferenceNumber()}\n cardLastFour={renewalState.data.subscription.cardLastFour}\n country={renewalState.data.price.country}\n paymentMethodName={PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data?.price?.country,\n )}\n bank={renewalState.form?.selectedBankId || ''}\n />\n ) : (\n <rebill-checkout-form\n style={{ display: this.isCardSubmitting || this.isCardSuccess ? 'none' : 'block' }}\n validationSchema={this.validationSchema}\n initialData={this.initialData}\n onSubmit={(args: any) => this.handleSubmit(args)}\n renderForm={({ submit, formData, errors }) => (\n <div class=\"rebill-checkout-renewal\">\n <div class=\"left-section\">\n <div class=\"left-section-container\">\n <organization-logo organization={renewalState.data.organization} />\n\n <div class=\"checkout-form-section\">\n {/* Customer Information - Readonly */}\n <user-information-static\n userInfo={{\n customerName: renewalState.data.subscription.customerName,\n customerEmail: renewalState.data.subscription.customerEmail,\n }}\n />\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'header',\n })}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'details',\n })}\n\n {/* Payment Method Selection */}\n <div style={{ display: 'flex', flexDirection: 'column', gap: '32px' }}>\n <payment-method-selector\n enabledPaymentMethods={[\n ...new Set(\n renewalState.data.paymentMethods.map(\n pm => pm.type as PAYMENT_METHOD_ENUM,\n ),\n ),\n ]}\n defaultSelected={this.currentPaymentMethod}\n errorComponent={{\n showErrorComponent: this.currentPaymentError,\n alertTitle: PaymentErrorMapper.getErrorTitle(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n this.errorMessage?.alertTitle,\n ),\n message: PaymentErrorMapper.getErrorMessage(\n this.errorMessage?.message,\n this.currentPaymentMethod,\n renewalState.data.price.country,\n ),\n }}\n cardError={{\n showCardInvalid: this.errorCardInvalid,\n type: null,\n }}\n country={renewalState.data.price.country}\n documentTypeError={errors?.documentType}\n documentNumberError={errors?.documentNumber}\n showDocument={\n !this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n (isFieldRequired('documentType', this.currentRequiredFields) ||\n isFieldRequired('documentNumber', this.currentRequiredFields))\n }\n />\n {/* Alert for non-card payment methods */}\n {this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD &&\n renewalState.data.subscription?.paymentMethod ===\n PAYMENT_METHOD_ENUM.CARD && (\n <rebill-alert\n type=\"info\"\n message={I18nService.translate('renewal.paymentMethodAlert', {\n cardLastFour:\n renewalState.data?.subscription?.cardLastFour || '****',\n })}\n icon=\"calendar-edit\"\n variant=\"outlined\"\n colorIcon={COLORS_ENUM.PRIMARY}\n />\n )}\n {!this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n isFieldRequired('bankId', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <rebill-bank-selector\n banks={\n getFieldValues(\n 'bank',\n this.allRequiredFields[this.currentPaymentMethod]?.original,\n ) || []\n }\n defaultSelectedBankId={formData.bankId || ''}\n error={errors?.bankId}\n />\n </div>\n )}\n </div>\n {!this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n (isFieldRequired('billing-country', this.currentRequiredFields) ||\n isFieldRequired('billing-state', this.currentRequiredFields) ||\n isFieldRequired('billing-address', this.currentRequiredFields) ||\n isFieldRequired('billing-city', this.currentRequiredFields) ||\n isFieldRequired('billing-zip', this.currentRequiredFields)) && (\n <div class=\"animated-component slide-in\">\n <rebill-address\n countryOptions={this.countries.map(country => ({\n label: country.country,\n value: country.isoCountryCode,\n }))}\n billingView={this.hasPrefilledAddress() ? 'form' : 'search'}\n errors={{\n 'billing-country': errors['billing-country'],\n 'billing-state': errors['billing-state'],\n 'billing-address': errors['billing-address'],\n 'billing-city': errors['billing-city'],\n 'billing-zip': errors['billing-zip'],\n }}\n />\n </div>\n )}\n {!this.isAPMCheckoutVisible &&\n this.cardMode === 'input' &&\n isFieldRequired('phoneNumber', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <user-information-phone error={errors?.phoneNumber} />\n </div>\n )}\n\n {/* Show APM checkout response after successful payment submission */}\n {this.isAPMCheckoutVisible &&\n (() => {\n const isBoleto =\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH &&\n renewalState.data?.price?.country === 'BR' &&\n this.checkoutResponse?.result?.data?.barcode;\n\n return (\n <apm-checkout\n paymentMethod={this.currentPaymentMethod}\n barcode={\n isBoleto\n ? this.checkoutResponse?.result?.data?.barcode\n : undefined\n }\n referenceId={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH && !isBoleto\n ? this.checkoutResponse?.result?.data?.referenceId\n : undefined\n }\n qrCodeData={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ? this.checkoutResponse?.result?.data?.qrCode\n : undefined\n }\n code={this.checkoutResponse?.result?.data?.code}\n providerName={renewalState.data.organization?.name || ''}\n expirationDate={(() => {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + 30);\n return expirationDate.toISOString();\n })()}\n country={renewalState.data.price.country}\n redirectUrl={this.checkoutResponse?.result?.data?.url}\n checkoutRequestId={this.checkoutResponse?.result?.checkoutRequestId}\n bearerToken={this.checkoutResponse?.result?.data?.bearerToken}\n onPaymentStatusChange={event =>\n this.handlePaymentStatusChange(event.detail)\n }\n />\n );\n })()}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'summary',\n })}\n\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>\n {/* Payment Button */}\n {!this.isAPMCheckoutVisible && (\n <payment-button\n paymentMethod={this.currentPaymentMethod}\n isLoading={this.isSubmitting}\n isRenewal={true}\n trialPeriodDays={renewalState.data.subscription.trialPeriodDays}\n redirectUrl={!!this.checkoutResponse?.result?.data?.url}\n timeToRedirect={5000}\n country={renewalState.data.price.country}\n isDisabled={renewalState.fetchingInstallments}\n onSubmit={() => submit()}\n />\n )}\n\n {/* Disabled Button Below */}\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n <rebill-footer\n style={{\n marginTop: isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP)\n ? '24px'\n : 'auto',\n }}\n />\n </div>\n </div>\n\n {/* Desktop Summary */}\n {!isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) && (\n <div class=\"right-section\">\n <div class=\"checkout-summary-section\">\n {renderRenewalSummary({\n displayedComponents: ['header', 'details', 'summary'],\n })}\n </div>\n </div>\n )}\n </div>\n )}\n />\n )}\n </>\n );\n }\n}\n"],"names":["yup.string","renewalOnChange"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as i}from"./p-BTZ7D7jU.js";import{c as r}from"./p-MMCcKmy_.js";import{a as o}from"./p-CV0wqtJM.js";import{g as n,C as s,P as a,a as l}from"./p-GqGHZ54B.js";import{P as c,I as d}from"./p-DPLmRWqO.js";import{S as h}from"./p-vsLqF4hk.js";import{r as m,R as u,o as p}from"./p-neQ-hFWj.js";import{B as f,g as b,i as g}from"./p-Do_vNuMa.js";import{C as y}from"./p-C5Pu-n-i.js";import{G as x}from"./p-CMSUR2TZ.js";import{P as w}from"./p-_K6gh3MX.js";import{i as k,g as v}from"./p-B076eOjt.js";import{g as C,a as q}from"./p-Cq2cEUlR.js";import"./p-E-ZsRS8r.js";import"./p-CzeVW03r.js";const j=":root{--rebill-color-primary:#0056f6;--rebill-color-primary-light:rgba(59, 130, 246, 0.1);--rebill-color-primary-hover:#2563eb;--rebill-color-primary-dark-hover:#001c4a;--rebill-color-info-border:#0156f6;--rebill-color-info-text:#172b85;--rebill-color-link:#3b82f6;--rebill-color-primary-dark:#001131;--rebill-color-primary-dark-text:#000000;--rebill-color-primary-dark-light:rgba(0, 17, 49, 0.1);--rebill-color-error:#ef4444;--rebill-color-error-background:#fef2f2;--rebill-color-error-light:rgba(239, 68, 68, 0.1);--rebill-color-error-dark:#6f101b;--rebill-color-background:#ffffff;--rebill-color-background-left:#fafafa;--rebill-color-background-right:#f4f5f6;--rebill-color-background-secondary:#f7f8fa;--rebill-color-border:#ebedef;--rebill-color-timeline-connector:#c4c8cf;--rebill-color-neutrals-700:#58616e;--rebill-color-neutrals-500:#9ca3af;--rebill-color-border-primary:#e4e4e7;--rebill-color-text-primary:#3b4049;--rebill-color-text-secondary:#6b7280;--rebill-color-grey-700:#7d7d7d;--rebill-color-text-secondary-light:#a1a1aa;--rebill-color-text-on-primary:#ffffff;--rebill-color-disabled:#9ca3af;--rebill-color-shadow:rgba(0, 0, 0, 0.1);--rebill-color-green:#10b981;--rebill-color-green-text:#257c67;--rebill-color-green-light:rgba(183, 233, 221, 0.15);--rebill-color-green-light-2:rgba(183, 233, 221, 1);--rebill-color-info-background:#d5e4ff;--rebill-color-background-secondary-light:#f7f8fa;--rebill-breakpoint-mobile:768px;--rebill-breakpoint-tablet:1024px;--rebill-breakpoint-desktop:1025px;--rebill-color-orange:#ff9400;--rebill-color-black:#1e2025;--rebill-color-grey-300:#3b4049;--rebill-color-grey-100:#aeaeae}.qr-container,.qr-image,.qr-image svg,.qr-image img,[class*='qr-'],[class*='success'],[class*='receipt']{transition:none !important;animation:none !important;will-change:auto !important}button:active,button:focus,button:hover{isolation:isolate}@media (max-width: 1024px){.rebill-checkout-renewal{flex-direction:column;gap:0;justify-content:flex-start;background:var(--rebill-color-background);padding:20px}.right-section .left-section{width:100%;height:100%;background:var(--rebill-color-background)}.checkout-form-section{display:flex;flex-direction:column;justify-content:flex-start;gap:24px;height:100%;margin-top:24px}.otp-container{display:flex;flex-direction:column;justify-content:flex-start;gap:24px}}@media (min-width: 1025px){.rebill-checkout-renewal{width:100vw;min-height:100vh;display:flex;flex-direction:row;justify-content:center;overflow-y:auto}.left-section{display:flex;width:60%;background:var(--rebill-color-background-left);justify-content:space-around}.right-section{display:flex;padding-top:72px;width:40%;background:var(--rebill-color-background-right);position:sticky;top:0;justify-content:center}.checkout-form-section{display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:36px;margin-top:24px;gap:32px}.left-section-container{max-width:450px;min-width:450px;margin:2.5rem 2rem 1.5rem 2rem;display:flex;flex-direction:column}.checkout-summary-section{max-width:450px;min-width:350px;margin:0rem 2rem;background:var(--rebill-color-background-right);display:flex;flex-direction:column;justify-content:flex-start;width:100%}.checkout-form-section user-information,.checkout-form-section payment-method-selector,.checkout-form-section rebill-address,.checkout-summary-section rebill-summary{width:100%}.pac-container{border-radius:4px;box-shadow:0 4px 8px rgba(0, 0, 0, 0.1);border:1px solid #e0e0e0;margin-top:4px;font-family:inherit}.pac-item{padding:10px 12px;cursor:pointer;border-top:none}.pac-item:first-child{border-top:none}.pac-item:hover{background-color:#f5f5f5}.pac-item-query{font-weight:500}.pac-icon{display:none}}.payment-button-container{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.animated-component{transition:all 0.3s ease-in-out;overflow:visible}.fade-in{animation:fadeIn 0.4s ease-in-out}.slide-in{animation:slideIn 0.5s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{from{opacity:0;transform:translateX(-20px);max-height:0}to{opacity:1;transform:translateX(0);max-height:450px}}.animated-component.hide{animation:fadeOut 0.3s ease-in-out forwards}@keyframes fadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}rebill-mode-sandbox{position:fixed;bottom:50px;left:50%;transform:translateX(-50%);z-index:1000}@media (max-width: 1024px){rebill-test-mode-chip{bottom:46px}}@media (min-width: 1025px){rebill-test-mode-chip{bottom:46px}}.mode-sandbox-mobile-container{display:flex;align-items:center;width:100%;padding:0;margin:0;box-sizing:border-box}@media (min-width: 1451px){.left-section-container{min-width:450px;margin:2.5rem 5rem 1.5rem 5rem}.checkout-summary-section{min-width:450px;margin:0rem 5rem}}";const M=class{constructor(i){e(this,i);this.success=t(this,"success");this.paymentError=t(this,"paymentError");this.paymentMethodSelected=t(this,"paymentMethodSelected")}renewalData;renewalToken;currentPaymentMethod=c.CARD;isSubmitting=false;isCardSubmitting=false;isCardSuccess=false;errorMessage=null;breakpoint=f.DESKTOP;errorPaymentCard=false;errorPaymentAPM=false;initialData={};checkoutResponse=null;currentApmPaymentMethod=null;countries=[];allRequiredFields={};currentRequiredFields=[];errorCardInvalid=false;cardMode="select";success;paymentError;paymentMethodSelected;validationSchema={phoneNumber:r().when([],{is:()=>k("phoneNumber",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.phoneRequired"),otherwise:e=>e.notRequired()}),"billing-country":r().when([],{is:()=>k("billing-country",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.countryRequired"),otherwise:e=>e.notRequired()}),"billing-state":r().when([],{is:()=>k("billing-state",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.stateRequired"),otherwise:e=>e.notRequired()}),"billing-address":r().when([],{is:()=>k("billing-address",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.addressRequired"),otherwise:e=>e.notRequired()}),"billing-city":r().when([],{is:()=>k("billing-city",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.cityRequired"),otherwise:e=>e.notRequired()}),"billing-zip":r().when([],{is:()=>k("billing-zip",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.zipRequired"),otherwise:e=>e.notRequired()}),bankId:r().when([],{is:()=>k("bankId",this.currentRequiredFields),then:e=>e.required("validation.bankRequired"),otherwise:e=>e.notRequired()}),documentType:r().when([],{is:()=>k("documentType",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.documentTypeRequired"),otherwise:e=>e.notRequired()}),documentNumber:r().when([],{is:()=>k("documentNumber",this.currentRequiredFields)&&this.cardMode==="input",then:e=>{const t=e.required("validation.documentNumberRequired").min(7,"validation.documentInvalid");if(m.data?.price?.country==="BR"){return t.test("numeric-only","validation.documentNumberNumericOnly",(e=>{if(!e)return true;return/^\d+$/.test(e)}))}return t},otherwise:e=>e.notRequired()})};resizeHandler=()=>{this.breakpoint=b(window.innerWidth)};async componentWillLoad(){this.resizeHandler();window.addEventListener("resize",this.resizeHandler);const e=typeof this.renewalData==="string"?JSON.parse(this.renewalData):this.renewalData;u.initializeRenewal({...e,token:this.renewalToken});x.loadGoogleMapsScript();try{const e=await o.data.getCountries();this.countries=e.data}catch(e){console.error("Error loading countries:",e)}try{this.allRequiredFields=await C()}catch(e){console.error("Error loading required fields:",e)}if(m.data.paymentMethods.length>0){let e=null;if(m.data.subscription?.paymentMethod){const t=m.data.subscription.paymentMethod.toLowerCase();const i=t==="card"?c.CARD:t==="bank_transfer"?c.BANK_TRANSFER:null;if(i){const t=m.data.paymentMethods.some((e=>e.type===i));if(t){e=i}}}if(!e){e=m.data.paymentMethods[0].type}this.currentPaymentMethod=e;u.setSelectedPaymentMethod(e);if(e!==c.CARD){this.cardMode="input";u.setCardMode("input")}try{this.currentRequiredFields=q(e,this.allRequiredFields).fields}catch(e){console.error("Error getting required fields for method:",e)}await this.initializeFingerprint(e)}this.initialData=this.getInitialData();p("cardMode",(()=>{this.cardMode=m.cardMode}))}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}async handlePaymentMethodSelected(e){e.stopPropagation();if(this.currentPaymentMethod===e.detail){return}this.currentPaymentMethod=e.detail;u.setSelectedPaymentMethod(this.currentPaymentMethod);if(this.currentPaymentMethod!==c.CARD){this.cardMode="input";u.setCardMode("input")}try{this.currentRequiredFields=q(this.currentPaymentMethod,this.allRequiredFields).fields}catch(e){console.error("Error getting required fields for method:",e)}await this.initializeFingerprint(this.currentPaymentMethod);this.paymentMethodSelected.emit(e.detail)}async initializeFingerprint(e){if(e===c.CARD&&!m.deviceId){try{const e=crypto.randomUUID();const t=await o.fingerPrint.getFingerPrint(e);u.setDeviceId(e);const i=t.result.script;const r=document.createElement("script");r.innerHTML=i;document.body.appendChild(r)}catch(e){console.error("Failed to initialize fingerprint:",e)}}}handleBankSelected(e){e.stopPropagation();u.setSelectedBankId(e.detail)}handleCardSelected(e){const{card:t,cvv:i}=e.detail;u.setSelectedCard(t);u.setCvv(i||"")}get currentPaymentError(){if(this.currentPaymentMethod===c.CARD){return this.errorPaymentCard}else if(this.currentPaymentMethod===c.CASH||this.currentPaymentMethod===c.BANK_TRANSFER){return this.errorPaymentAPM}return false}async handleSubmit(e){if(this.isSubmitting){return}if(this.currentPaymentMethod===c.CARD){await this.handleCardRenewal(e)}else{await this.handleAPMRenewal(e)}}async handleCardRenewal(e){const t=e?.detail||this.getInitialData();if(!m.data.cardId&&!m.data.cardTokenId){this.errorCardInvalid=true;return}if(!m.data.cardInformation&&!m.data.cardId){this.errorCardInvalid=true;return}this.errorCardInvalid=false;this.isSubmitting=true;this.isCardSubmitting=true;u.setLoading(true);try{const e={transaction:{quantity:1},...m.data.cardId&&{cardId:m.data.cardId},...m.data.cardTokenId&&{cardTokenId:m.data.cardTokenId},customAttributes:{...m.deviceId&&{deviceId:m.deviceId}},...this.cardMode==="input"&&{customer:{firstName:t.fullName?.split(" ")[0]||m.data.subscription.customerName?.split(" ")[0],lastName:t.fullName?.split(" ").slice(1).join(" ")||m.data.subscription.customerName?.split(" ").slice(1).join(" "),email:t.email||m.data.subscription.customerEmail,phone:{countryCode:t.countryCodePhoneNumber||"",number:t.phoneNumber||""}},billingDetails:{address:{lineOne:t["billing-address"]||"",city:t["billing-city"]||"",state:t["billing-state"]||"",country:t["billing-country"]||"",zipCode:t["billing-zip"]||""},identification:{type:t.documentType||"",value:t.documentNumber||""}}}};const i=n();const r=await o.checkout.createCardCheckoutRequest(m.data.id,i,e,m.token);this.isSubmitting=false;this.isCardSubmitting=false;u.setLoading(false);u.setCheckoutResponse(r.data);if(r.data.result?.status.toUpperCase()===s.APPROVED){this.isCardSuccess=true}else{this.isCardSuccess=false;this.errorPaymentCard=true;this.errorMessage={message:r.data.error?.error?.message}}}catch(e){this.isSubmitting=false;this.isCardSubmitting=false;u.setLoading(false);this.errorPaymentCard=true;this.errorMessage={message:e.data?.error?.message}}}async handleAPMRenewal(e){this.isSubmitting=true;u.setLoading(true);try{const t=w.mapToAPMPaymentMethod(this.currentPaymentMethod,m.data.price.country);const i=e?.detail||this.getFormData();const r={address:{country:i["billing-country"],state:i["billing-state"]||"",city:i["billing-city"]||"",zipCode:i["billing-zip"]||"",lineOne:i["billing-address"]||""},identification:{type:i.documentType||"dni",value:i.documentNumber||""}};const a={transaction:{quantity:1},method:t,billingDetails:r,redirect:{approved:window.location.origin+"/renewal/success",rejected:window.location.origin+"/renewal/failure"},paymentMetadata:{orderId:m.data.id,source:"renewal-web"},customAttributes:{bank:i.bankId||""}};a.customer={firstName:i.fullName?.split(" ")[0]||m.data.subscription.customerName.split(" ")[0]||"",lastName:i.fullName?.split(" ").slice(1).join(" ")||m.data.subscription.customerName.split(" ").slice(1).join(" ")||"",email:i.email||m.data.subscription.customerEmail,phone:{countryCode:i.countryCodePhoneNumber||"",number:i.phoneNumber||""}};const l=n();const c=await o.checkout.createAPMCheckoutRequest(m.data.id,l,a);this.isSubmitting=false;u.setLoading(false);u.setCheckoutResponse(c.data);this.checkoutResponse=c.data;const d=c.data.result?.status?.toString().toLowerCase();const p=d===s.APPROVED.toLowerCase();const f=d===h.PENDING_CUSTOMER_CHARGE;if(p){this.isCardSuccess=true;this.errorPaymentAPM=false;this.errorMessage=null}else if(f){this.isCardSuccess=false;this.errorPaymentAPM=false;this.errorMessage=null}else{this.paymentError.emit(c.data);u.setCheckoutResponse(c.data);this.errorPaymentAPM=true;this.errorMessage={alertTitle:c.data?.error?.message,message:c.data.error?.message}}}catch(e){this.isSubmitting=false;u.setLoading(false);this.paymentError.emit(e);this.errorPaymentAPM=true;this.errorMessage={alertTitle:e.data?.error?.message,message:e.data?.error?.message}}}getFormData=()=>this.initialData;getInitialData=()=>({email:m.data.subscription.customerEmail,fullName:m.data.subscription.customerName,card:"","billing-country":"","billing-state":"","billing-address":"","billing-city":"","billing-zip":"",bankId:"",phoneNumber:"",countryCodePhoneNumber:"",documentType:"",documentNumber:""});hasPrefilledAddress=()=>{const e=["billing-country","billing-state","billing-address","billing-city","billing-zip"];return e.some((e=>{const t=this.initialData[e];return t&&t.trim()!==""}))};getPaymentDate=()=>{const e=m.form.checkoutResponse;if(!e)return"";if("date"in e){return e.date}return""};getReferenceNumber=()=>{const e=m.form.checkoutResponse;if(!e)return"";if("traceId"in e){return e.traceId}return""};get isAPMCheckoutVisible(){return!this.isCardSuccess&&!this.errorPaymentAPM&&!!this.checkoutResponse?.result&&(this.currentPaymentMethod===c.CASH||this.currentPaymentMethod===c.BANK_TRANSFER)}handlePaymentStatusChange=e=>{if(e.isCompleted){if(e.status===h.APPROVED){this.isCardSuccess=true;this.errorPaymentAPM=false;this.errorMessage=null;this.success.emit({paymentMethod:this.currentPaymentMethod,data:this.checkoutResponse})}else if(e.status===h.REJECTED){this.errorPaymentAPM=true;this.errorMessage={alertTitle:a.APM_ERROR_GENERIC,message:a.APM_MESSAGE_ERROR}}}};render(){if(!m.isInitialized){return i("div",{class:"loading"},d.translate("renewal.loading"))}const e=e=>i("renewal-summary",{totalAmount:m.data.price.amount,subTotalAmount:m.data.subscription.subTotalAmount,currency:m.data.price.currency,subscriptionTitle:m.data.subscription.name[0]?.text||"Subscription",subscriptionAmount:m.data.subscription.amount,nextChargeDate:m.data.subscription.nextChargeDate,frequency:m.data.subscription.frequency,couponCode:m.data.price.couponCode,discountAmount:m.data.price.discountedAmount,discountPercentage:m.data.price.discountPercentage,...e});return i(i.Fragment,null,i("rebill-processing-payment",{style:{display:this.isCardSubmitting?"block":"none"}}),this.isCardSuccess?i("renewal-success-page",{typePaymentMethod:this.currentPaymentMethod,paymentDate:this.getPaymentDate(),referenceNumber:this.getReferenceNumber(),cardLastFour:m.data.subscription.cardLastFour,country:m.data.price.country,paymentMethodName:w.mapToAPMPaymentMethod(this.currentPaymentMethod,m.data?.price?.country),bank:m.form?.selectedBankId||""}):i("rebill-checkout-form",{style:{display:this.isCardSubmitting||this.isCardSuccess?"none":"block"},validationSchema:this.validationSchema,initialData:this.initialData,onSubmit:e=>this.handleSubmit(e),renderForm:({submit:t,formData:r,errors:o})=>i("div",{class:"rebill-checkout-renewal"},i("div",{class:"left-section"},i("div",{class:"left-section-container"},i("organization-logo",{organization:m.data.organization}),i("div",{class:"checkout-form-section"},i("user-information-static",{userInfo:{customerName:m.data.subscription.customerName,customerEmail:m.data.subscription.customerEmail}}),g(this.breakpoint,f.DESKTOP)&&e({displayedComponents:"header"}),g(this.breakpoint,f.DESKTOP)&&e({displayedComponents:"details"}),i("div",{style:{display:"flex",flexDirection:"column",gap:"32px"}},i("payment-method-selector",{enabledPaymentMethods:[...new Set(m.data.paymentMethods.map((e=>e.type)))],defaultSelected:this.currentPaymentMethod,errorComponent:{showErrorComponent:this.currentPaymentError,alertTitle:l.getErrorTitle(this.currentPaymentMethod,m.data.price.country,this.errorMessage?.alertTitle),message:l.getErrorMessage(this.errorMessage?.message,this.currentPaymentMethod,m.data.price.country)},cardError:{showCardInvalid:this.errorCardInvalid,type:null},country:m.data.price.country,documentTypeError:o?.documentType,documentNumberError:o?.documentNumber,showDocument:!this.isAPMCheckoutVisible&&this.cardMode==="input"&&(k("documentType",this.currentRequiredFields)||k("documentNumber",this.currentRequiredFields))}),this.currentPaymentMethod!==c.CARD&&m.data.subscription?.paymentMethod===c.CARD&&i("rebill-alert",{type:"info",message:d.translate("renewal.paymentMethodAlert",{cardLastFour:m.data?.subscription?.cardLastFour||"****"}),icon:"calendar-edit",variant:"outlined",colorIcon:y.PRIMARY}),!this.isAPMCheckoutVisible&&this.cardMode==="input"&&k("bankId",this.currentRequiredFields)&&i("div",{class:"animated-component fade-in"},i("rebill-bank-selector",{banks:v("bank",this.allRequiredFields[this.currentPaymentMethod]?.original)||[],defaultSelectedBankId:r.bankId||"",error:o?.bankId}))),!this.isAPMCheckoutVisible&&this.cardMode==="input"&&(k("billing-country",this.currentRequiredFields)||k("billing-state",this.currentRequiredFields)||k("billing-address",this.currentRequiredFields)||k("billing-city",this.currentRequiredFields)||k("billing-zip",this.currentRequiredFields))&&i("div",{class:"animated-component slide-in"},i("rebill-address",{countryOptions:this.countries.map((e=>({label:e.country,value:e.isoCountryCode}))),billingView:this.hasPrefilledAddress()?"form":"search",errors:{"billing-country":o["billing-country"],"billing-state":o["billing-state"],"billing-address":o["billing-address"],"billing-city":o["billing-city"],"billing-zip":o["billing-zip"]}})),!this.isAPMCheckoutVisible&&this.cardMode==="input"&&k("phoneNumber",this.currentRequiredFields)&&i("div",{class:"animated-component fade-in"},i("user-information-phone",{error:o?.phoneNumber})),this.isAPMCheckoutVisible&&i("apm-checkout",{paymentMethod:this.currentPaymentMethod,referenceId:this.currentPaymentMethod===c.CASH?this.checkoutResponse.result.data.referenceId:undefined,qrCodeData:this.currentPaymentMethod===c.BANK_TRANSFER?this.checkoutResponse.result.data.qrCode:undefined,code:this.checkoutResponse?.result?.data?.code,providerName:m.data.organization?.name||"",expirationDate:(()=>{const e=new Date;e.setDate(e.getDate()+30);return e.toISOString()})(),country:m.data.price.country,redirectUrl:this.checkoutResponse.result.data.url,checkoutRequestId:this.checkoutResponse?.result?.checkoutRequestId,bearerToken:this.checkoutResponse?.result?.data?.bearerToken,onPaymentStatusChange:e=>this.handlePaymentStatusChange(e.detail)}),g(this.breakpoint,f.DESKTOP)&&e({displayedComponents:"summary"}),i("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},!this.isAPMCheckoutVisible&&i("payment-button",{paymentMethod:this.currentPaymentMethod,isLoading:this.isSubmitting,isRenewal:true,trialPeriodDays:m.data.subscription.trialPeriodDays,redirectUrl:!!this.checkoutResponse?.result?.data?.url,timeToRedirect:5e3,country:m.data.price.country,isDisabled:m.fetchingInstallments,onSubmit:()=>t()}),i("rebill-alert",{type:"secure",variant:"variant-secure",icon:"lock-outline",message:d.translate("otp.secureMessage")}))),i("rebill-footer",{style:{marginTop:g(this.breakpoint,f.DESKTOP)?"24px":"auto"}}))),!g(this.breakpoint,f.DESKTOP)&&i("div",{class:"right-section"},i("div",{class:"checkout-summary-section"},e({displayedComponents:["header","details","summary"]}))))}))}};M.style=j;export{M as rebill_renewal};
2
- //# sourceMappingURL=p-b3a695df.entry.js.map
1
+ import{r as e,c as t,h as i}from"./p-BTZ7D7jU.js";import{c as r}from"./p-MMCcKmy_.js";import{a as o}from"./p-CV0wqtJM.js";import{g as n,C as s,P as a,a as l}from"./p-BXKxstSq.js";import{P as c,I as d}from"./p-DPLmRWqO.js";import{S as h}from"./p-vsLqF4hk.js";import{r as m,R as u,o as p}from"./p-neQ-hFWj.js";import{B as f,g as b,i as g}from"./p-Do_vNuMa.js";import{C as y}from"./p-C5Pu-n-i.js";import{G as x}from"./p-CMSUR2TZ.js";import{P as w}from"./p-_K6gh3MX.js";import{i as k,g as v}from"./p-B076eOjt.js";import{g as C,a as q}from"./p-Cq2cEUlR.js";import"./p-E-ZsRS8r.js";import"./p-CzeVW03r.js";const j=":root{--rebill-color-primary:#0056f6;--rebill-color-primary-light:rgba(59, 130, 246, 0.1);--rebill-color-primary-hover:#2563eb;--rebill-color-primary-dark-hover:#001c4a;--rebill-color-info-border:#0156f6;--rebill-color-info-text:#172b85;--rebill-color-link:#3b82f6;--rebill-color-primary-dark:#001131;--rebill-color-primary-dark-text:#000000;--rebill-color-primary-dark-light:rgba(0, 17, 49, 0.1);--rebill-color-error:#ef4444;--rebill-color-error-background:#fef2f2;--rebill-color-error-light:rgba(239, 68, 68, 0.1);--rebill-color-error-dark:#6f101b;--rebill-color-background:#ffffff;--rebill-color-background-left:#fafafa;--rebill-color-background-right:#f4f5f6;--rebill-color-background-secondary:#f7f8fa;--rebill-color-border:#ebedef;--rebill-color-timeline-connector:#c4c8cf;--rebill-color-neutrals-700:#58616e;--rebill-color-neutrals-500:#9ca3af;--rebill-color-border-primary:#e4e4e7;--rebill-color-text-primary:#3b4049;--rebill-color-text-secondary:#6b7280;--rebill-color-grey-700:#7d7d7d;--rebill-color-text-secondary-light:#a1a1aa;--rebill-color-text-on-primary:#ffffff;--rebill-color-disabled:#9ca3af;--rebill-color-shadow:rgba(0, 0, 0, 0.1);--rebill-color-green:#10b981;--rebill-color-green-text:#257c67;--rebill-color-green-light:rgba(183, 233, 221, 0.15);--rebill-color-green-light-2:rgba(183, 233, 221, 1);--rebill-color-info-background:#d5e4ff;--rebill-color-background-secondary-light:#f7f8fa;--rebill-breakpoint-mobile:768px;--rebill-breakpoint-tablet:1024px;--rebill-breakpoint-desktop:1025px;--rebill-color-orange:#ff9400;--rebill-color-black:#1e2025;--rebill-color-grey-300:#3b4049;--rebill-color-grey-100:#aeaeae}.qr-container,.qr-image,.qr-image svg,.qr-image img,[class*='qr-'],[class*='success'],[class*='receipt']{transition:none !important;animation:none !important;will-change:auto !important}button:active,button:focus,button:hover{isolation:isolate}@media (max-width: 1024px){.rebill-checkout-renewal{flex-direction:column;gap:0;justify-content:flex-start;background:var(--rebill-color-background);padding:20px}.right-section .left-section{width:100%;height:100%;background:var(--rebill-color-background)}.checkout-form-section{display:flex;flex-direction:column;justify-content:flex-start;gap:24px;height:100%;margin-top:24px}.otp-container{display:flex;flex-direction:column;justify-content:flex-start;gap:24px}}@media (min-width: 1025px){.rebill-checkout-renewal{width:100vw;min-height:100vh;display:flex;flex-direction:row;justify-content:center;overflow-y:auto}.left-section{display:flex;width:60%;background:var(--rebill-color-background-left);justify-content:space-around}.right-section{display:flex;padding-top:72px;width:40%;background:var(--rebill-color-background-right);position:sticky;top:0;justify-content:center}.checkout-form-section{display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:36px;margin-top:24px;gap:32px}.left-section-container{max-width:450px;min-width:450px;margin:2.5rem 2rem 1.5rem 2rem;display:flex;flex-direction:column}.checkout-summary-section{max-width:450px;min-width:350px;margin:0rem 2rem;background:var(--rebill-color-background-right);display:flex;flex-direction:column;justify-content:flex-start;width:100%}.checkout-form-section user-information,.checkout-form-section payment-method-selector,.checkout-form-section rebill-address,.checkout-summary-section rebill-summary{width:100%}.pac-container{border-radius:4px;box-shadow:0 4px 8px rgba(0, 0, 0, 0.1);border:1px solid #e0e0e0;margin-top:4px;font-family:inherit}.pac-item{padding:10px 12px;cursor:pointer;border-top:none}.pac-item:first-child{border-top:none}.pac-item:hover{background-color:#f5f5f5}.pac-item-query{font-weight:500}.pac-icon{display:none}}.payment-button-container{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.animated-component{transition:all 0.3s ease-in-out;overflow:visible}.fade-in{animation:fadeIn 0.4s ease-in-out}.slide-in{animation:slideIn 0.5s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{from{opacity:0;transform:translateX(-20px);max-height:0}to{opacity:1;transform:translateX(0);max-height:450px}}.animated-component.hide{animation:fadeOut 0.3s ease-in-out forwards}@keyframes fadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}rebill-mode-sandbox{position:fixed;bottom:50px;left:50%;transform:translateX(-50%);z-index:1000}@media (max-width: 1024px){rebill-test-mode-chip{bottom:46px}}@media (min-width: 1025px){rebill-test-mode-chip{bottom:46px}}.mode-sandbox-mobile-container{display:flex;align-items:center;width:100%;padding:0;margin:0;box-sizing:border-box}@media (min-width: 1451px){.left-section-container{min-width:450px;margin:2.5rem 5rem 1.5rem 5rem}.checkout-summary-section{min-width:450px;margin:0rem 5rem}}";const M=class{constructor(i){e(this,i);this.success=t(this,"success");this.paymentError=t(this,"paymentError");this.paymentMethodSelected=t(this,"paymentMethodSelected")}renewalData;renewalToken;currentPaymentMethod=c.CARD;isSubmitting=false;isCardSubmitting=false;isCardSuccess=false;errorMessage=null;breakpoint=f.DESKTOP;errorPaymentCard=false;errorPaymentAPM=false;initialData={};checkoutResponse=null;currentApmPaymentMethod=null;countries=[];allRequiredFields={};currentRequiredFields=[];errorCardInvalid=false;cardMode="select";success;paymentError;paymentMethodSelected;validationSchema={phoneNumber:r().when([],{is:()=>k("phoneNumber",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.phoneRequired"),otherwise:e=>e.notRequired()}),"billing-country":r().when([],{is:()=>k("billing-country",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.countryRequired"),otherwise:e=>e.notRequired()}),"billing-state":r().when([],{is:()=>k("billing-state",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.stateRequired"),otherwise:e=>e.notRequired()}),"billing-address":r().when([],{is:()=>k("billing-address",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.addressRequired"),otherwise:e=>e.notRequired()}),"billing-city":r().when([],{is:()=>k("billing-city",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.cityRequired"),otherwise:e=>e.notRequired()}),"billing-zip":r().when([],{is:()=>k("billing-zip",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.zipRequired"),otherwise:e=>e.notRequired()}),bankId:r().when([],{is:()=>k("bankId",this.currentRequiredFields),then:e=>e.required("validation.bankRequired"),otherwise:e=>e.notRequired()}),documentType:r().when([],{is:()=>k("documentType",this.currentRequiredFields)&&this.cardMode==="input",then:e=>e.required("validation.documentTypeRequired"),otherwise:e=>e.notRequired()}),documentNumber:r().when([],{is:()=>k("documentNumber",this.currentRequiredFields)&&this.cardMode==="input",then:e=>{const t=e.required("validation.documentNumberRequired").min(7,"validation.documentInvalid");if(m.data?.price?.country==="BR"){return t.test("numeric-only","validation.documentNumberNumericOnly",(e=>{if(!e)return true;return/^\d+$/.test(e)}))}return t},otherwise:e=>e.notRequired()})};resizeHandler=()=>{this.breakpoint=b(window.innerWidth)};async componentWillLoad(){this.resizeHandler();window.addEventListener("resize",this.resizeHandler);const e=typeof this.renewalData==="string"?JSON.parse(this.renewalData):this.renewalData;u.initializeRenewal({...e,token:this.renewalToken});x.loadGoogleMapsScript();try{const e=await o.data.getCountries();this.countries=e.data}catch(e){console.error("Error loading countries:",e)}try{this.allRequiredFields=await C()}catch(e){console.error("Error loading required fields:",e)}if(m.data.paymentMethods.length>0){let e=null;if(m.data.subscription?.paymentMethod){const t=m.data.subscription.paymentMethod.toLowerCase();const i=t==="card"?c.CARD:t==="bank_transfer"?c.BANK_TRANSFER:null;if(i){const t=m.data.paymentMethods.some((e=>e.type===i));if(t){e=i}}}if(!e){e=m.data.paymentMethods[0].type}this.currentPaymentMethod=e;u.setSelectedPaymentMethod(e);if(e!==c.CARD){this.cardMode="input";u.setCardMode("input")}try{this.currentRequiredFields=q(e,this.allRequiredFields).fields}catch(e){console.error("Error getting required fields for method:",e)}await this.initializeFingerprint(e)}this.initialData=this.getInitialData();p("cardMode",(()=>{this.cardMode=m.cardMode}))}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}async handlePaymentMethodSelected(e){e.stopPropagation();if(this.currentPaymentMethod===e.detail){return}this.currentPaymentMethod=e.detail;u.setSelectedPaymentMethod(this.currentPaymentMethod);if(this.currentPaymentMethod!==c.CARD){this.cardMode="input";u.setCardMode("input")}try{this.currentRequiredFields=q(this.currentPaymentMethod,this.allRequiredFields).fields}catch(e){console.error("Error getting required fields for method:",e)}await this.initializeFingerprint(this.currentPaymentMethod);this.paymentMethodSelected.emit(e.detail)}async initializeFingerprint(e){if(e===c.CARD&&!m.deviceId){try{const e=crypto.randomUUID();const t=await o.fingerPrint.getFingerPrint(e);u.setDeviceId(e);const i=t.result.script;const r=document.createElement("script");r.innerHTML=i;document.body.appendChild(r)}catch(e){console.error("Failed to initialize fingerprint:",e)}}}handleBankSelected(e){e.stopPropagation();u.setSelectedBankId(e.detail)}handleCardSelected(e){const{card:t,cvv:i}=e.detail;u.setSelectedCard(t);u.setCvv(i||"")}get currentPaymentError(){if(this.currentPaymentMethod===c.CARD){return this.errorPaymentCard}else if(this.currentPaymentMethod===c.CASH||this.currentPaymentMethod===c.BANK_TRANSFER){return this.errorPaymentAPM}return false}async handleSubmit(e){if(this.isSubmitting){return}if(this.currentPaymentMethod===c.CARD){await this.handleCardRenewal(e)}else{await this.handleAPMRenewal(e)}}async handleCardRenewal(e){const t=e?.detail||this.getInitialData();if(!m.data.cardId&&!m.data.cardTokenId){this.errorCardInvalid=true;return}if(!m.data.cardInformation&&!m.data.cardId){this.errorCardInvalid=true;return}this.errorCardInvalid=false;this.isSubmitting=true;this.isCardSubmitting=true;u.setLoading(true);try{const e={transaction:{quantity:1},...m.data.cardId&&{cardId:m.data.cardId},...m.data.cardTokenId&&{cardTokenId:m.data.cardTokenId},customAttributes:{...m.deviceId&&{deviceId:m.deviceId}},...this.cardMode==="input"&&{customer:{firstName:t.fullName?.split(" ")[0]||m.data.subscription.customerName?.split(" ")[0],lastName:t.fullName?.split(" ").slice(1).join(" ")||m.data.subscription.customerName?.split(" ").slice(1).join(" "),email:t.email||m.data.subscription.customerEmail,phone:{countryCode:t.countryCodePhoneNumber||"",number:t.phoneNumber||""}},billingDetails:{address:{lineOne:t["billing-address"]||"",city:t["billing-city"]||"",state:t["billing-state"]||"",country:t["billing-country"]||"",zipCode:t["billing-zip"]||""},identification:{type:t.documentType||"",value:t.documentNumber||""}}}};const i=n();const r=await o.checkout.createCardCheckoutRequest(m.data.id,i,e,m.token);this.isSubmitting=false;this.isCardSubmitting=false;u.setLoading(false);u.setCheckoutResponse(r.data);if(r.data.result?.status.toUpperCase()===s.APPROVED){this.isCardSuccess=true}else{this.isCardSuccess=false;this.errorPaymentCard=true;this.errorMessage={message:r.data.error?.error?.message}}}catch(e){this.isSubmitting=false;this.isCardSubmitting=false;u.setLoading(false);this.errorPaymentCard=true;this.errorMessage={message:e.data?.error?.message}}}async handleAPMRenewal(e){this.isSubmitting=true;u.setLoading(true);try{const t=w.mapToAPMPaymentMethod(this.currentPaymentMethod,m.data.price.country);const i=e?.detail||this.getFormData();const r={address:{country:i["billing-country"],state:i["billing-state"]||"",city:i["billing-city"]||"",zipCode:i["billing-zip"]||"",lineOne:i["billing-address"]||""},identification:{type:i.documentType||"dni",value:i.documentNumber||""}};const a={transaction:{quantity:1},method:t,billingDetails:r,redirect:{approved:window.location.origin+"/renewal/success",rejected:window.location.origin+"/renewal/failure"},paymentMetadata:{orderId:m.data.id,source:"renewal-web"},customAttributes:{bank:i.bankId||""}};a.customer={firstName:i.fullName?.split(" ")[0]||m.data.subscription.customerName.split(" ")[0]||"",lastName:i.fullName?.split(" ").slice(1).join(" ")||m.data.subscription.customerName.split(" ").slice(1).join(" ")||"",email:i.email||m.data.subscription.customerEmail,phone:{countryCode:i.countryCodePhoneNumber||"",number:i.phoneNumber||""}};const l=n();const c=await o.checkout.createAPMCheckoutRequest(m.data.id,l,a);this.isSubmitting=false;u.setLoading(false);u.setCheckoutResponse(c.data);this.checkoutResponse=c.data;const d=c.data.result?.status?.toString().toLowerCase();const p=d===s.APPROVED.toLowerCase();const f=d===h.PENDING_CUSTOMER_CHARGE;if(p){this.isCardSuccess=true;this.errorPaymentAPM=false;this.errorMessage=null}else if(f){this.isCardSuccess=false;this.errorPaymentAPM=false;this.errorMessage=null}else{this.paymentError.emit(c.data);u.setCheckoutResponse(c.data);this.errorPaymentAPM=true;this.errorMessage={alertTitle:c.data?.error?.message,message:c.data.error?.message}}}catch(e){this.isSubmitting=false;u.setLoading(false);this.paymentError.emit(e);this.errorPaymentAPM=true;this.errorMessage={alertTitle:e.data?.error?.message,message:e.data?.error?.message}}}getFormData=()=>this.initialData;getInitialData=()=>({email:m.data.subscription.customerEmail,fullName:m.data.subscription.customerName,card:"","billing-country":"","billing-state":"","billing-address":"","billing-city":"","billing-zip":"",bankId:"",phoneNumber:"",countryCodePhoneNumber:"",documentType:"",documentNumber:""});hasPrefilledAddress=()=>{const e=["billing-country","billing-state","billing-address","billing-city","billing-zip"];return e.some((e=>{const t=this.initialData[e];return t&&t.trim()!==""}))};getPaymentDate=()=>{const e=m.form.checkoutResponse;if(!e)return"";if("date"in e){return e.date}return""};getReferenceNumber=()=>{const e=m.form.checkoutResponse;if(!e)return"";if("traceId"in e){return e.traceId}return""};get isAPMCheckoutVisible(){return!this.isCardSuccess&&!this.errorPaymentAPM&&!!this.checkoutResponse?.result&&(this.currentPaymentMethod===c.CASH||this.currentPaymentMethod===c.BANK_TRANSFER)}handlePaymentStatusChange=e=>{if(e.isCompleted){if(e.status===h.APPROVED){this.isCardSuccess=true;this.errorPaymentAPM=false;this.errorMessage=null;this.success.emit({paymentMethod:this.currentPaymentMethod,data:this.checkoutResponse})}else if(e.status===h.REJECTED){this.errorPaymentAPM=true;this.errorMessage={alertTitle:a.APM_ERROR_GENERIC,message:a.APM_MESSAGE_ERROR}}}};render(){if(!m.isInitialized){return i("div",{class:"loading"},d.translate("renewal.loading"))}const e=e=>i("renewal-summary",{totalAmount:m.data.price.amount,subTotalAmount:m.data.subscription.subTotalAmount,currency:m.data.price.currency,subscriptionTitle:m.data.subscription.name[0]?.text||"Subscription",subscriptionAmount:m.data.subscription.amount,nextChargeDate:m.data.subscription.nextChargeDate,frequency:m.data.subscription.frequency,couponCode:m.data.price.couponCode,discountAmount:m.data.price.discountedAmount,discountPercentage:m.data.price.discountPercentage,...e});return i(i.Fragment,null,i("rebill-processing-payment",{style:{display:this.isCardSubmitting?"block":"none"}}),this.isCardSuccess?i("renewal-success-page",{typePaymentMethod:this.currentPaymentMethod,paymentDate:this.getPaymentDate(),referenceNumber:this.getReferenceNumber(),cardLastFour:m.data.subscription.cardLastFour,country:m.data.price.country,paymentMethodName:w.mapToAPMPaymentMethod(this.currentPaymentMethod,m.data?.price?.country),bank:m.form?.selectedBankId||""}):i("rebill-checkout-form",{style:{display:this.isCardSubmitting||this.isCardSuccess?"none":"block"},validationSchema:this.validationSchema,initialData:this.initialData,onSubmit:e=>this.handleSubmit(e),renderForm:({submit:t,formData:r,errors:o})=>i("div",{class:"rebill-checkout-renewal"},i("div",{class:"left-section"},i("div",{class:"left-section-container"},i("organization-logo",{organization:m.data.organization}),i("div",{class:"checkout-form-section"},i("user-information-static",{userInfo:{customerName:m.data.subscription.customerName,customerEmail:m.data.subscription.customerEmail}}),g(this.breakpoint,f.DESKTOP)&&e({displayedComponents:"header"}),g(this.breakpoint,f.DESKTOP)&&e({displayedComponents:"details"}),i("div",{style:{display:"flex",flexDirection:"column",gap:"32px"}},i("payment-method-selector",{enabledPaymentMethods:[...new Set(m.data.paymentMethods.map((e=>e.type)))],defaultSelected:this.currentPaymentMethod,errorComponent:{showErrorComponent:this.currentPaymentError,alertTitle:l.getErrorTitle(this.currentPaymentMethod,m.data.price.country,this.errorMessage?.alertTitle),message:l.getErrorMessage(this.errorMessage?.message,this.currentPaymentMethod,m.data.price.country)},cardError:{showCardInvalid:this.errorCardInvalid,type:null},country:m.data.price.country,documentTypeError:o?.documentType,documentNumberError:o?.documentNumber,showDocument:!this.isAPMCheckoutVisible&&this.cardMode==="input"&&(k("documentType",this.currentRequiredFields)||k("documentNumber",this.currentRequiredFields))}),this.currentPaymentMethod!==c.CARD&&m.data.subscription?.paymentMethod===c.CARD&&i("rebill-alert",{type:"info",message:d.translate("renewal.paymentMethodAlert",{cardLastFour:m.data?.subscription?.cardLastFour||"****"}),icon:"calendar-edit",variant:"outlined",colorIcon:y.PRIMARY}),!this.isAPMCheckoutVisible&&this.cardMode==="input"&&k("bankId",this.currentRequiredFields)&&i("div",{class:"animated-component fade-in"},i("rebill-bank-selector",{banks:v("bank",this.allRequiredFields[this.currentPaymentMethod]?.original)||[],defaultSelectedBankId:r.bankId||"",error:o?.bankId}))),!this.isAPMCheckoutVisible&&this.cardMode==="input"&&(k("billing-country",this.currentRequiredFields)||k("billing-state",this.currentRequiredFields)||k("billing-address",this.currentRequiredFields)||k("billing-city",this.currentRequiredFields)||k("billing-zip",this.currentRequiredFields))&&i("div",{class:"animated-component slide-in"},i("rebill-address",{countryOptions:this.countries.map((e=>({label:e.country,value:e.isoCountryCode}))),billingView:this.hasPrefilledAddress()?"form":"search",errors:{"billing-country":o["billing-country"],"billing-state":o["billing-state"],"billing-address":o["billing-address"],"billing-city":o["billing-city"],"billing-zip":o["billing-zip"]}})),!this.isAPMCheckoutVisible&&this.cardMode==="input"&&k("phoneNumber",this.currentRequiredFields)&&i("div",{class:"animated-component fade-in"},i("user-information-phone",{error:o?.phoneNumber})),this.isAPMCheckoutVisible&&(()=>{const e=this.currentPaymentMethod===c.CASH&&m.data?.price?.country==="BR"&&this.checkoutResponse?.result?.data?.barcode;return i("apm-checkout",{paymentMethod:this.currentPaymentMethod,barcode:e?this.checkoutResponse?.result?.data?.barcode:undefined,referenceId:this.currentPaymentMethod===c.CASH&&!e?this.checkoutResponse?.result?.data?.referenceId:undefined,qrCodeData:this.currentPaymentMethod===c.BANK_TRANSFER?this.checkoutResponse?.result?.data?.qrCode:undefined,code:this.checkoutResponse?.result?.data?.code,providerName:m.data.organization?.name||"",expirationDate:(()=>{const e=new Date;e.setDate(e.getDate()+30);return e.toISOString()})(),country:m.data.price.country,redirectUrl:this.checkoutResponse?.result?.data?.url,checkoutRequestId:this.checkoutResponse?.result?.checkoutRequestId,bearerToken:this.checkoutResponse?.result?.data?.bearerToken,onPaymentStatusChange:e=>this.handlePaymentStatusChange(e.detail)})})(),g(this.breakpoint,f.DESKTOP)&&e({displayedComponents:"summary"}),i("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},!this.isAPMCheckoutVisible&&i("payment-button",{paymentMethod:this.currentPaymentMethod,isLoading:this.isSubmitting,isRenewal:true,trialPeriodDays:m.data.subscription.trialPeriodDays,redirectUrl:!!this.checkoutResponse?.result?.data?.url,timeToRedirect:5e3,country:m.data.price.country,isDisabled:m.fetchingInstallments,onSubmit:()=>t()}),i("rebill-alert",{type:"secure",variant:"variant-secure",icon:"lock-outline",message:d.translate("otp.secureMessage")}))),i("rebill-footer",{style:{marginTop:g(this.breakpoint,f.DESKTOP)?"24px":"auto"}}))),!g(this.breakpoint,f.DESKTOP)&&i("div",{class:"right-section"},i("div",{class:"checkout-summary-section"},e({displayedComponents:["header","details","summary"]}))))}))}};M.style=j;export{M as rebill_renewal};
2
+ //# sourceMappingURL=p-11b3fc35.entry.js.map