All files / app/payment/paymentMethod KlarnaV2PaymentMethod.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 2924x     24x       24x 2x 2x   2x                 2x             24x  
import React, { useCallback, FunctionComponent } from 'react';
import { Omit } from 'utility-types';
 
import HostedWidgetPaymentMethod, { HostedWidgetPaymentMethodProps } from './HostedWidgetPaymentMethod';
 
export type KlarnaPaymentMethodProps = Omit<HostedWidgetPaymentMethodProps, 'containerId'>;
 
const KlarnaV2PaymentMethod: FunctionComponent<KlarnaPaymentMethodProps> = ({
    initializePayment,
    ...rest
}) => {
    const initializeKlarnaV2Payment = useCallback(options => initializePayment(
        {
            ...options,
            klarnav2: {
                container: `#${options.methodId}Widget`,
            },
        }
    ), [initializePayment]);
 
    return <HostedWidgetPaymentMethod
        { ...rest }
        containerId={ `${rest.method.id}Widget` }
        initializePayment={ initializeKlarnaV2Payment }
    />;
};
 
export default KlarnaV2PaymentMethod;