From f32ae72782196269176f2d8af37aaca1863dd3e7 Mon Sep 17 00:00:00 2001 From: Sebastian Rindom Date: Thu, 18 Feb 2021 12:39:15 +0100 Subject: [PATCH 1/2] hotfix(segment): remove tax from revenue calculation (#174) --- .../medusa-plugin-segment/src/services/segment.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/medusa-plugin-segment/src/services/segment.js b/packages/medusa-plugin-segment/src/services/segment.js index 2201482b64..eaeddcf5e8 100644 --- a/packages/medusa-plugin-segment/src/services/segment.js +++ b/packages/medusa-plugin-segment/src/services/segment.js @@ -66,6 +66,8 @@ class SegmentService extends BaseService { coupon = order.discounts[0] && order.discounts[0].code } + const taxRate = order.tax_rate / 100 + const orderData = { checkout_id: order.cart_id, order_id: order.id, @@ -104,12 +106,16 @@ class SegmentService extends BaseService { products: await Promise.all( order.items.map(async (item) => { let name = item.title + const lineTotalTax = this.totalsService_.getLineItemRefund( + order, + item + ) + + const lineTotal = lineTotalTax / (1 + taxRate) - const unit_price = item.unit_price - const line_total = this.totalsService_.getLineItemRefund(order, item) const revenue = await this.getReportingValue( order.currency_code, - line_total / 100 + lineTotal / 100 ) let sku = "" @@ -126,7 +132,7 @@ class SegmentService extends BaseService { return { name, variant, - price: line_total / 100 / item.quantity, + price: lineTotal / 100 / item.quantity, reporting_revenue: revenue, product_id: item.variant.product_id, sku, From 10ead5510181cee03f2ba83b3630483b114c3ce2 Mon Sep 17 00:00:00 2001 From: olivermrbl Date: Thu, 18 Feb 2021 13:27:20 +0100 Subject: [PATCH 2/2] hotfix(medusa-fulfillment-webshipper): Cancen fulfillment idempotently --- .../src/services/webshipper-fulfillment.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/medusa-fulfillment-webshipper/src/services/webshipper-fulfillment.js b/packages/medusa-fulfillment-webshipper/src/services/webshipper-fulfillment.js index 89142f3bb6..43d96fd573 100644 --- a/packages/medusa-fulfillment-webshipper/src/services/webshipper-fulfillment.js +++ b/packages/medusa-fulfillment-webshipper/src/services/webshipper-fulfillment.js @@ -523,6 +523,11 @@ class WebshipperFulfillmentService extends FulfillmentService { .retrieve(data.id) .catch(() => undefined) + // if order does not exist, we resolve gracefully + if (!order) { + return Promise.resolve() + } + if (order) { if (order.data.attributes.status !== "pending") { if (order.data.attributes.status === "cancelled") {