Multi-Currency Price Modifiers in Custom Fields - Validation Endpoint Implementation

Hi all,

I’m implementing a multi-currency store using Snipcart with a validation endpoint. The products have variants with different prices, implemented through custom fields with price modifiers.

Current implementation:

  1. Main product price returned as an object with all currency values
  2. Custom fields containing variants with price modifiers [+price]

Example validation endpoint response:

{
  id: "product-123",
  price: {
    usd: "19.99",
    eur: "18.50",
    gbp: "15.99"
  },
  customFields: [
    {
      name: "Size",
      options: "Small|Medium|Large[+5.00]"
    }
  ],
  url: "/products/my-product"
}

Question: How should price modifiers in custom fields be handled for multi-currency implementations? Specifically:

  1. Are modifiers automatically converted based on the selected currency?
  2. Should modifiers be specified per currency?
  3. What is the expected format for currency-aware price modifiers in the validation response?

Example use case:

  • Base product is $20 USD
  • Large size variant is +$5 USD
  • Customer selects EUR as currency
  • Base price converts to €18.50
  • How should the +$5 modifier be handled?

Looking forward to understanding the correct implementation approach.

Thanks!