All files / app/payment/paymentMethod PaypalExpressPaymentMethod.tsx

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29  24x   24x           24x 5x 5x 5x   5x             5x           24x  
import { PaymentInitializeOptions } from '@bigcommerce/checkout-sdk';
import React, { useCallback, FunctionComponent } from 'react';
 
import HostedPaymentMethod, { HostedPaymentMethodProps } from './HostedPaymentMethod';
 
export interface PaypalExpressPaymentMethodProps extends HostedPaymentMethodProps {
    isEmbedded?: boolean;
}
 
const PaypalExpressPaymentMethod: FunctionComponent<PaypalExpressPaymentMethodProps> = ({
    initializePayment,
    isEmbedded = false,
    ...rest
}) => {
    const initializePaypalExpressPayment = useCallback((options: PaymentInitializeOptions) => initializePayment({
        ...options,
        paypalexpress: {
            useRedirectFlow: isEmbedded,
        },
    }), [initializePayment, isEmbedded]);
 
    return <HostedPaymentMethod
        { ...rest }
        initializePayment={ initializePaypalExpressPayment }
    />;
};
 
export default PaypalExpressPaymentMethod;