Skip to content

Commit 55e1216

Browse files
committed
fix(checkout): CHECKOUT-9450 Pass strategies as part of order finalisation
1 parent 5a2d1e6 commit 55e1216

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

package-lock.json

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/core/src/app/payment/Payment.tsx

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@ import {
33
type CheckoutSelectors,
44
type CheckoutService,
55
type CheckoutSettings,
6+
type OrderFinalizeOptions,
67
type OrderRequestBody,
78
type PaymentMethod,
89
} from '@bigcommerce/checkout-sdk';
10+
import { createCBAMPGSPaymentStrategy } from '@bigcommerce/checkout-sdk/integrations/cba-mpgs';
11+
import { createCheckoutComAPMPaymentStrategy, createCheckoutComCreditCardPaymentStrategy, createCheckoutComFawryPaymentStrategy, createCheckoutComIdealPaymentStrategy, createCheckoutComSepaPaymentStrategy } from '@bigcommerce/checkout-sdk/integrations/checkoutcom-custom';
12+
import { createClearpayPaymentStrategy } from '@bigcommerce/checkout-sdk/integrations/clearpay';
13+
import { createOffsitePaymentStrategy } from '@bigcommerce/checkout-sdk/integrations/offsite';
14+
import { createPaypalExpressPaymentStrategy } from '@bigcommerce/checkout-sdk/integrations/paypal-express';
15+
import { createSagePayPaymentStrategy } from '@bigcommerce/checkout-sdk/integrations/sagepay';
916
import { memoizeOne } from '@bigcommerce/memoize';
1017
import { compact, find, isEmpty, noop } from 'lodash';
1118
import React, {
@@ -77,7 +84,7 @@ interface WithCheckoutPaymentProps {
7784
usableStoreCredit: number;
7885
applyStoreCredit(useStoreCredit: boolean): Promise<CheckoutSelectors>;
7986
clearError(error: Error): void;
80-
finalizeOrderIfNeeded(): Promise<CheckoutSelectors>;
87+
finalizeOrderIfNeeded(options: OrderFinalizeOptions): Promise<CheckoutSelectors>;
8188
isPaymentDataRequired(): boolean;
8289
loadCheckout(): Promise<CheckoutSelectors>;
8390
loadPaymentMethods(): Promise<CheckoutSelectors>;
@@ -448,7 +455,20 @@ const Payment= (props: PaymentProps & WithCheckoutPaymentProps & WithLanguagePro
448455
await loadPaymentMethodsOrThrow();
449456

450457
try {
451-
const state = await finalizeOrderIfNeeded();
458+
const state = await finalizeOrderIfNeeded({
459+
integrations: [
460+
createCBAMPGSPaymentStrategy,
461+
createCheckoutComAPMPaymentStrategy,
462+
createCheckoutComCreditCardPaymentStrategy,
463+
createCheckoutComFawryPaymentStrategy,
464+
createCheckoutComIdealPaymentStrategy,
465+
createCheckoutComSepaPaymentStrategy,
466+
createClearpayPaymentStrategy,
467+
createOffsitePaymentStrategy,
468+
createPaypalExpressPaymentStrategy,
469+
createSagePayPaymentStrategy,
470+
],
471+
});
452472
const order = state.data.getOrder();
453473

454474
onFinalize(order?.orderId);

0 commit comments

Comments
 (0)