﻿{
    "info":  {
                 "_postman_id":  "b0dcaa37-63f6-4b27-b873-6f43363ec991",
                 "name":  "Cart \u0026 Checkout - All Steps",
                 "description":  "Run php artisan serve --host=127.0.0.1 --port=8000. Set credentials, login, then run folders in order. IDs are captured automatically.",
                 "schema":  "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
             },
    "auth":  {
                 "type":  "bearer",
                 "bearer":  [
                                {
                                    "key":  "token",
                                    "value":  "{{accessToken}}",
                                    "type":  "string"
                                }
                            ]
             },
    "variable":  [
                     {
                         "key":  "baseUrl",
                         "value":  "http://127.0.0.1:8000/api/v1"
                     },
                     {
                         "key":  "accessToken",
                         "value":  ""
                     },
                     {
                         "key":  "mobile",
                         "value":  "09365075199"
                     },
                     {
                         "key":  "password",
                         "value":  ""
                     },
                     {
                         "key":  "otp",
                         "value":  ""
                     },
                     {
                         "key":  "productId",
                         "value":  "14919"
                     },
                     {
                         "key":  "variantId",
                         "value":  "14874"
                     },
                     {
                         "key":  "cartItemId",
                         "value":  ""
                     },
                     {
                         "key":  "couponCode",
                         "value":  ""
                     },
                     {
                         "key":  "cityId",
                         "value":  "55"
                     },
                     {
                         "key":  "addressId",
                         "value":  ""
                     },
                     {
                         "key":  "deliveryMethodId",
                         "value":  ""
                     },
                     {
                         "key":  "paymentMethodId",
                         "value":  ""
                     },
                     {
                         "key":  "scheduledDeliveryAt",
                         "value":  ""
                     },
                     {
                         "key":  "orderId",
                         "value":  ""
                     }
                 ],
    "item":  [
                 {
                     "name":  "00 - Authentication",
                     "item":  [
                                  {
                                      "name":  "01 - Login with password",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const d=pm.response.json().data; pm.expect(d.token).to.be.a(\u0027string\u0027).and.not.empty;",
                                                                                    "pm.collectionVariables.set(\u0027accessToken\u0027,d.token);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"mobile\": \"{{mobile}}\",\n  \"password\": \"{{password}}\"\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/verify-password",
                                                      "auth":  {
                                                                   "type":  "noauth"
                                                               }
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "02 - Send OTP",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027OTP requested\u0027,()=\u003epm.expect([200,429]).to.include(pm.response.code));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"mobile\": \"{{mobile}}\"\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/otp",
                                                      "auth":  {
                                                                   "type":  "noauth"
                                                               }
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "03 - Verify OTP",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const d=pm.response.json().data; pm.collectionVariables.set(\u0027accessToken\u0027,d.token);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"mobile\": \"{{mobile}}\",\n  \"otp\": \"{{otp}}\"\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/verify-otp",
                                                      "auth":  {
                                                                   "type":  "noauth"
                                                               }
                                                  },
                                      "response":  [

                                                   ]
                                  }
                              ]
                 },
                 {
                     "name":  "01 - Cart",
                     "item":  [
                                  {
                                      "name":  "01 - Get cart",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const a=pm.response.json().data.items||[]; const x=a.find(i=\u003eString(i.product?.id)===String(pm.collectionVariables.get(\u0027productId\u0027)))||a[0]; if(x)pm.collectionVariables.set(\u0027cartItemId\u0027,x.id);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "GET",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "url":  "{{baseUrl}}/cart"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "02 - Add product",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027Added or exists\u0027,()=\u003epm.expect([201,409]).to.include(pm.response.code));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"product_id\": {{productId}},\n  \"variant_id\": {{variantId}},\n  \"quantity\": 1\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/cart/items",
                                                      "description":  "For a product without variant replace {{variantId}} with null."
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "03 - Get cart and capture item ID",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const a=pm.response.json().data.items||[]; const x=a.find(i=\u003eString(i.product?.id)===String(pm.collectionVariables.get(\u0027productId\u0027)))||a[0]; pm.expect(x,\u0027Cart is empty\u0027).to.exist; pm.collectionVariables.set(\u0027cartItemId\u0027,x.id);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "GET",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "url":  "{{baseUrl}}/cart"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "04 - Update quantity",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "PATCH",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"quantity\": 2\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/cart/items/{{cartItemId}}"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "05 - Apply cart coupon (optional)",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027Handled\u0027,()=\u003epm.expect([200,422]).to.include(pm.response.code));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"code\": \"{{couponCode}}\"\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/cart/coupon",
                                                      "description":  "Set couponCode first."
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "06 - Remove cart coupon",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "DELETE",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "url":  "{{baseUrl}}/cart/coupon"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "07 - Delete item (cleanup only)",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "DELETE",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "url":  "{{baseUrl}}/cart/items/{{cartItemId}}",
                                                      "description":  "Run only after checkout testing."
                                                  },
                                      "response":  [

                                                   ]
                                  }
                              ]
                 },
                 {
                     "name":  "02 - Address",
                     "item":  [
                                  {
                                      "name":  "01 - List addresses",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const a=pm.response.json().data||[]; const x=a.find(i=\u003ei.is_default)||a[0]; if(x)pm.collectionVariables.set(\u0027addressId\u0027,x.id);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "GET",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "url":  "{{baseUrl}}/addresses"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "03 - Create sample address (if needed)",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027201 Created\u0027,()=\u003epm.response.to.have.status(201));",
                                                                                    "pm.collectionVariables.set(\u0027addressId\u0027,pm.response.json().data.id);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"city_id\": {{cityId}},\n  \"title\": \"Postman address\",\n  \"address\": \"Postman test address\",\n  \"recipient_name\": \"Postman User\",\n  \"postal_code\": \"1234567890\",\n  \"mobile\": \"09123456789\",\n  \"national_code\": null,\n  \"is_default\": true\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/addresses",
                                                      "description":  "Creates persistent data; run only when no address exists."
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "04 - Select address for checkout",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test('200 OK',()=>pm.response.to.have.status(200));",
                                                                                    "pm.expect(pm.response.json().data.id).to.eql(Number(pm.collectionVariables.get('addressId')));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "PUT",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"address_id\": {{addressId}}\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/cart-checkout/address",
                                                      "description":  "Persists the selected address on the current shopping cart."
                                                  },
                                      "response":  [

                                                   ]
                                  }
                              ]
                 },
                 {
                     "name":  "03 - Checkout",
                     "item":  [
                                  {
                                      "name":  "01 - Get cart checkout",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const d=pm.response.json().data; pm.expect(d).to.include.keys(\u0027cart\u0027,\u0027selected_address\u0027,\u0027payment_methods\u0027);",
                                                                                    "if(d.selected_address)pm.collectionVariables.set(\u0027addressId\u0027,d.selected_address.id);",
                                                                                    "const cash=d.payment_methods?.cash||[], ins=d.payment_methods?.installment||[]; [...cash,...ins].forEach(x=\u003epm.expect(x.icon_url).to.be.a(\u0027string\u0027).and.not.empty); const p=cash.find(x=\u003ex.type===\u0027online\u0027)||cash[0]||ins[0]; if(p)pm.collectionVariables.set(\u0027paymentMethodId\u0027,p.id);",
                                                                                    "(d.cart?.items||[]).forEach(x=\u003epm.expect(x.product.image.url).to.be.a(\u0027string\u0027).and.not.empty);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "GET",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "url":  "{{baseUrl}}/cart-checkout"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "02 - Get delivery methods",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const a=pm.response.json().data.delivery_methods||[]; pm.expect(a).not.empty; pm.collectionVariables.set(\u0027deliveryMethodId\u0027,a[0].id);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "GET",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "url":  "{{baseUrl}}/cart-checkout/delivery-methods?address_id={{addressId}}"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "03 - Get delivery schedule",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const a=pm.response.json().data.available_dates||[]; if(a[0])pm.collectionVariables.set(\u0027scheduledDeliveryAt\u0027,a[0]);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"delivery_method_id\": {{deliveryMethodId}}\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/cart-checkout/delivery-schedule"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "04 - Shipping summary",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"address_id\": {{addressId}},\n  \"delivery_method_id\": {{deliveryMethodId}}\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/checkout/summary"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "05 - Check checkout coupon (optional)",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027Handled\u0027,()=\u003epm.expect([200,422]).to.include(pm.response.code));"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"address_id\": {{addressId}},\n  \"coupon_code\": \"{{couponCode}}\"\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/cart-checkout/coupon",
                                                      "description":  "Skip when couponCode is empty."
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "06 - Calculate final checkout",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "pm.expect(pm.response.json().data.summary).to.have.property(\u0027payable_total\u0027);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"address_id\": {{addressId}},\n  \"delivery_method_id\": {{deliveryMethodId}},\n  \"coupon_code\": \"{{couponCode}}\",\n  \"payment_method_id\": {{paymentMethodId}}\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/cart-checkout/calculation"
                                                  },
                                      "response":  [

                                                   ]
                                  },
                                  {
                                      "name":  "07 - Complete checkout",
                                      "event":  [
                                                    {
                                                        "listen":  "test",
                                                        "script":  {
                                                                       "type":  "text/javascript",
                                                                       "exec":  [
                                                                                    "pm.test(\u0027200 OK\u0027,()=\u003epm.response.to.have.status(200));",
                                                                                    "const d=pm.response.json().data; if(d.order?.id)pm.collectionVariables.set(\u0027orderId\u0027,d.order.id);"
                                                                                ]
                                                                   }
                                                    }
                                                ],
                                      "request":  {
                                                      "method":  "POST",
                                                      "header":  [
                                                                     {
                                                                         "key":  "Accept",
                                                                         "value":  "application/json"
                                                                     },
                                                                     {
                                                                         "key":  "Content-Type",
                                                                         "value":  "application/json"
                                                                     }
                                                                 ],
                                                      "body":  {
                                                                   "mode":  "raw",
                                                                   "raw":  "{\n  \"address_id\": {{addressId}},\n  \"delivery_method_id\": {{deliveryMethodId}},\n  \"coupon_code\": \"{{couponCode}}\",\n  \"payment_method_id\": {{paymentMethodId}},\n  \"scheduled_delivery_at\": \"{{scheduledDeliveryAt}}\",\n  \"note\": \"Created from Postman\"\n}",
                                                                   "options":  {
                                                                                   "raw":  {
                                                                                               "language":  "json"
                                                                                           }
                                                                               }
                                                               },
                                                      "url":  "{{baseUrl}}/checkout/complete",
                                                      "description":  "Creates an order. Current completion flow requires an online payment method."
                                                  },
                                      "response":  [

                                                   ]
                                  }
                              ]
                 }
             ]
}
