estimateTotals( )


Estimates the subtotal and total for current site visitor’s cart. Totals include tax and are based on the selected carrier service, shipping address, and billing information.

The estimateTotals() function returns a Promise that resolves when the estimated totals are generated.

Note: Not passing any options properties will only estimate the cart items price totals.

Permissions
Manage eCommerce - all permissions
Read eCommerce - all read permissions
Manage Stores - all permissions
Read Stores - all read permissions
Manage Orders
Read Orders
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function estimateTotals(
  _id: string,
  options: EstimateTotalsOptions,
): Promise<EstimateTotalsResponse>;
Method Parameters
_idstringRequired

Cart ID.


optionsEstimateTotalsOptions

Total estimation options.

Returns
Return Type:Promise<EstimateTotalsResponse>
Estimate a cart's totals
JavaScript
/***************************************** * Backend code - my-backend-file.web.js * ****************************************/ import { Permissions, webMethod } from "wix-web-module"; import { cart } from "wix-ecom-backend"; export const myEstimateTotalsFunction = webMethod( Permissions.Anyone, async (cartId, estimateOptions) => { try { const estimatedCartTotals = await cart.estimateTotals( cartId, estimateOptions, ); console.log("Success! Cart totals estimated:", estimatedCartTotals); return estimatedCartTotals; } catch (error) { console.error(error); // Handle the error } }, ); /************* * Page code * ************/ import { myEstimateTotalsFunction } from "backend/my-backend-file.web"; // Sample cartId: const cartId = "96a61a4b-6b61-47d1-a039-0213a8230ccd"; // Sample options object: const estimateOptions = { selectedShippingOption: { code: "standard_us_shipping", }, shippingAddress: { addressLine1: "235 West 23rd Street", addressLine2: "3rd floor", city: "New York", country: "US", postalCode: "10011", streetAddress: { name: "West 23rd Street", number: "235", }, subdivision: "US-NY", }, billingAddress: { addressLine1: "235 West 23rd Street", addressLine2: "3rd floor", city: "New York", country: "US", postalCode: "10011", streetAddress: { name: "West 23rd Street", number: "235", }, subdivision: "US-NY", }, }; myEstimateTotalsFunction(cartId, estimateOptions) .then((estimatedCartTotals) => { const formattedShippingPrice = estimatedCartTotals.priceSummary.shipping.formattedAmount; const estimatedCartTotal = estimatedCartTotals.priceSummary.total.formattedAmount; console.log("Success! Cart totals estimated:", estimatedCartTotals); return estimatedCartTotals; }) .catch((error) => { console.error(error); // Handle the error }); /* Promise resolves to: * * { * "cart": { * "_id": "96a61a4b-6b61-47d1-a039-0213a8230ccd", * "lineItems": [ * { * "_id": "00000000-0000-0000-0000-000000000001", * "quantity": 5, * "catalogReference": { * "catalogItemId": "c8539b66-7a44-fe18-affc-afec4be8562a", * "appId": "215238eb-22a5-4c36-9e7b-e7c08025e04e" * }, * "productName": { * "original": "Shirt", * "translated": "Shirt" * }, * "url": "https://example.wixsite.com", * "price": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "fullPrice": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "priceBeforeDiscounts": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "descriptionLines": [], * "image": "wix:image://v1/3c76e2_c5331f937348492a97df87b0a3b34ea4~mv2.jpg#originWidth=1000&originHeight=1000", * "availability": { * "status": "AVAILABLE" * }, * "physicalProperties": { * "sku": "364115376135191", * "shippable": true * }, * "couponScopes": [ * { * "namespace": "stores", * "group": { * "name": "collection", * "entityId": "00000000-000000-000000-000000000001" * } * }, * { * "namespace": "stores", * "group": { * "name": "product", * "entityId": "c8539b66-7a44-fe18-affc-afec4be8562a" * } * } * ], * "itemType": { * "preset": "PHYSICAL" * }, * "paymentOption": "FULL_PAYMENT_ONLINE" * } * ], * "buyerInfo": { * "contactId": "f7dc17a6-825a-466e-a78e-c4abea0217db", * "memberId": "c43190d2-eea3-493e-b6e8-f146850c6873" * }, * "currency": "EUR", * "conversionCurrency": "EUR", * "buyerLanguage": "en", * "siteLanguage": "en", * "taxIncludedInPrices": false, * "weightUnit": "KG", * "subtotal": { * "amount": "50", * "convertedAmount": "50", * "formattedAmount": "€50.00", * "formattedConvertedAmount": "€50.00" * }, * "appliedDiscounts": [], * "inSync": false, * "_createdDate": "2022-05-16T12:04:01.244Z", * "_updatedDate": "2022-05-23T11:55:30.023Z" * }, * "calculatedLineItems": [ * { * "lineItemId": "00000000-0000-0000-0000-000000000001", * "pricesBreakdown": { * "totalPriceAfterTax": { * "amount": "50.00", * "convertedAmount": "50.00", * "formattedAmount": "€50.00", * "formattedConvertedAmount": "€50.00" * }, * "totalPriceBeforeTax": { * "amount": "50.00", * "convertedAmount": "50.00", * "formattedAmount": "€50.00", * "formattedConvertedAmount": "€50.00" * }, * "taxDetails": { * "taxableAmount": { * "amount": "50.00", * "convertedAmount": "50.00", * "formattedAmount": "€50.00", * "formattedConvertedAmount": "€50.00" * }, * "taxRate": "0.0", * "totalTax": { * "amount": "0.0", * "convertedAmount": "0.0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "rateBreakdown": [] * }, * "totalDiscount": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "price": { * "amount": "10.00", * "convertedAmount": "10.00", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "priceBeforeDiscounts": { * "amount": "10.00", * "convertedAmount": "", * "formattedAmount": "", * "formattedConvertedAmount": "" * } * }, * "paymentOption": "FULL_PAYMENT_ONLINE" * } * ], * "priceSummary": { * "subtotal": { * "amount": "50.00", * "convertedAmount": "50.00", * "formattedAmount": "€50.00", * "formattedConvertedAmount": "€50.00" * }, * "shipping": { * "amount": "10.0", * "convertedAmount": "10.0", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "tax": { * "amount": "0.0", * "convertedAmount": "0.0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "discount": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "total": { * "amount": "60.00", * "convertedAmount": "60.00", * "formattedAmount": "€60.00", * "formattedConvertedAmount": "€60.00" * } * }, * "shippingInfo": { * "region": { * "_id": "009fbe5d-89d3-7825-cbbf-1aab4d908b73", * "name": "USA shipping" * }, * "selectedCarrierServiceOption": { * "code": "ed5bbce2-9533-dff4-7db0-13702fd139c5", * "title": "Standard US Shipping", * "logistics": { * "deliveryTime": "" * }, * "cost": { * "totalPriceAfterTax": { * "amount": "10.0", * "convertedAmount": "10.0", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "totalPriceBeforeTax": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "taxDetails": { * "taxRate": "0.0", * "totalTax": { * "amount": "0.0", * "convertedAmount": "0.0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "rateBreakdown": [] * }, * "price": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * } * }, * "requestedShippingOption": false, * "otherCharges": [], * "carrierId": "c8a08776-c095-4dec-8553-8f9698d86adc" * }, * "carrierServiceOptions": [ * { * "carrierId": "c8a08776-c095-4dec-8553-8f9698d86adc", * "shippingOptions": [ * { * "code": "ed5bbce2-9533-dff4-7db0-13702fd139c5", * "title": "Standard US Shipping", * "logistics": { * "deliveryTime": "" * }, * "cost": { * "price": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "otherCharges": [] * } * } * ] * } * ] * }, * "appliedDiscounts": [], * "calculationErrors": { * "orderValidationErrors": [] * }, * "weightUnit": "KG", * "currency": "EUR", * "payNow": { * "subtotal": { * "amount": "50.00", * "convertedAmount": "50.00", * "formattedAmount": "€50.00", * "formattedConvertedAmount": "€50.00" * }, * "shipping": { * "amount": "10.0", * "convertedAmount": "10.0", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "tax": { * "amount": "0.0", * "convertedAmount": "0.0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "discount": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "total": { * "amount": "60.00", * "convertedAmount": "60.00", * "formattedAmount": "€60.00", * "formattedConvertedAmount": "€60.00" * } * }, * "payLater": { * "subtotal": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "shipping": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "tax": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "discount": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * }, * "total": { * "amount": "0", * "convertedAmount": "0", * "formattedAmount": "€0.00", * "formattedConvertedAmount": "€0.00" * } * }, * "membershipOptions": { * "eligibleMemberships": [], * "invalidMemberships": [], * "selectedMemberships": [] * } * } * */
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?