diff --git a/.changeset/fuzzy-donkeys-post.md b/.changeset/fuzzy-donkeys-post.md new file mode 100644 index 00000000000..ac796e6342d --- /dev/null +++ b/.changeset/fuzzy-donkeys-post.md @@ -0,0 +1,6 @@ +--- +'@clerk/clerk-js': patch +'@clerk/types': patch +--- + +Use the `total.proration.credit` to show the proration credit on checkout flow diff --git a/packages/clerk-js/src/ui/components/Checkout/CheckoutForm.tsx b/packages/clerk-js/src/ui/components/Checkout/CheckoutForm.tsx index 7e6045d2a13..65a7c75c437 100644 --- a/packages/clerk-js/src/ui/components/Checkout/CheckoutForm.tsx +++ b/packages/clerk-js/src/ui/components/Checkout/CheckoutForm.tsx @@ -31,9 +31,8 @@ export const CheckoutForm = ({ onCheckoutComplete: (checkout: __experimental_CommerceCheckoutResource) => void; }) => { const { plan, planPeriod, totals, isImmediatePlanChange } = checkout; - - const adjustmentAmount = (totals.proration?.days || 0) * (totals.proration?.ratePerDay.amount || 0); - const showAdjustment = totals.totalDueNow.amount > 0 && adjustmentAmount > 0; + const showAdjustment = + totals.totalDueNow.amount > 0 && totals.proration?.credit?.amount && totals.proration.credit.amount > 0; const showDowngradeInfo = !isImmediatePlanChange; return ( @@ -72,13 +71,13 @@ export const CheckoutForm = ({ {/* TODO(@Commerce): needs localization */} {/* TODO(@Commerce): needs localization */} {/* TODO(@Commerce): Replace client-side calculation with server-side calculation once data are available in the response */} )} diff --git a/packages/clerk-js/src/utils/commerce.ts b/packages/clerk-js/src/utils/commerce.ts index aee05f73bb7..61a7993c01c 100644 --- a/packages/clerk-js/src/utils/commerce.ts +++ b/packages/clerk-js/src/utils/commerce.ts @@ -39,6 +39,8 @@ export const commerceTotalsFromJSON = < ratePerDay: commerceMoneyFromJSON(data.proration.rate_per_day), // @ts-ignore totalProration: commerceMoneyFromJSON(data.proration.total_proration), + // @ts-ignore + credit: commerceMoneyFromJSON(data.proration.credit), }; } diff --git a/packages/types/src/commerce.ts b/packages/types/src/commerce.ts index 0050be18e54..5040ade9c2c 100644 --- a/packages/types/src/commerce.ts +++ b/packages/types/src/commerce.ts @@ -151,6 +151,7 @@ export interface __experimental_CommerceCheckoutTotals { days: number; ratePerDay: __experimental_CommerceMoney; totalProration: __experimental_CommerceMoney; + credit: __experimental_CommerceMoney; }; }