Development discussions around Shopify APIs
There is a bug with the API call when creating an order, where Shopify treats numbers with 3 decimal places as int instead of float. Note, if the payload contains numbers with 2, 4, or more decimals, it gets correctly saved. The issue is triggered only with 3 decimals.
Endpoint: admin/api/2021-07/orders.json (API version does not matter)
Example POST request with a response:
Example order:
-----
Full body (example raw JSON)
{
"order": {
"line_items": [
{
"variant_id": "1234530",
"quantity": "1",
"price": "10.391",
"vendor": "shopify-store",
"title": "A donkey out of stock",
"grams": 0,
"sku": ""
}
],
"customer": {
"first_name": "Jorge",
"last_name": "Address",
"email": "saso@carthook.com"
},
"buyer_accepts_marketing": "1",
"shipping_address": {
"country": "United States",
"province": "Oregon",
"first_name": "Jorge",
"last_name": "Address",
"city": "Portland",
"address1": "1315 NE Fremont St",
"zip": "97212",
"phone": "",
"company": "",
"address2": ""
},
"note": "",
"note_attributes": [],
"referring_site": "https:\/\/test.myshopify.com\/cart",
"billing_address": {
"country": "United States",
"province": "Oregon",
"first_name": "Jorge",
"last_name": "Address",
"city": "Portland",
"address1": "1315 NE Fremont St",
"zip": "97212",
"phone": "",
"company": "",
"address2": ""
},
"email": "saso@carthook.com",
"transactions": [
{
"kind": "sale",
"status": "success",
"amount": "10.391"
}
],
"discount_codes": [],
"financial_status": "paid",
"shipping_lines": [
{
"code": "FirstPackage",
"price": 0.00,
"title": "First Class Package",
"source": "usps",
"tax_lines": [],
"carrier_identifier": null,
"requested_fulfillment_service_id": null
}
],
"send_receipt": true,
"send_fulfillment_receipt": true,
"inventory_behaviour": "decrement_ignoring_policy",
"processing_method": "offsite",
"gateway": "nmi_test",
"total_weight": 0,
"total_tax": 0,
"tags": "test-bla, te_id_Q0AWsQoaYcsKetgpWM7v, 0-4396216362, TEST Checkout, test_FID_test-bla",
"metafields": [
{
"key": "avs_result_code",
"value": "Y",
"value_type": "string",
"namespace": "payment_details"
},
{
"key": "credit_card_bin",
"value": "453600",
"value_type": "string",
"namespace": "payment_details"
},
{
"key": "cvv_result_code",
"value": "M",
"value_type": "string",
"namespace": "payment_details"
},
{
"key": "credit_card_number",
"value": "•••• •••• •••• 4242",
"value_type": "string",
"namespace": "payment_details"
},
{
"key": "credit_card_company",
"value": "Visa",
"value_type": "string",
"namespace": "payment_details"
}
]
}
}
Response:
{
"order": {
"id": 4023770185837,
"admin_graphql_api_id": "gid://shopify/Order/4023770185837",
"app_id": 1356615,
"browser_ip": null,
"buyer_accepts_marketing": true,
"cancel_reason": null,
"cancelled_at": null,
"cart_token": null,
"checkout_id": null,
"checkout_token": null,
"closed_at": null,
"confirmed": true,
"contact_email": "saso@carthook.com",
"created_at": "2021-08-31T11:11:29+02:00",
"currency": "USD",
"current_subtotal_price": "10391.00",
"current_subtotal_price_set": {
"shop_money": {
"amount": "10391.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "10391.00",
"currency_code": "USD"
}
},
"current_total_discounts": "0.00",
"current_total_discounts_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"current_total_duties_set": null,
"current_total_price": "10391.00",
"current_total_price_set": {
"shop_money": {
"amount": "10391.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "10391.00",
"currency_code": "USD"
}
},
"current_total_tax": "0.00",
"current_total_tax_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"customer_locale": null,
"device_id": null,
"discount_codes": [],
"email": "saso@carthook.com",
"financial_status": "paid",
"fulfillment_status": null,
"gateway": "nmi_test",
"landing_site": null,
"landing_site_ref": null,
"location_id": null,
"name": "#483578",
"note": "",
"note_attributes": [],
"number": 482578,
"order_number": 483578,
"order_status_url": "https://carthook-production-testing-1.myshopify.com/18821611584/orders/e0988a867248bf31d8564f7e8072d0f4/authenticate?key=c2ffd6892df2a036ba8b36098910592d",
"original_total_duties_set": null,
"payment_gateway_names": [
"nmi_test"
],
"phone": null,
"presentment_currency": "USD",
"processed_at": "2021-08-31T11:11:29+02:00",
"processing_method": "",
"reference": null,
"referring_site": "https://test.myshopify.com/cart",
"source_identifier": null,
"source_name": "1356615",
"source_url": null,
"subtotal_price": "10391.00",
"subtotal_price_set": {
"shop_money": {
"amount": "10391.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "10391.00",
"currency_code": "USD"
}
},
"tags": "0-4396216362, te_id_Q0AWsQoaYcsKetgpWM7v, TEST Checkout, test-bla, test_FID_test-bla",
"tax_lines": [],
"taxes_included": false,
"test": false,
"token": "e0988a867248bf31d8564f7e8072d0f4",
"total_discounts": "0.00",
"total_discounts_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"total_line_items_price": "10391.00",
"total_line_items_price_set": {
"shop_money": {
"amount": "10391.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "10391.00",
"currency_code": "USD"
}
},
"total_outstanding": "10380.61",
"total_price": "10391.00",
"total_price_set": {
"shop_money": {
"amount": "10391.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "10391.00",
"currency_code": "USD"
}
},
"total_price_usd": "10391.00",
"total_shipping_price_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"total_tax": "0.00",
"total_tax_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"total_tip_received": "0.00",
"total_weight": 0,
"updated_at": "2021-08-31T11:11:30+02:00",
"user_id": null,
"billing_address": {
"first_name": "Jorge",
"address1": "1315 NE Fremont St",
"phone": "",
"city": "Portland",
"zip": "97212",
"province": "Oregon",
"country": "United States",
"last_name": "Address",
"address2": "",
"company": "",
"latitude": 45.5483639,
"longitude": -122.6524147,
"name": "Jorge Address",
"country_code": "US",
"province_code": "OR"
},
"customer": {
"id": 3363283599469,
"email": "saso@carthook.com",
"accepts_marketing": true,
"created_at": "2020-06-17T13:07:52+02:00",
"updated_at": "2021-08-31T11:11:30+02:00",
"first_name": "Jorge",
"last_name": "Address",
"orders_count": 9,
"state": "enabled",
"total_spent": "10518.43",
"last_order_id": 4023770185837,
"note": null,
"verified_email": true,
"multipass_identifier": null,
"tax_exempt": false,
"phone": null,
"tags": "Inactive Subscriber",
"last_order_name": "#483578",
"currency": "USD",
"accepts_marketing_updated_at": "2020-06-17T13:07:53+02:00",
"marketing_opt_in_level": "single_opt_in",
"tax_exemptions": [],
"admin_graphql_api_id": "gid://shopify/Customer/3363283599469",
"default_address": {
"id": 6495281414253,
"customer_id": 3363283599469,
"first_name": "Jorge",
"last_name": "Address",
"company": "",
"address1": "1315 NE Fremont St",
"address2": "",
"city": "Portland",
"province": "Oregon",
"country": "United States",
"zip": "97212",
"phone": "",
"name": "Jorge Address",
"province_code": "OR",
"country_code": "US",
"country_name": "United States",
"default": true
}
},
"discount_applications": [],
"fulfillments": [],
"line_items": [
{
"id": 10287198535789,
"admin_graphql_api_id": "gid://shopify/LineItem/10287198535789",
"fulfillable_quantity": 1,
"fulfillment_service": "manual",
"fulfillment_status": null,
"gift_card": false,
"grams": 0,
"name": "A donkey out of stock",
"price": "10391.00",
"price_set": {
"shop_money": {
"amount": "10391.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "10391.00",
"currency_code": "USD"
}
},
"product_exists": false,
"product_id": null,
"properties": [],
"quantity": 1,
"requires_shipping": true,
"sku": "",
"taxable": true,
"title": "A donkey out of stock",
"total_discount": "0.00",
"total_discount_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"variant_id": null,
"variant_inventory_management": null,
"variant_title": null,
"vendor": "shopify-store",
"tax_lines": [],
"duties": [],
"discount_allocations": []
}
],
"refunds": [],
"shipping_address": {
"first_name": "Jorge",
"address1": "1315 NE Fremont St",
"phone": "",
"city": "Portland",
"zip": "97212",
"province": "Oregon",
"country": "United States",
"last_name": "Address",
"address2": "",
"company": "",
"latitude": 45.5483639,
"longitude": -122.6524147,
"name": "Jorge Address",
"country_code": "US",
"province_code": "OR"
},
"shipping_lines": [
{
"id": 3439817261165,
"carrier_identifier": null,
"code": "FirstPackage",
"delivery_category": null,
"discounted_price": "0.00",
"discounted_price_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"phone": null,
"price": "0.00",
"price_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "USD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "USD"
}
},
"requested_fulfillment_service_id": null,
"source": "usps",
"title": "First Class Package",
"tax_lines": [],
"discount_allocations": []
}
]
}
}
Solved! Go to the solution
This is an accepted solution.
Hi @saso
Wanted to follow up with you to let you know that a fix has been put in place, and you shouldn't see this behaviour going forward.
CS | API Support @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
Hello @saso ,
Thanks for bringing this to our attention. We ran a couple of tests using the payload you provided (you may have received a confirmation email accidentally on the first test - apologies for that!). We noted that this doesn't happen in GraphQL, nor several other REST endpoints. It seemingly just occurs with the order REST endpoint. We're confirming this one with the devs to see what might be happening here, and I'll let you know what comes back.
Best,
Graham
Graham S | API Support @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
This is an accepted solution.
Hi @saso
Wanted to follow up with you to let you know that a fix has been put in place, and you shouldn't see this behaviour going forward.
CS | API Support @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
Hi there,
It looks like that this bug is back. We've observed the same behaviour while importing the products.
Let us know when this is fixed.
Thanks
User | RANK |
---|---|
43 | |
16 | |
9 | |
9 | |
7 |
Thanks to all Community members that participated in our inaugural 2 week AMA on the new E...
By Jacqui Mar 10, 2023Upskill and stand out with the new Shopify Foundations Certification program
By SarahF_Shopify Mar 6, 2023One of the key components to running a successful online business is having clear and co...
By Ollie Mar 6, 2023