UNPKG

@commercelayer/react-components

Version:
2 lines 3.12 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.StripeGateway=StripeGateway;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),react_1=require("react"),StripePayment_1=tslib_1.__importDefault(require("../payment_source/StripePayment")),CustomerContext_1=tslib_1.__importDefault(require("../../context/CustomerContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),PaymentMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodChildrenContext")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),PaymentMethodReducer_1=require("../../reducers/PaymentMethodReducer"),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails")),PaymentCardsTemplate_1=tslib_1.__importDefault(require("../utils/PaymentCardsTemplate"));function StripeGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,show,templateCustomerSaveToWallet,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{payment,expressPayments}=(0,react_1.useContext)(PaymentMethodChildrenContext_1.default),{payments,isGuest}=(0,react_1.useContext)(CustomerContext_1.default),{currentPaymentMethodId,config,paymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),paymentResource="stripe_payments",locale=order?.language_code;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const publishableKey=paymentSource?.publishable_key,connectedAccount=paymentSource?.connected_account,clientSecret=paymentSource?.client_secret,stripeConfig=config?(0,PaymentMethodReducer_1.getPaymentConfig)(paymentResource,config).stripePayment:{},customerPayments=!(0,isEmpty_1.default)(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type===paymentResource):[];if(readonly||showCard){const card=(0,getCardDetails_1.default)({customerPayment:{payment_source:paymentSource},paymentType:paymentResource});card?.brand===""&&(card.brand=paymentSource?.payment_instrument?.issuer_type??"credit-card");const value={...card,showCard,handleEditClick,readonly,paymentSource};return card?.brand==null?null:(0,jsx_runtime_1.jsx)(PaymentSourceContext_1.default.Provider,{value,children})}return!isGuest&&templateCustomerCards?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,isEmpty_1.default)(customerPayments)?null:(0,jsx_runtime_1.jsx)("div",{className:p.className,children:(0,jsx_runtime_1.jsx)(PaymentCardsTemplate_1.default,{paymentResource,customerPayments,children:templateCustomerCards})}),(0,jsx_runtime_1.jsx)(StripePayment_1.default,{show,templateCustomerSaveToWallet,publishableKey,connectedAccount,clientSecret,expressPayments,locale,...stripeConfig})]}):(0,jsx_runtime_1.jsx)(StripePayment_1.default,{show,publishableKey,connectedAccount,clientSecret,locale,expressPayments,...stripeConfig})}exports.default=StripeGateway;