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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 24x 24x 24x 24x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 2x 2x 24x | import { CardInstrument, PaymentInitializeOptions } from '@bigcommerce/checkout-sdk';
import React, { useCallback, FunctionComponent } from 'react';
import { withHostedCreditCardFieldset, WithInjectedHostedCreditCardFieldsetProps } from '../hostedCreditCard';
import HostedWidgetPaymentMethod, { HostedWidgetPaymentMethodProps } from './HostedWidgetPaymentMethod';
export type MonerisPaymentMethodProps = Omit< HostedWidgetPaymentMethodProps, 'containerId'>;
const MonerisPaymentMethod: FunctionComponent<MonerisPaymentMethodProps & WithInjectedHostedCreditCardFieldsetProps> = ({
initializePayment,
method,
getHostedFormOptions,
getHostedStoredCardValidationFieldset,
hostedStoredCardValidationSchema,
...rest
}) => {
const containerId = `moneris-iframe-container`;
const initializeMonerisPayment: HostedWidgetPaymentMethodProps['initializePayment'] = useCallback(async (options: PaymentInitializeOptions, selectedInstrument) => initializePayment({
...options,
moneris: {
containerId,
...(EselectedInstrument && { form : await getHostedFormOptions(selectedInstrument) }),
},
}), [containerId, getHostedFormOptions, initializePayment]);
function validateInstrument(_shouldShowNumber: boolean, selectedInstrument: CardInstrument) {
return getHostedStoredCardValidationFieldset(selectedInstrument);
}
return (
<HostedWidgetPaymentMethod
{ ...rest }
containerId={ containerId }
initializePayment={ initializeMonerisPayment }
method={ method }
storedCardValidationSchema={ hostedStoredCardValidationSchema }
validateInstrument={ validateInstrument }
/>);
};
export default withHostedCreditCardFieldset(MonerisPaymentMethod);
|