DynamoMTL / spree_chimpy

Spree/MailChimp Integration
BSD 3-Clause "New" or "Revised" License
35 stars 123 forks source link

Invalid Ecomm Order Error caused by Variant Images #95

Open mrogers-5s opened 6 years ago

mrogers-5s commented 6 years ago

There appears to be an issue in spree_chimpy/lib/spree/chimpy/interface/products.rb

I see "invalid ecomm order error" when completing checkout on an order. The MailChimp API serves an error message for the variant image: "Shema describes string, NULL found instead".

This is the rb file snip in question: image

I believe line 94 is the issue. When setting the image_url on the product proper, there is some nil checking involved, and the key is excluded if there are no images found for a product.

However, in this case, it looks like variants always include the image_url key which results in passing nil if variant_image_url returns nothing.

Looking at the variant_image_url method (pictured below): image

I believe you want to do one of two things:

  1. Add an else condition that returns an empty string
  2. Modify the call to this function and exlude img_url from the Variant object when no images are available
braidn commented 6 years ago

Just seeing this! Sorry it's taken me a second to get back to this repository. Will totally check this out and see if we can get it fixed.

mrogers-5s commented 6 years ago

I think this resolves the issue: github.com/mrogers-5s/spree_chimpy_products_fix

I forked the spree-contrib repo, but the class (and process) in question looked to be the same in both cases.

mrogers-5s commented 6 years ago

Sorry. Here is a useful link. My phone wasnt cooperating.

https://github.com/mrogers-5s/spree_chimpy_products_fix