diff --git a/src/app/api/webhooks/saleor/route.ts b/src/app/api/webhooks/saleor/route.ts index 189b272..5a1e181 100644 --- a/src/app/api/webhooks/saleor/route.ts +++ b/src/app/api/webhooks/saleor/route.ts @@ -48,7 +48,10 @@ interface SaleorOrderPayload { lines: SaleorLineItemPayload[]; total_gross_amount: string; shipping_price_gross_amount?: string; - currency: string; + channel: { + currency_code: string; + }; + currency?: string; // Fallback for line items language_code?: string; metadata?: Record; } @@ -160,20 +163,20 @@ function convertPayloadToOrder(payload: SaleorOrderPayload): SaleorOrder { totalPrice: { gross: { amount: parseInt(line.total_price_gross_amount), - currency: line.currency, + currency: line.currency || payload.channel.currency_code, }, }, })), total: { gross: { amount: parseInt(payload.total_gross_amount), - currency: payload.currency, + currency: payload.channel.currency_code, }, }, shippingPrice: payload.shipping_price_gross_amount ? { gross: { amount: parseInt(payload.shipping_price_gross_amount), - currency: payload.currency, + currency: payload.channel.currency_code, }, } : undefined, languageCode: payload.language_code?.toUpperCase(),