From 999e8053ea6948184afbaebbae86beee10c72cd9 Mon Sep 17 00:00:00 2001 From: Sebastian Rindom Date: Sat, 27 Feb 2021 10:08:05 +0100 Subject: [PATCH 1/3] fix(stripe): remove decimals on amounts (#187) * fix: floor amounts * fix: round instead of floor --- .../medusa-payment-stripe/src/services/stripe-provider.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/medusa-payment-stripe/src/services/stripe-provider.js b/packages/medusa-payment-stripe/src/services/stripe-provider.js index b55b921bd2..34406cd467 100644 --- a/packages/medusa-payment-stripe/src/services/stripe-provider.js +++ b/packages/medusa-payment-stripe/src/services/stripe-provider.js @@ -141,7 +141,7 @@ class StripeProviderService extends PaymentService { const amount = await this.totalsService_.getTotal(cart) const intentRequest = { - amount: amount, + amount: Math.round(amount), currency: currency_code, setup_future_usage: "on_session", capture_method: this.options_.capture ? "automatic" : "manual", @@ -242,12 +242,12 @@ class StripeProviderService extends PaymentService { if (stripeId !== sessionData.customer) { return this.createPayment(cart) } else { - if (cart.total && sessionData.amount === cart.total) { + if (cart.total && sessionData.amount === Math.round(cart.total)) { return sessionData } return this.stripe_.paymentIntents.update(sessionData.id, { - amount: cart.total, + amount: Math.round(cart.total), }) } } catch (error) { @@ -309,7 +309,7 @@ class StripeProviderService extends PaymentService { const { id } = payment.data try { await this.stripe_.refunds.create({ - amount: amountToRefund, + amount: Math.round(amountToRefund), payment_intent: id, }) From a1ba2e8b5cdf586ac2d646f2334e46ceae96bc8f Mon Sep 17 00:00:00 2001 From: Sebastian Rindom Date: Sat, 27 Feb 2021 10:53:20 +0100 Subject: [PATCH 2/3] fix: round totals --- packages/medusa/src/services/totals.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/medusa/src/services/totals.js b/packages/medusa/src/services/totals.js index c426e58d89..d9d769e20d 100644 --- a/packages/medusa/src/services/totals.js +++ b/packages/medusa/src/services/totals.js @@ -328,10 +328,7 @@ class TotalsService extends BaseService { } rounded(value) { - const decimalPlaces = 4 - return Number( - Math.round(parseFloat(value + "e" + decimalPlaces)) + "e-" + decimalPlaces - ) + return Math.round(value) } } From caf1ecfd5af58559d035d6c17a4993bdd6a5cc0b Mon Sep 17 00:00:00 2001 From: Sebastian Rindom Date: Sat, 27 Feb 2021 11:01:57 +0100 Subject: [PATCH 3/3] fix: test --- packages/medusa/src/services/__tests__/totals.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/medusa/src/services/__tests__/totals.js b/packages/medusa/src/services/__tests__/totals.js index 9b5cb1060c..b07b2c887f 100644 --- a/packages/medusa/src/services/__tests__/totals.js +++ b/packages/medusa/src/services/__tests__/totals.js @@ -377,7 +377,7 @@ describe("TotalsService", () => { }, ]) - expect(res).toEqual(1243.75) + expect(res).toEqual(1244) }) it("calculates refund with item fixed discount", async () => {