我从Shopify API得到一些非常奇怪的结果,我希望有人可以帮助我。
我正在尝试以折扣价创建订单。它实际上是用折扣信息保存订单......但是金额总是错误的
order_params = {
:browser_ip => webhook[:browser_ip],
:buyer_accepts_marketing => webhook[:buyer_accepts_marketing],
:currency => webhook[:currency],
:email => webhook[:email],
:financial_status => webhook[:financial_status],
:landing_site => webhook[:landing_site],
:note => webhook[:note],
:referring_site => webhook[:referring_site],
:line_items => line_items,
:tag => tags,
:transactions => transactions,
:discount_codes => webhook[:discount_codes],
:total_discounts => webhook[:total_discounts],
:shipping_address => webhook[:shipping_address],
:shipping_lines => webhook[:shipping_lines],
:customer_id => @options[:customer_id],
:billing_address => webhook[:billing_address]
}
@shopify_order = ShopifyAPI::Order.create(order_params)
正如您所看到的,它是从webhook数据创建的。这让我回来了...(截断)
"reference"=>nil,
"user_id"=>nil,
"subtotal_price"=>"55.00",
"total_discounts"=>"55.00",
"location_id"=>nil,
"source_identifier"=>nil,
"source_url"=>nil,
"processed_at"=>"2017-05-31T15:53:03-04:00",
"device_id"=>nil,
"phone"=>nil,
"browser_ip"=>nil,
"landing_site_ref"=>nil,
"order_number"=>1140,
"discount_codes"=>
[#<ShopifyAPI::Order::DiscountCode:0x007ffbec42ccb0
@attributes={"code"=>"50% OFF", "amount"=>"55.00", "type"=>""},
@persisted=true,
@prefix_options={}>]
到目前为止,所有数据都很正确..然后我保存并且发生了这种情况..打折的金额不正确......应该是55英镑。
答案 0 :(得分:0)
我没有深入研究这个问题,但我很确定代码必须是独一无二的。
即。您可能已经有一个折扣代码,其代码50% OFF
与该商店的其他地方定义了amount: 60.50
。
尝试使用新的独特折扣代码并进行测试。
我建议创建一个新的折扣代码,例如50OFF
amount: 50
与type: percentage
,然后您可以将其重新用于50%折扣的订单。