[{"data":1,"prerenderedAt":6866},["ShallowReactive",2],{"$fdQ0Pjt-mq6RlOD_o8V2938L6QVbhPfRhPPwEAQJJjOo":3,"footer:default":2645,"header:blog":2832,"story:navigation\u002Fsearch:blog":2928,"blog:blog":2967,"pagination:\u002Fblog\u002F:4":2997,"_apollo:default":6865},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,172,175,178,181,184,187,190,193,196,199,202,205,208,211,214,217,220,223,226,229,232,235,238,241,244,247,250,253,256,259,262,265,268,271,274,277,280,283,286,289,292,295,298,301,304,307,310,313,316,319,322,325,328,331,334,337,340,343,346,349,352,355,358,361,364,367,370,373,376,379,382,385,388,391,394,397,400,403,406,409,412,415,418,421,424,427,430,433,436,439,442,445,448,451,454,457,460,463,466,469,472,475,478,481,484,487,490,493,496,499,502,505,508,511,514,517,520,523,526,529,532,535,538,541,544,547,550,553,556,559,562,565,568,571,574,577,580,583,586,589,592,595,598,601,604,607,610,613,616,619,620,623,626,629,632,635,638,641,644,647,650,653,656,659,662,665,668,671,674,677,680,683,686,689,692,695,698,701,704,707,710,713,716,719,722,725,728,731,734,737,740,743,746,749,752,755,758,761,764,767,770,773,776,779,782,785,788,791,794,797,800,803,806,809,812,815,818,821,824,827,830,833,836,839,842,845,848,851,854,857,860,863,866,869,871,873,875,877,879,881,883,885,887,889,891,893,895,897,899,901,903,905,907,909,911,913,915,917,919,921,923,925,927,929,931,933,936,939,942,945,948,951,954,957,960,963,966,969,972,975,978,981,984,987,990,993,996,999,1002,1005,1008,1011,1014,1017,1020,1023,1026,1029,1032,1035,1038,1041,1044,1047,1050,1053,1056,1059,1062,1065,1068,1071,1074,1077,1080,1083,1086,1089,1092,1095,1098,1101,1104,1107,1110,1113,1116,1119,1122,1125,1128,1131,1134,1137,1140,1143,1146,1149,1152,1155,1158,1161,1164,1167,1170,1173,1176,1179,1182,1185,1188,1191,1194,1197,1200,1203,1206,1209,1212,1215,1217,1220,1222,1225,1227,1230,1232,1235,1237,1240,1242,1245,1247,1250,1252,1255,1257,1260,1262,1265,1267,1270,1272,1275,1277,1280,1282,1285,1287,1290,1292,1295,1297,1300,1302,1305,1307,1310,1312,1315,1317,1320,1322,1325,1327,1330,1332,1335,1337,1340,1342,1345,1347,1350,1352,1355,1357,1360,1362,1365,1367,1370,1372,1375,1377,1380,1382,1385,1387,1390,1392,1395,1397,1400,1402,1405,1407,1410,1412,1415,1417,1420,1422,1425,1427,1430,1432,1435,1437,1440,1442,1445,1447,1450,1452,1455,1457,1460,1462,1465,1467,1470,1472,1475,1477,1480,1482,1485,1487,1490,1492,1495,1497,1500,1502,1505,1507,1510,1512,1515,1517,1520,1522,1525,1527,1530,1532,1535,1537,1540,1542,1545,1547,1550,1552,1555,1557,1560,1562,1565,1567,1570,1572,1575,1577,1580,1582,1585,1587,1590,1592,1595,1597,1600,1602,1605,1607,1610,1612,1615,1617,1620,1622,1625,1627,1630,1632,1635,1637,1640,1642,1645,1647,1650,1652,1655,1657,1660,1662,1665,1667,1670,1672,1675,1677,1680,1682,1685,1687,1690,1692,1695,1697,1700,1702,1705,1707,1710,1712,1715,1717,1720,1722,1725,1727,1730,1732,1735,1737,1740,1742,1745,1747,1750,1752,1755,1757,1760,1762,1765,1767,1770,1772,1775,1778,1781,1784,1787,1790,1793,1796,1799,1802,1805,1808,1811,1814,1817,1820,1823,1826,1829,1832,1835,1838,1841,1844,1847,1850,1853,1856,1859,1862,1865,1868,1871,1874,1877,1880,1883,1886,1889,1892,1895,1898,1901,1904,1907,1910,1913,1916,1919,1922,1925,1928,1931,1934,1937,1940,1943,1946,1949,1952,1955,1958,1961,1964,1967,1970,1973,1976,1979,1982,1985,1988,1991,1994,1997,2000,2003,2006,2009,2012,2015,2018,2021,2024,2027,2030,2033,2036,2039,2042,2045,2048,2051,2054,2057,2060,2063,2066,2069,2072,2075,2078,2081,2084,2087,2090,2093,2096,2099,2102,2105,2108,2111,2114,2117,2120,2123,2126,2129,2132,2135,2138,2141,2144,2147,2150,2153,2156,2159,2162,2165,2168,2171,2174,2177,2180,2183,2186,2189,2192,2195,2198,2201,2204,2207,2210,2213,2216,2219,2222,2225,2228,2231,2234,2237,2240,2243,2246,2249,2252,2255,2258,2261,2264,2267,2270,2273,2276,2279,2282,2285,2288,2291,2294,2297,2300,2303,2306,2309,2312,2315,2318,2321,2324,2327,2330,2333,2336,2339,2342,2345,2348,2351,2354,2357,2360,2363,2366,2369,2372,2375,2378,2381,2384,2387,2390,2393,2396,2399,2402,2405,2408,2411,2414,2417,2420,2423,2426,2429,2432,2435,2438,2441,2444,2447,2450,2453,2456,2459,2462,2465,2468,2471,2474,2477,2480,2483,2486,2489,2492,2495,2498,2501,2504,2507,2510,2513,2516,2519,2522,2525,2528,2531,2534,2537,2540,2543,2546,2549,2552,2555,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2615,2618,2621,2624,2627,2630,2633,2635,2637,2639,2641,2643],{"path":5,"uuid":6},"\u002Fcall","f79a96d9-dfe3-4b8b-8f7e-cbed745a5463",{"path":8,"uuid":9},"\u002Fpricing-new","7753aa92-8cfc-47a7-a311-5cf4fd0a785a",{"path":11,"uuid":12},"\u002Fpricing","c450c58d-761d-48c0-a9af-0b064611689b",{"path":14,"uuid":15},"\u002Fwebflow-printful","14dfa3f2-0387-4caa-b3f9-ed31ec31da85",{"path":17,"uuid":18},"\u002Fadmin-selection","163a84b8-86e1-43b3-93d3-b46b1c4b591d",{"path":20,"uuid":21},"\u002Fcbd","55cec003-cd36-4287-817d-b297dde47955",{"path":23,"uuid":24},"\u002Fsecurity-contact","1f58fb2c-8681-4742-b6e8-09999beae9f6",{"path":26,"uuid":27},"\u002Fupgrade","78eb6fdf-918a-4909-b756-692390538fcf",{"path":29,"uuid":30},"\u002Fpci","55cbfcc3-425a-4261-8037-54e919851d2d",{"path":32,"uuid":33},"\u002Ffor-good","dc6657d7-7f4f-4c0d-b781-e971b038ee26",{"path":35,"uuid":36},"\u002Faccelerate","9e9de431-021d-4247-ba4c-c44d7f1574d6",{"path":38,"uuid":39},"\u002Fabout-us","63634293-a749-4226-9439-9f38ee6dcda0",{"path":41,"uuid":42},"\u002F","1e9858a9-397f-45fd-9b69-a6e661ebe6a6",{"path":44,"uuid":45},"\u002Findustries\u002Fcbd","667ef91d-b6a8-4204-9c77-f899cfb92772",{"path":47,"uuid":48},"\u002Fcompare\u002Fasecurecart","a0825db5-eaa0-4fea-8e96-63e373f12c2f",{"path":50,"uuid":51},"\u002Fcompare\u002F1shoppingcart","ae24fe69-f483-43e0-85a0-fed7631e7c43",{"path":53,"uuid":54},"\u002Faudiences\u002Fservice-providers","bedcbaa9-ceda-4cd2-9ca2-84ce6dbec47f",{"path":56,"uuid":57},"\u002Fcompare\u002Fplasso","ab566afe-7658-4ad9-97f3-a81d80ca9cbf",{"path":59,"uuid":60},"\u002Fcompare\u002Flemonstand","4e84345b-7e70-4a96-9bc8-65ffa89d7bcb",{"path":62,"uuid":63},"\u002Fcompare\u002Fstripe","b64b1102-1af6-4bdf-9431-b1f83dc64c2b",{"path":65,"uuid":66},"\u002Fcompare\u002Fgumroad","717d56db-d2b7-4875-a030-cdd65a1fcafe",{"path":68,"uuid":69},"\u002Fcompare\u002Fbigcommerce","8ce909c7-8a12-431c-8185-6510e2d35985",{"path":71,"uuid":72},"\u002Fcompare\u002Fcelery","4682738a-40a1-494e-afed-533a20a298a7",{"path":74,"uuid":75},"\u002Faudiences\u002Fenterprise","d72fa527-64b1-41f5-a2e4-9a91f7534311",{"path":77,"uuid":78},"\u002Faudiences\u002Fdevelopers","e9ecdb06-b3f4-4004-aacf-32037946d4c1",{"path":80,"uuid":81},"\u002Fuse-cases\u002Fdigital-products","c5fba9f5-31c1-44be-8653-b882ecb95946",{"path":83,"uuid":84},"\u002Faudiences\u002Fsaas-and-platforms","f9716688-4b1b-4ce1-be64-2ba754e77c89",{"path":86,"uuid":87},"\u002Faudiences\u002Fmerchants","899579ca-edc2-45f4-87de-916d1bf5eaf7",{"path":89,"uuid":90},"\u002Fuse-cases\u002Fdonations","48643895-3ce9-427f-8aed-f361e226afca",{"path":92,"uuid":93},"\u002Fsuccess-stories","3f7d4365-068d-4d2b-9be2-c3279d413dbd",{"path":95,"uuid":96},"\u002Fhow-foxy-works","26cb7c55-faed-4a77-a291-1552d4111b3e",{"path":98,"uuid":99},"\u002Fterms-of-service","60ba16a2-c1f4-485f-b978-8d2eeeafbf5a",{"path":101,"uuid":102},"\u002Fprivacy-policy","332302b9-1d18-4016-b9c8-9b33c72d782b",{"path":104,"uuid":105},"\u002Fbrand-assets","23cae210-baf4-4588-9862-d09f4f52ccd2",{"path":107,"uuid":108},"\u002Fcompare","056a7857-b18f-4025-8f97-91a38fc19bc8",{"path":110,"uuid":111},"\u002Fcontact","01e4e370-f9b9-45af-8fa9-f15540699b0d",{"path":113,"uuid":114},"\u002Fhelp","4a679eb7-662d-4ea4-a976-5a2acbf0b663",{"path":116,"uuid":117},"\u002Fintegrations","34235e3a-f951-45e3-8551-d8c2ea391b2d",{"path":119,"uuid":120},"\u002Fwhats-next","08876121-0df3-4ed9-aa11-902b3e41cd02",{"path":122,"uuid":123},"\u002Fpartners","bd4dfa41-8800-4eeb-90f8-781b25c464c6",{"path":125,"uuid":126},"\u002Fplayground","cb4b43ea-7d23-4175-9553-f2f9981ab1ab",{"path":128,"uuid":129},"\u002Fplatforms","d5ee0dd9-4b29-4fbe-968f-b9a7e93f340b",{"path":131,"uuid":132},"\u002Fpayment-methods","e4174198-79d4-49d1-9ffa-4ae2eee9cd13",{"path":134,"uuid":135},"\u002Fblog","6da84274-ebbf-4c71-9bc8-4eba47a6cb15",{"path":137,"uuid":138},"\u002Fchangelogs","d2c83612-d611-47f3-a3b4-ca7fe08540b8",{"path":140,"uuid":141},"\u002Ffeatures","bb04690f-fe98-4ce6-80be-05b950f2364f",{"path":143,"uuid":144},"\u002Fhelp\u002Farticles\u002Fcreate-a-new-payment-set","51d45caa-4d9e-4ad8-acf3-3a73d49e9f61",{"path":146,"uuid":147},"\u002Fhelp\u002Farticles\u002Fpayment-sets-overview","f4d72771-3f52-431c-8d77-6f64fa5573fd",{"path":149,"uuid":150},"\u002Fhelp\u002Farticles\u002Fmodify-a-payment-set","9e1f5f7c-23e4-417e-a3b5-b1d47a913d11",{"path":152,"uuid":153},"\u002Fhelp\u002Farticles\u002Fset-default-payment-set","8f429888-c80b-4957-8da2-596c98a23c31",{"path":155,"uuid":156},"\u002Fhelp\u002Farticles\u002Fapply-a-payment-set","5a1e4395-8bc3-44c9-adb7-9cf81094779b",{"path":158,"uuid":159},"\u002Fhelp\u002Farticles\u002Fdelete-a-payment-set","aac31d75-bef3-4e62-bb83-3cbf28aaadca",{"path":161,"uuid":162},"\u002Fhelp\u002Farticles\u002Fapply-a-template-set","c24bae11-ad9e-4e1a-bf05-e60646216c4d",{"path":164,"uuid":165},"\u002Fhelp\u002Farticles\u002Fdefault-template-set","8ca8cd8e-a6b4-4a5d-8bfe-339e8f10f0ba",{"path":167,"uuid":168},"\u002Fhelp\u002Farticles\u002Fmodify-a-template-set","0e1b9a1a-6b1f-4c32-ad3b-8e6ce406467e",{"path":170,"uuid":171},"\u002Fhelp\u002Farticles\u002Fdelete-a-template-set","eab2574f-0c0c-4b80-be67-530b8cd7d9a8",{"path":173,"uuid":174},"\u002Fhelp\u002Farticles\u002Fcreate-a-new-template-set","43aa96d6-b1f3-42af-924c-6a316ede6df9",{"path":176,"uuid":177},"\u002Fhelp\u002Farticles\u002Ftemplate-sets-overview","829f6c05-12f7-44f2-8381-6111cb5ee303",{"path":179,"uuid":180},"\u002Fhelp\u002Farticles\u002Faccept-user-invitation","d0ed94f2-066b-4a14-b2d4-5393585224f2",{"path":182,"uuid":183},"\u002Fhelp\u002Farticles\u002Fadd-a-new-user","996e8da1-8393-4dd9-87ef-957265a50895",{"path":185,"uuid":186},"\u002Fhelp\u002Farticles\u002Fresend-user-invitation","6db7bf28-c7e5-4d0d-b939-a23801c3f75a",{"path":188,"uuid":189},"\u002Fhelp\u002Farticles\u002Fdelete-a-user","82c17473-30df-4f73-b4f6-daf49632f968",{"path":191,"uuid":192},"\u002Fhelp\u002Farticles\u002Frevoke-a-user-s-access","ce5ba466-e8ed-4ea0-8e19-5ca2c054c946",{"path":194,"uuid":195},"\u002Fhelp\u002Farticles\u002Fcreate-a-new-category","af46955a-a736-40ab-9c53-b823c6ef3141",{"path":197,"uuid":198},"\u002Fhelp\u002Farticles\u002Fdelete-a-category","49fb898d-b270-485f-98b0-82a21073c8d0",{"path":200,"uuid":201},"\u002Fhelp\u002Farticles\u002Fmodify-a-category","0c02ee7d-6942-48ea-bd77-c152013bd404",{"path":203,"uuid":204},"\u002Fhelp\u002Farticles\u002Fproduct-categories-overview","8ae9b378-e102-447d-b0b4-a9a37e58e1f9",{"path":206,"uuid":207},"\u002Fhelp\u002Farticles\u002Fdiscount-parameters","c9f8aa4a-b960-4b96-842f-e7abb365e4db",{"path":209,"uuid":210},"\u002Fhelp\u002Farticles\u002Fgoogle-analytics-parameters","9131b28f-8115-49e8-9e4f-9f02eb2ac5a3",{"path":212,"uuid":213},"\u002Fhelp\u002Farticles\u002Fsubscription-parameters","59a7d1c4-7f0f-4a02-a382-19ea970b5bc4",{"path":215,"uuid":216},"\u002Fhelp\u002Farticles\u002Fstandard-parameters","a8391b5a-4a87-4794-becf-06640ea82773",{"path":218,"uuid":219},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-subscriptions","54c01e5d-67e2-4732-b110-7e046e509913",{"path":221,"uuid":222},"\u002Fhelp\u002Farticles\u002Fbuild-an-online-store-with-lovable-ai-prompts-supabase-and-foxy","67c17311-8277-4347-b18d-11b51771e3c1",{"path":224,"uuid":225},"\u002Fhelp\u002Farticles\u002Fbuild-a-subscription-form-with-lovable-ai-prompts-and-foxy","32228c52-9e8e-410c-9405-d055605b6ab5",{"path":227,"uuid":228},"\u002Fhelp\u002Farticles\u002Fbuild-a-product-configurator-with-convertcalculator","c0bf7f34-727c-4cda-ac26-aeb6b845fb7e",{"path":230,"uuid":231},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-framer-cms","91d6f67f-c7d5-4571-bb9e-b8a55ce373ca",{"path":233,"uuid":234},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-highlevel-ecommerce","2f6a62ca-f82e-4aaf-8d74-39c5235da937",{"path":236,"uuid":237},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-wix-studio","5fdd523c-a983-4622-9326-7dd8bfb048f5",{"path":239,"uuid":240},"\u002Fhelp\u002Farticles\u002Fsync-foxy-transactions-with-printful-orders-via-byteline","f1734dbf-16a1-4516-b4c3-5580566cc5e5",{"path":242,"uuid":243},"\u002Fhelp\u002Farticles\u002Fsync-printful-products-with-webflow-cms-via-byteline","32efd5b6-cd64-4774-b921-bb17ea3416ca",{"path":245,"uuid":246},"\u002Fhelp\u002Farticles\u002Fvalidate-webflow-cms-product-pricing-with-foxy-automations","62d28b80-dcbe-488f-aa17-cb73b592f6f1",{"path":248,"uuid":249},"\u002Fhelp\u002Farticles\u002Fmanage-product-variants-with-webflow-cms-advanced","f0474e52-240c-4038-9844-7cd8ebccf820",{"path":251,"uuid":252},"\u002Fhelp\u002Farticles\u002Fconvert-asecurecart-add-to-cart-forms-to-foxy-forms","54a3f8df-1e5b-443a-99d9-3dfbd761add3",{"path":254,"uuid":255},"\u002Fhelp\u002Farticles\u002Flink-and-form-builder-overview","7ef4112c-0f9e-4d5c-b7f4-1d04d8716942",{"path":257,"uuid":258},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-divhunt-cms","b0944fc1-6833-4a80-a0e9-3f96c1692d7a",{"path":260,"uuid":261},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxys-donation-element","bfea3d87-f603-4c0e-a70f-f08a39ed8df6",{"path":263,"uuid":264},"\u002Fhelp\u002Farticles\u002Fselling-gift-cards-with-the-gift-card-element","4a89b45c-db9c-442d-9437-b72dba6eae05",{"path":266,"uuid":267},"\u002Fhelp\u002Farticles\u002Fcreate-an-add-to-cart-link-in-canva","029ec240-8812-4bc4-99f8-f1605e6c8fe7",{"path":269,"uuid":270},"\u002Fhelp\u002Farticles\u002Fmultilingual-and-multi-currency-with-webflow-localization","b9e69059-3ae7-4ec6-95bf-7b0f55c31164",{"path":272,"uuid":273},"\u002Fhelp\u002Farticles\u002Fmanage-foxy-products-with-pagecloud-e-commerce","d5d60e5a-ff95-4deb-8aee-fbe99b80e032",{"path":275,"uuid":276},"\u002Fhelp\u002Farticles\u002Fset-up-a-customer-portal","1168ec39-1dd0-4fb5-b29a-581ed01a06eb",{"path":278,"uuid":279},"\u002Fhelp\u002Farticles\u002Fintegrate-foxy-with-square-online-weebly-product-manager","c50bb611-4036-4714-bb6a-d3105d7763cc",{"path":281,"uuid":282},"\u002Fhelp\u002Farticles\u002Fadd-or-remove-card-types-accepted-on-checkout","db6be093-3b1c-4fec-8149-b81ca13af24d",{"path":284,"uuid":285},"\u002Fhelp\u002Farticles\u002Fadd-the-stores-address-phone-to-the-email-receipt","bd29e1e8-142c-4f72-a10e-cf6c1086c169",{"path":287,"uuid":288},"\u002Fhelp\u002Farticles\u002Fhow-do-i-know-if-im-using-both-the-text-html-email-receipts","037fad5a-b01a-477f-898a-7a8248aac0ec",{"path":290,"uuid":291},"\u002Fhelp\u002Farticles\u002Fadd-store-address-phone-information-to-web-receipt","7e4c548e-78f0-4b75-b622-52f7e9aa3bbd",{"path":293,"uuid":294},"\u002Fhelp\u002Farticles\u002Fcustomize-the-message-in-web-and-email-receipts","9fffb8f9-015c-4ae7-bcb9-ccc2b09c208b",{"path":296,"uuid":297},"\u002Fhelp\u002Farticles\u002Fcreate-a-customer-portal-in-webflow","8a60adbc-cf44-4db8-872b-d9ca29edddbc",{"path":299,"uuid":300},"\u002Fhelp\u002Farticles\u002Fremove-elements-from-email-receipt","cfa03dd7-dfef-4353-a63f-2de601fb4bc2",{"path":302,"uuid":303},"\u002Fhelp\u002Farticles\u002Fchange-background-color-on-cart-and-checkout","c41cd092-77d3-4824-be24-4e555e17308c",{"path":305,"uuid":306},"\u002Fhelp\u002Farticles\u002Fcreate-ecommerce-ready-product-pages-in-umbraco-with-foxy-uskinned","03c2058a-3adf-4b48-86cd-070d127d7e8d",{"path":308,"uuid":309},"\u002Fhelp\u002Farticles\u002Fuse-godaddy-online-store-to-manage-foxy-products","c3d8ef3e-b3ea-41e3-927e-f49272e79e46",{"path":311,"uuid":312},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-zoho-sites","7ef16816-a6ca-4861-b044-8d1aeb0eb10a",{"path":314,"uuid":315},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-zoho-sites","c2a72341-8573-46e9-85e3-9b0bbf63bb4c",{"path":317,"uuid":318},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-weebly","214fd913-cf0a-4b00-b14b-cd3fb13b78ea",{"path":320,"uuid":321},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-weebly","32b22782-7999-4a83-bf2f-5ec30b255aad",{"path":323,"uuid":324},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-webydo","26332d27-8a46-47b6-a161-37d1f2879777",{"path":326,"uuid":327},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-webydo","77205734-195c-4389-8bb3-ccb417b9fbdc",{"path":329,"uuid":330},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-unbounce","1b384a7d-fa32-4d75-84ca-849206a092ad",{"path":332,"uuid":333},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-unbounce","87539dcd-182e-4ee4-8180-e6264ea38ebc",{"path":335,"uuid":336},"\u002Fhelp\u002Farticles\u002Fuse-squarespace-commerce-to-manage-your-foxy-products","4bb8ece7-1558-4069-967a-586babc714bd",{"path":338,"uuid":339},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-squarespace","e5fc9cfa-80e7-437f-8a9e-1dc7aecb9b73",{"path":341,"uuid":342},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-squarespace","3910b482-bfbc-4e4e-8f06-aac78302397c",{"path":344,"uuid":345},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-spacecraft","dab451c4-2520-41b2-8be9-086135e6e7b9",{"path":347,"uuid":348},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-spacecraft","7d62984a-e68c-424f-ba95-bd2e17b52078",{"path":350,"uuid":351},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-leadpages","1e0bad82-3d15-449e-927d-86d1cc2071b1",{"path":353,"uuid":354},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-leadpages","f665a6eb-6c02-4b3d-b2e0-0bf67d0e0e96",{"path":356,"uuid":357},"\u002Fhelp\u002Farticles\u002Fverify-your-browser","0099aefc-acdc-47a0-a226-730225745749",{"path":359,"uuid":360},"\u002Fhelp\u002Farticles\u002Flogin-or-browser-verification-issues","8b8c9131-0b21-4f71-a7a0-0a0701f7a93e",{"path":362,"uuid":363},"\u002Fhelp\u002Farticles\u002Ffiltering-transactions","fdf1dc6e-f1a7-4b4f-a6a0-61aa2a23272b",{"path":365,"uuid":366},"\u002Fhelp\u002Farticles\u002Fediting-voiding-refunding-transactions","0d8d8ffd-3377-4281-a027-b3304b489404",{"path":368,"uuid":369},"\u002Fhelp\u002Farticles\u002Fopening-the-browser-developer-console","b0e059fa-03ba-4e46-bf09-ecce7b013c29",{"path":371,"uuid":372},"\u002Fhelp\u002Farticles\u002Fsite24x7-synthetic-transaction-monitoring","c16872bc-7ff8-4d5c-86c8-129e641d2342",{"path":374,"uuid":375},"\u002Fhelp\u002Farticles\u002Fcreate-a-payment-set-for-testing-transactions-on-an-active-store","2183cfed-6745-481a-8882-b27d87db42b6",{"path":377,"uuid":378},"\u002Fhelp\u002Farticles\u002Fwhere-should-you-charge-sales-tax","9ff9982a-bb69-47d6-a0ed-01d88e201dd4",{"path":380,"uuid":381},"\u002Fhelp\u002Farticles\u002Fadd-a-customer-pickup-option-to-shipping","b45405a9-24ff-459c-8ed4-a5e5d9cbce2f",{"path":383,"uuid":384},"\u002Fhelp\u002Farticles\u002Flimit-shipping-to-specific-locations","bb2f5546-ab36-4dd4-9d8f-a9ff592b31cb",{"path":386,"uuid":387},"\u002Fhelp\u002Farticles\u002Fhelp-us-help-you","fed390be-6683-49fa-a553-a0b4051825a3",{"path":389,"uuid":390},"\u002Fhelp\u002Farticles\u002Four-official-domains-public-code","c3ac0fe3-83e2-4879-afbd-d4c83e1590df",{"path":392,"uuid":393},"\u002Fhelp\u002Farticles\u002Fcustom-reporting-beta","c4025dca-c0fa-4a53-a4ae-22af68eccf2c",{"path":395,"uuid":396},"\u002Fhelp\u002Farticles\u002Fupdate-subscription-frequency-in-the-foxy-admin","4ee37f0d-576c-4e15-a9ae-32b05a5f2609",{"path":398,"uuid":399},"\u002Fhelp\u002Farticles\u002Fadd-a-past-due-amount-to-a-subscription","95da3aff-5373-429a-9735-b7353f3906f6",{"path":401,"uuid":402},"\u002Fhelp\u002Farticles\u002Fmodify-a-subscription","7ad67a5c-bafd-49b6-b5e3-a66effe7023b",{"path":404,"uuid":405},"\u002Fhelp\u002Farticles\u002Fmodify-a-subscriptions-frequency","ab73e977-9d6d-4d50-bf20-06f7a4f24fdf",{"path":407,"uuid":408},"\u002Fhelp\u002Farticles\u002Fcreate-a-subscription","b4b6742e-c901-47e3-b70e-70d0ad1a6355",{"path":410,"uuid":411},"\u002Fhelp\u002Farticles\u002Fupdate-the-products-in-a-customers-subscription","1fbca5b0-ebb8-44eb-a9de-a8cf5427e256",{"path":413,"uuid":414},"\u002Fhelp\u002Farticles\u002Fmanually-redeliver-downloadable-product-links","d1aee27c-9902-4792-955e-07205a6c113e",{"path":416,"uuid":417},"\u002Fhelp\u002Farticles\u002Fdelete-a-downloadable-product","af6c871f-74c2-42dd-a157-396ac2997057",{"path":419,"uuid":420},"\u002Fhelp\u002Farticles\u002Fmodify-a-downloadable-product","3641a755-5762-4bc8-a7aa-9d5498be8f2c",{"path":422,"uuid":423},"\u002Fhelp\u002Farticles\u002Fcreate-a-downloadable-product","d43e02e7-8c65-486a-95d0-553db072089b",{"path":425,"uuid":426},"\u002Fhelp\u002Farticles\u002Fdownloadables-overview","24326b3d-4f64-44b8-bbdb-dfa2c0550ee1",{"path":428,"uuid":429},"\u002Fhelp\u002Farticles\u002Fwhere-are-products-managed","a301771c-6025-476f-a1c4-5989a91c16ab",{"path":431,"uuid":432},"\u002Fhelp\u002Farticles\u002Fpreorders-backorders-accepting-orders-without-payment","3d4ab377-4472-44ba-8010-3f98273d8c86",{"path":434,"uuid":435},"\u002Fhelp\u002Farticles\u002Fhide-product-options-in-the-cart-checkout-and-receipt","d23da0f0-368d-43a0-8698-36c41c7443cb",{"path":437,"uuid":438},"\u002Fhelp\u002Farticles\u002Fsetting-the-customer-portal-language","fe6ce68c-73ca-430d-a9c4-d2b90d3fc720",{"path":440,"uuid":441},"\u002Fhelp\u002Farticles\u002Fadd-coupon-to-subscription-in-foxy-admin","474774b2-d338-41e0-b4be-34619ba87c17",{"path":443,"uuid":444},"\u002Fhelp\u002Farticles\u002Fcreate-an-update-billing-information-link-for-customers","86e6d8e1-ca64-4683-a314-fab5f8872406",{"path":446,"uuid":447},"\u002Fhelp\u002Farticles\u002Fplace-an-order-on-behalf-of-a-customer","fe56949c-ccdf-4b0c-a35e-6c98c533104b",{"path":449,"uuid":450},"\u002Fhelp\u002Farticles\u002Fupdate-a-customers-billing-information","452a4db8-6d9d-408d-a462-75389870ad3d",{"path":452,"uuid":453},"\u002Fhelp\u002Farticles\u002Fupdating-a-subscribers-payment-or-address-information","9c223725-b58d-466c-89f1-33d7ba72f279",{"path":455,"uuid":456},"\u002Fhelp\u002Farticles\u002Fchange-existing-subscription-price-in-the-foxy-admin","67798f47-d7f7-40d1-94e7-1d1037fac596",{"path":458,"uuid":459},"\u002Fhelp\u002Farticles\u002Fcreate-a-buy-one-get-one-coupon","b312f323-3b2f-4ac8-9e8e-54990732417d",{"path":461,"uuid":462},"\u002Fhelp\u002Farticles\u002Fdont-allow-coupon-to-be-used-with-other-coupons","892088ff-a22e-460c-bb67-e5d8d95a1966",{"path":464,"uuid":465},"\u002Fhelp\u002Farticles\u002Fcancel-your-foxy-subscription","322179cd-ce27-4d6f-88b9-4006e22e9416",{"path":467,"uuid":468},"\u002Fhelp\u002Farticles\u002Ftransfer-your-foxy-subscription-to-a-different-email-address","373eb773-d3f8-4787-b6a8-dd7aba8849ad",{"path":470,"uuid":471},"\u002Fhelp\u002Farticles\u002Fupdate-your-foxy-subscription-billing-information","4d9244ae-fcf4-40b3-b4ed-cce34b6cfb0e",{"path":473,"uuid":474},"\u002Fhelp\u002Farticles\u002Fchange-your-foxy-subscription-plan","ebea5620-ddbe-4499-a9cc-fec9eaed6f0f",{"path":476,"uuid":477},"\u002Fhelp\u002Farticles\u002Fwhich-foxy-plan-is-right-for-you","12be0806-37e7-40a1-acb2-40b8dc57e017",{"path":479,"uuid":480},"\u002Fhelp\u002Farticles\u002Fstore-setup-worksheet","c9369645-ee0a-4774-bacd-1d80818307da",{"path":482,"uuid":483},"\u002Fhelp\u002Farticles\u002Fwhat-foxy-does-and-doesnt-do","0b1577a4-c299-4d1b-8baa-54a668bdc06d",{"path":485,"uuid":486},"\u002Fhelp\u002Farticles\u002Fintroduction-to-foxy","176b874d-7faf-4ba0-b2dc-530252ce4a65",{"path":488,"uuid":489},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-wix","2457ea38-0c28-4686-ace4-e92100c18d3b",{"path":491,"uuid":492},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-wix","9698d75a-7359-498a-b8db-225af98d23bc",{"path":494,"uuid":495},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-wix","c8095d29-4c02-424d-b0f5-ace8fc447b13",{"path":497,"uuid":498},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-launchaco","f17e353b-10b5-4484-a8db-1926e23f3f3c",{"path":500,"uuid":501},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-launchaco","3ee54a65-9504-4d53-bca1-68fdafcf1a9c",{"path":503,"uuid":504},"\u002Fhelp\u002Farticles\u002Fmanage-product-variants-with-webflow-cms","109392a3-8040-40c6-9559-e829d8e19434",{"path":506,"uuid":507},"\u002Fhelp\u002Fcategories\u002Fgift-card-element","91d68267-c2bf-4deb-bfeb-2011ad2597fe",{"path":509,"uuid":510},"\u002Fhelp\u002Farticles\u002Fadd-a-mini-cart-to-your-webflow-website","829489a2-86f3-48f9-8742-fa039fb5fc11",{"path":512,"uuid":513},"\u002Fhelp\u002Farticles\u002Fadd-a-custom-header-and-footer-to-your-foxy-templates-in-webflow","bab2e145-d2f1-42bc-b3d4-b5cebb6810e3",{"path":515,"uuid":516},"\u002Fhelp\u002Fcategories\u002Fpayment-sets","18faa9bc-88a1-4057-b513-fd831eae2530",{"path":518,"uuid":519},"\u002Fhelp\u002Farticles\u002Fwebflow-frequently-asked-questions","acf799b3-c040-4d00-91c5-9c8619ae89d9",{"path":521,"uuid":522},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-instapage","1e6e8480-9712-4e1f-a7a6-e6a17dd02286",{"path":524,"uuid":525},"\u002Fhelp\u002Fcategories\u002Ftemplate-sets","b09f518b-789f-41aa-b9d5-36be3686da80",{"path":527,"uuid":528},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-form-in-carrd","806eb718-7481-4583-9a83-f469c4d6b973",{"path":530,"uuid":531},"\u002Fhelp\u002Fcategories\u002Fproduct-categories","ba278b8f-1c99-4680-9133-03f2433e6116",{"path":533,"uuid":534},"\u002Fhelp\u002Fcategories\u002Fproduct-parameters","fc90e31e-eb25-4492-b41a-6ac54b149038",{"path":536,"uuid":537},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-flauntly","2620e5a9-6942-401a-ba79-57ce1d87138d",{"path":539,"uuid":540},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-fastcomet-sitebuilder","95604e06-e095-43cf-ad61-132c4eac2489",{"path":542,"uuid":543},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-instapage","a2b37527-a784-4bdd-9c50-5520d60c5f8e",{"path":545,"uuid":546},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-clickfunnels","7738b01c-1ce6-4be4-bd93-5d1cad80b2f7",{"path":548,"uuid":549},"\u002Fhelp\u002Fcategories\u002Flovable","304bb7bc-1169-4460-a6a0-dae26c974a49",{"path":551,"uuid":552},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-clickfunnels","3b8c3971-1910-4a40-9a3a-87cf6cbdc237",{"path":554,"uuid":555},"\u002Fhelp\u002Fcategories\u002Fconvertcalculator","e62c86da-7adf-4506-8802-6dc6fb119fe8",{"path":557,"uuid":558},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-webflow","41e62db6-19b2-4038-82f1-04295fe7912d",{"path":560,"uuid":561},"\u002Fhelp\u002Fcategories\u002Fdivhunt","6ce4d6d1-8336-4855-94af-378acc9506a9",{"path":563,"uuid":564},"\u002Fhelp\u002Fparameters\u002Fgoogle-analytics-parameters","341d3414-1dbf-4bb3-bced-281ed138e639",{"path":566,"uuid":567},"\u002Fhelp\u002Fparameters\u002Femail","1b282589-2717-4433-b613-dc6f3a396715",{"path":569,"uuid":570},"\u002Fhelp\u002Fcategories\u002Fframer","a48e3198-73a1-4b24-a6d8-17897a18c809",{"path":572,"uuid":573},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-pagecloud","4fd243b5-a442-436b-8980-ec43123c052e",{"path":575,"uuid":576},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-pagecloud","a84f9f8e-e659-4f60-995b-8f5c19786d56",{"path":578,"uuid":579},"\u002Fhelp\u002Fparameters\u002Fcheckout-config-fc-json-config","742e9e8e-ffbb-4595-8658-413220fe8b28",{"path":581,"uuid":582},"\u002Fhelp\u002Fcategories\u002Fcanva","2dfd6ae4-1583-4ac7-8d8d-a8d3583d1b66",{"path":584,"uuid":585},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-fastcomet-sitebuilder","78dcc3e3-e510-464b-84fa-01267bd4aff4",{"path":587,"uuid":588},"\u002Fhelp\u002Fparameters\u002Fcheckout","07851ca5-19a4-47f3-bf18-7c6e8306f1a4",{"path":590,"uuid":591},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-flauntly","9e88502f-2a5d-4420-87ac-22c88f100a4a",{"path":593,"uuid":594},"\u002Fhelp\u002Fcategories\u002Fhighlevel","f92ea2a5-7830-4cb4-9ccb-a38ea8ffd586",{"path":596,"uuid":597},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-webstudio-cms","77c99cc5-e911-4a6a-ba62-a21051239b03",{"path":599,"uuid":600},"\u002Fhelp\u002Fparameters\u002Fcart-config-fc-json-config","d7de03b4-de7a-4c34-920a-d9e8b886cd7d",{"path":602,"uuid":603},"\u002Fhelp\u002Fcategories\u002Fpayments","7093e179-f73f-4533-a5ed-230e211e3724",{"path":605,"uuid":606},"\u002Fhelp\u002Fcategories\u002Fasecurecart","2a7e7241-5e88-46e5-aa3d-692858f0dae9",{"path":608,"uuid":609},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-webflow-cms","942b9388-4ddf-43c8-82e0-16ddcd3595a7",{"path":611,"uuid":612},"\u002Fhelp\u002Fparameters\u002Fcart","3ffd0b17-be7c-439d-a241-ff90569af527",{"path":614,"uuid":615},"\u002Fhelp\u002Fparameters\u002Fexcluding-options","e0eac317-77c7-4856-9839-7d68fe96cfd2",{"path":617,"uuid":618},"\u002Fhelp\u002Fcategories\u002Fshopping-carts","8f44cdf2-729e-4ce4-ba19-9de2997f2250",{"path":113,"uuid":114},{"path":621,"uuid":622},"\u002Fhelp\u002Fcategories\u002Flink-and-form-builder","0961f958-25ee-476a-8ad0-678d5b69ece4",{"path":624,"uuid":625},"\u002Fhelp\u002Fparameters\u002Fcustomer-information-pre-population","7ccd20ea-e893-4da3-a163-f47d5cb6cb4d",{"path":627,"uuid":628},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-site123","24cefb42-de19-436b-a65b-a4672e62d2f8",{"path":630,"uuid":631},"\u002Fhelp\u002Fcategories\u002Fdonation-element","b053e308-0ba6-4461-832c-e866ea89f65c",{"path":633,"uuid":634},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-site123","d512037e-77bd-4473-9dea-ebfc62e53302",{"path":636,"uuid":637},"\u002Fhelp\u002Fparameters\u002Fproduct-option-modifiers","16039a7a-03ba-4ed7-b551-57f9d0fa7f22",{"path":639,"uuid":640},"\u002Fhelp\u002Fparameters\u002Fproduct-discount-syntax","e8f0d929-d327-475e-b5f4-800309a97638",{"path":642,"uuid":643},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-carrd","e31148d5-2a7c-452a-8ff7-4fef7f9a558b",{"path":645,"uuid":646},"\u002Fhelp\u002Fcategories\u002Fwebstudio","10edc9af-832f-42db-8861-0c695dbc609d",{"path":648,"uuid":649},"\u002Fhelp\u002Fcategories\u002Ftemplates-overview","23f58889-7ab0-45fa-9110-a200c64684b5",{"path":651,"uuid":652},"\u002Fhelp\u002Fparameters\u002Fsubscription-parameters","3ac11574-1cf9-46a7-99ca-85d3feb1b8cf",{"path":654,"uuid":655},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-button-in-webflow","6aef4b9b-958d-433c-abab-08b1c6e084a8",{"path":657,"uuid":658},"\u002Fhelp\u002Farticles\u002Fcreate-a-purchase-form-with-webflows-form-builder","b07e5ff9-1954-45e9-99bf-9197b4ed2362",{"path":660,"uuid":661},"\u002Fhelp\u002Fcategories\u002Fweb-receipt","e450ed68-922d-4f94-9980-09a60f0411f5",{"path":663,"uuid":664},"\u002Fhelp\u002Fparameters\u002Fproduct-discount-types","4c149ad9-4ef7-4aa3-88bb-ba7124ef2888",{"path":666,"uuid":667},"\u002Fhelp\u002Farticles\u002Fadd-customer-reviews-to-webflow-cms-products-with-monto","2c73f3cd-1cef-427f-bbc8-32eff2139e5c",{"path":669,"uuid":670},"\u002Fhelp\u002Fcategories\u002Femail-receipt","d0cea977-ce89-46dd-bdf0-e59e50b5d6f0",{"path":672,"uuid":673},"\u002Fhelp\u002Fparameters\u002Fproduct-discount-methods","e9092d92-44ce-4e02-b94d-e0dc97c01e2c",{"path":675,"uuid":676},"\u002Fhelp\u002Fparameters\u002Fproduct-parameters","f89e2414-191b-43ef-bca5-665c6bd9a776",{"path":678,"uuid":679},"\u002Fhelp\u002Fcategories\u002Fgodaddy-website-builder","d9f1304c-e99c-4087-a7e3-c234c64b088c",{"path":681,"uuid":682},"\u002Fhelp\u002Farticles\u002Fcreate-a-foxy-purchase-form-with-jotform","17dbaa8e-d659-4c74-8c8a-1a199f4a4dce",{"path":684,"uuid":685},"\u002Fhelp\u002Farticles\u002Fadd-an-uploadcare-file-upload-field-to-checkout-page","35bc0f8e-603f-4f0b-a7f6-2cfb275921cd",{"path":687,"uuid":688},"\u002Fhelp\u002Fguides\u002Fwebflow-printful-online-store-guide","6a4f634f-6edd-42e2-86a7-a67da20c960b",{"path":690,"uuid":691},"\u002Fhelp\u002Fparameters\u002Ftransaction-options","3e8bf221-d2f9-49d3-9e37-6e298d64e736",{"path":693,"uuid":694},"\u002Fhelp\u002Fcategories\u002Fcheckout","60b73dc2-7635-487c-bd1f-fd7fba18ab4d",{"path":696,"uuid":697},"\u002Fhelp\u002Farticles\u002Fadd-an-uploadcare-file-upload-option-to-product-form","ba6db4a3-2b84-4a5c-beb9-ffa74723c08f",{"path":699,"uuid":700},"\u002Fhelp\u002Fcategories\u002Fpayment-methods","ef18e20b-2ce2-4b8d-a761-2b928d9c62b2",{"path":702,"uuid":703},"\u002Fhelp\u002Farticles\u002Fintegrate-foxy-with-zapier","7813ddb7-d54d-4451-81df-6bbcaa5d0f0d",{"path":705,"uuid":706},"\u002Fhelp\u002Fcategories\u002Fusers","7b7b1e43-97fc-4f5a-9395-b9bae8b9bb73",{"path":708,"uuid":709},"\u002Fhelp\u002Farticles\u002Fintegrating-the-foxy-webhook-with-make","905e2b17-590a-4419-88b8-b2f3c346877f",{"path":711,"uuid":712},"\u002Fhelp\u002Fcategories\u002Ftransactions","8af943be-0d7f-4add-8cde-b9e2495686ae",{"path":714,"uuid":715},"\u002Fhelp\u002Farticles\u002Fan-introduction-to-marketplaces-with-foxy","99a115b7-1797-48a7-9294-b9181d6211ee",{"path":717,"uuid":718},"\u002Fhelp\u002Fcategories\u002Fsite-monitoring","5bbbf5d1-7902-4515-883a-e5fba4a50446",{"path":720,"uuid":721},"\u002Fhelp\u002Farticles\u002Fmanage-product-inventory-with-webflow-cms","d27a301e-e003-4c6a-9f15-de869c8c868f",{"path":723,"uuid":724},"\u002Fhelp\u002Farticles\u002Fvalidate-product-pricing-and-inventory-before-completing-purchases","a56bfe83-fe06-46fa-9731-79cb79b2df9a",{"path":726,"uuid":727},"\u002Fhelp\u002Fcategories\u002Ftesting","d1bf21b8-01dc-4dfa-855c-91e96394c513",{"path":729,"uuid":730},"\u002Fhelp\u002Farticles\u002Fmanage-products-with-webflow-ecommerce","1263e1e0-9ad9-4cf9-ab3f-007ca37d37c1",{"path":732,"uuid":733},"\u002Fhelp\u002Fcategories\u002Ftemplates","d584ea62-7dcd-4152-be82-6ee0fdeb153c",{"path":735,"uuid":736},"\u002Fhelp\u002Farticles\u002Fgetting-started-with-foxy-carrd","cfe5c8e2-1aea-48a4-b1aa-81d8a312b000",{"path":738,"uuid":739},"\u002Fhelp\u002Fcategories\u002Ftaxes","1cc94adb-9972-46de-8012-0b747fec3c12",{"path":741,"uuid":742},"\u002Fhelp\u002Fcategories\u002Fshipping","d92c1375-75ba-48e1-bb02-a3ae35187e0b",{"path":744,"uuid":745},"\u002Fhelp\u002Fcategories\u002Fsecurity-policies","805729bf-0e8a-4d3f-92b4-fcc4c825b83a",{"path":747,"uuid":748},"\u002Fhelp\u002Fcategories\u002Freporting","926a5f61-4c01-4e7c-ba2d-42b7135a9d57",{"path":750,"uuid":751},"\u002Fhelp\u002Fcategories\u002Fsubscriptions","c7d66085-8f6f-4677-ae1b-d4595f6c3c3c",{"path":753,"uuid":754},"\u002Fhelp\u002Fcategories\u002Fdownloadables","7bfe6cb8-f9f3-4b6e-a351-9b30fb75c7e7",{"path":756,"uuid":757},"\u002Fhelp\u002Fcategories\u002Fproducts-overview","bcc7c113-9a0f-4f64-b7b2-ddf0c5912d89",{"path":759,"uuid":760},"\u002Fhelp\u002Fcategories\u002Fproducts","389d5512-29ba-4a93-9cfa-9491d1618f73",{"path":762,"uuid":763},"\u002Fhelp\u002Fcategories\u002Fcustomer-portal","b4ff4108-a4b3-41f7-96cf-7df60b55fff0",{"path":765,"uuid":766},"\u002Fhelp\u002Fcategories\u002Felements","bb85e13e-a675-4233-b77e-ec7015cfad77",{"path":768,"uuid":769},"\u002Fhelp\u002Fcategories\u002Fcustomers","28ceb72a-9aff-4499-a48e-7616f7d17033",{"path":771,"uuid":772},"\u002Fhelp\u002Fcategories\u002Fcoupons-discounts","3399647a-a5ec-4a36-a383-09069b49f04a",{"path":774,"uuid":775},"\u002Fhelp\u002Fcategories\u002Fbilling","5f5b6dbf-8ee7-40a5-b59a-5c7908678309",{"path":777,"uuid":778},"\u002Fhelp\u002Fcategories\u002Fgetting-started","24c4e979-f143-4ea7-abb2-005358b6fdef",{"path":780,"uuid":781},"\u002Fhelp\u002Fcategories\u002Fwebydo","7c580094-32d3-4aff-96c4-c54e8ad5afcf",{"path":783,"uuid":784},"\u002Fhelp\u002Fcategories\u002Fmarketplaces","832a2a81-7474-4d7d-be7c-173cd5cfcbdf",{"path":786,"uuid":787},"\u002Fhelp\u002Fcategories\u002Fweebly","a9c6a9e7-f4c0-4ca8-96ee-fcf975216163",{"path":789,"uuid":790},"\u002Fhelp\u002Fcategories\u002Fspacecraft","87f55075-87f6-427e-863a-d64988391562",{"path":792,"uuid":793},"\u002Fhelp\u002Fcategories\u002Fwix","3f2e5bee-905b-45a2-9f9e-63543b8d56b0",{"path":795,"uuid":796},"\u002Fhelp\u002Fcategories\u002Fautomations","f21af3d2-69e8-441d-8034-a4fd64d16f4b",{"path":798,"uuid":799},"\u002Fhelp\u002Fcategories\u002Fflauntly","3fd2d7f5-4bf7-4eb8-a660-df76c56a9e30",{"path":801,"uuid":802},"\u002Fhelp\u002Fcategories\u002Fsquarespace","0997e280-de93-4683-ad94-6aa8cb2356c1",{"path":804,"uuid":805},"\u002Fhelp\u002Fcategories\u002Fsite123","d99db09a-9650-46c9-8596-a80952841209",{"path":807,"uuid":808},"\u002Fhelp\u002Fcategories\u002Fpagecloud","1591b980-b28a-406b-b268-a052f12d076e",{"path":810,"uuid":811},"\u002Fhelp\u002Fcategories\u002Fleadpages","dc5eb959-c23f-4698-8440-8fa624f0ec94",{"path":813,"uuid":814},"\u002Fhelp\u002Fcategories\u002Ffile-uploads","610c281d-63ef-4676-bdd6-b6e78955e99a",{"path":816,"uuid":817},"\u002Fhelp\u002Fcategories\u002Fzapier","2a6c37b2-60c7-4a3f-880d-a70ce0e87da5",{"path":819,"uuid":820},"\u002Fhelp\u002Fcategories\u002Fuploadcare","a1b9deb5-e9fb-4c43-8521-2906da1721e7",{"path":822,"uuid":823},"\u002Fhelp\u002Fcategories\u002Fmake","93f04a01-67d2-4ee4-b7f2-84611e5bd776",{"path":825,"uuid":826},"\u002Fhelp\u002Fcategories\u002Fjotform","796e63a8-fd73-4dc7-a8a2-112052222ce9",{"path":828,"uuid":829},"\u002Fhelp\u002Fcategories\u002Fzoho-sites","fe781809-b739-4325-8332-41a56c8d4066",{"path":831,"uuid":832},"\u002Fhelp\u002Fcategories\u002Flaunchaco","a5527829-f6b6-41a2-892f-fc3aaa439d48",{"path":834,"uuid":835},"\u002Fhelp\u002Fcategories\u002Finstapage","8d5fce75-7d17-4a1c-af26-428fe0c1afb6",{"path":837,"uuid":838},"\u002Fhelp\u002Fcategories\u002Fhelp-scout","cdac12b3-10a4-4518-bf06-7595bbfb33fb",{"path":840,"uuid":841},"\u002Fhelp\u002Fcategories\u002Ffastcomet-sitebuilder","9f7d08d7-b42d-4fb2-8924-e1164dc157f5",{"path":843,"uuid":844},"\u002Fhelp\u002Fcategories\u002Fclickfunnels","27ad7776-42a6-4f7d-ab4f-f32c6f59a561",{"path":846,"uuid":847},"\u002Fhelp\u002Fcategories\u002Funbounce","07026041-b3ab-4baf-a66f-913b43585af7",{"path":849,"uuid":850},"\u002Fhelp\u002Fcategories\u002Fform-builders","a938ceb3-9d27-43ff-bf5e-5fe4fa056883",{"path":852,"uuid":853},"\u002Fhelp\u002Fcategories\u002Fuskinned","096c587d-ab62-4bf7-ba5f-58f2d1b11c05",{"path":855,"uuid":856},"\u002Fhelp\u002Fcategories\u002Fwebflow","77165c20-6213-4411-b8c9-0bc9a9186c82",{"path":858,"uuid":859},"\u002Fhelp\u002Fcategories\u002Fcarrd","d9c167fd-b386-477d-a749-07fbc9f39a13",{"path":861,"uuid":862},"\u002Fhelp\u002Fcategories\u002Fcms-website-builders","d642ff72-7262-4abd-b182-29730fbd0096",{"path":864,"uuid":865},"\u002Fhelp\u002Fcategories\u002Fintegrations","3dd64bd5-9f7a-4369-9b40-71880010c1ca",{"path":867,"uuid":868},"\u002Fhelp\u002Fcategories","4c0a2d99-ec30-4579-8ef1-6bf5564d4839",{"path":870},"\u002Fchangelogs\u002F2",{"path":872},"\u002Fchangelogs\u002F3",{"path":874},"\u002Fchangelogs\u002F4",{"path":876},"\u002Fchangelogs\u002F5",{"path":878},"\u002Fchangelogs\u002F6",{"path":880},"\u002Fchangelogs\u002F7",{"path":882},"\u002Fchangelogs\u002F8",{"path":884},"\u002Fchangelogs\u002F9",{"path":886},"\u002Fchangelogs\u002F10",{"path":888},"\u002Fchangelogs\u002F11",{"path":890},"\u002Fchangelogs\u002F12",{"path":892},"\u002Fchangelogs\u002F13",{"path":894},"\u002Fchangelogs\u002F14",{"path":896},"\u002Fchangelogs\u002F15",{"path":898},"\u002Fchangelogs\u002F16",{"path":900},"\u002Fchangelogs\u002F17",{"path":902},"\u002Fchangelogs\u002F18",{"path":904},"\u002Fchangelogs\u002F19",{"path":906},"\u002Fchangelogs\u002F20",{"path":908},"\u002Fchangelogs\u002F21",{"path":910},"\u002Fchangelogs\u002F22",{"path":912},"\u002Fchangelogs\u002F23",{"path":914},"\u002Fchangelogs\u002F24",{"path":916},"\u002Fchangelogs\u002F25",{"path":918},"\u002Fchangelogs\u002F26",{"path":920},"\u002Fchangelogs\u002F27",{"path":922},"\u002Fchangelogs\u002F28",{"path":924},"\u002Fchangelogs\u002F29",{"path":926},"\u002Fchangelogs\u002F30",{"path":928},"\u002Fchangelogs\u002F31",{"path":930},"\u002Fchangelogs\u002F32",{"path":932},"\u002Fchangelogs\u002F33",{"path":934,"uuid":935},"\u002Fintegrations\u002Fhumblytics","a6173465-4bb5-42eb-ac9d-6ff820ed8d63",{"path":937,"uuid":938},"\u002Fintegrations\u002Fgmail","7b8fcc0b-5b5d-4f74-9a67-8136e1010953",{"path":940,"uuid":941},"\u002Fintegrations\u002Fpostgresql","c5fb983d-9110-466b-8fa8-d912b1e40f66",{"path":943,"uuid":944},"\u002Fintegrations\u002Fmysql","141a2b04-637f-4922-8a07-587159a9c1bd",{"path":946,"uuid":947},"\u002Fintegrations\u002Fprintful","8dba8906-23b4-43f8-abb3-b563eb78b205",{"path":949,"uuid":950},"\u002Fintegrations\u002Fmailerlite","3891e7d8-ade3-4363-8ffb-517e7a3aee0a",{"path":952,"uuid":953},"\u002Fintegrations\u002Fhubspot","319c79ca-31b3-4861-aa74-ccffc2126386",{"path":955,"uuid":956},"\u002Fintegrations\u002Fgoogle-sheets","b67c145e-ea55-41a5-ab21-fc94eb2c395c",{"path":958,"uuid":959},"\u002Fintegrations\u002Fpipedrive","c48ae577-ec4e-4f16-b435-85a01b081974",{"path":961,"uuid":962},"\u002Fintegrations\u002Factivecampaign","7dbbaaf2-dc72-46c9-9fb1-525f00b9ee9b",{"path":964,"uuid":965},"\u002Fintegrations\u002Fpackagebee","e97bf162-5bc1-4cfd-8c5e-9d6371522de5",{"path":967,"uuid":968},"\u002Fintegrations\u002Fdrip","5713ffaa-26e6-4d37-98a4-c1ae5541f5b7",{"path":970,"uuid":971},"\u002Fintegrations\u002Fwordpress","347af825-5fcf-4e53-96f2-8851eb6b1ede",{"path":973,"uuid":974},"\u002Fintegrations\u002Fverticalresponse","c887b5e9-a1de-4afc-b5e9-16f8376c06cd",{"path":976,"uuid":977},"\u002Fintegrations\u002Fveracore","67385d5d-d72d-4540-b99f-6d2448c7c87c",{"path":979,"uuid":980},"\u002Fintegrations\u002Fumbraco-uskinned","101b1818-40b0-40af-b6ad-148996302512",{"path":982,"uuid":983},"\u002Fintegrations\u002Fbyteline-sync","660de31b-59ee-4dc1-980b-99056c5c7e4e",{"path":985,"uuid":986},"\u002Fintegrations\u002Fthomson-reuters-onesource","205f8d52-e081-46f8-abdb-c90545e5e2eb",{"path":988,"uuid":989},"\u002Fintegrations\u002Ftaxjar","d31c33a8-67d9-429f-a9d9-ac7afecc5565",{"path":991,"uuid":992},"\u002Fintegrations\u002Fstarshipit","e0b4b006-9b24-466c-905d-07103a799049",{"path":994,"uuid":995},"\u002Fintegrations\u002Fstamps-com","2d3d52ea-0631-4907-9045-e0396651a80f",{"path":997,"uuid":998},"\u002Fintegrations\u002Fshipworks","0e6e72a5-64f6-40f8-ac77-84dc8b502817",{"path":1000,"uuid":1001},"\u002Fintegrations\u002Fshipwire","640cf737-b05e-408a-83aa-179cdaba3590",{"path":1003,"uuid":1004},"\u002Fintegrations\u002Frejoiner","09a51830-4f64-496b-a157-8e9ae6087824",{"path":1006,"uuid":1007},"\u002Fintegrations\u002Fshippo-fulfillment","3a01e1d2-fa15-476c-b862-f2ffccd1f7d5",{"path":1009,"uuid":1010},"\u002Fintegrations\u002Fshippo-live-rates","d404f856-1089-4f93-a67c-6f62cab68689",{"path":1012,"uuid":1013},"\u002Fintegrations\u002Fred-stag-fulfillment","7716789e-843c-4503-9864-35ea659eafbf",{"path":1015,"uuid":1016},"\u002Fintegrations\u002Fpost-affiliate-pro","f9f62f30-2d5e-4fb7-ad52-46b2a4fd7fa5",{"path":1018,"uuid":1019},"\u002Fintegrations\u002Fosi-affiliate","04e4ab28-5fab-4673-b246-688fc53a8c3e",{"path":1021,"uuid":1022},"\u002Fintegrations\u002Fidevaffiliate","ed6cc6f4-c32e-4562-8a0d-644b5f4b38bb",{"path":1024,"uuid":1025},"\u002Fintegrations\u002Ficontact","3e1adba3-f575-4924-a7dc-67b85f705872",{"path":1027,"uuid":1028},"\u002Fintegrations\u002Fcraft-cms","787b01af-261d-4e7b-a1ec-1854d220d4bb",{"path":1030,"uuid":1031},"\u002Fintegrations\u002Fshipstation-fulfillment","e5f31cb6-2ce3-42f8-b0a0-cf6b2c0d5b25",{"path":1033,"uuid":1034},"\u002Fintegrations\u002Fquickbooks","d0460023-bfa4-4066-ab2f-85aa43c42ec9",{"path":1036,"uuid":1037},"\u002Fintegrations\u002Forder-desk","4f7e3e2a-460c-45cc-a608-481667f6cda5",{"path":1039,"uuid":1040},"\u002Fintegrations\u002Fhelp-scout","1b46a426-eadb-4044-b3c9-891c05788f6f",{"path":1042,"uuid":1043},"\u002Fintegrations\u002Ffulfillrite","686159a4-cca2-41e1-aec0-f1a2551e9866",{"path":1045,"uuid":1046},"\u002Fintegrations\u002Ffulfillment-by-amazon-fba","0c0f4f2f-b995-47f5-98c4-fa3f7a3b274d",{"path":1048,"uuid":1049},"\u002Fintegrations\u002Ffraudlabs-pro","2ebb68a2-3a5c-4d54-ad20-62d87e65ed06",{"path":1051,"uuid":1052},"\u002Fintegrations\u002Ffetchapp","55735481-8a88-4e20-af80-83112e9613a8",{"path":1054,"uuid":1055},"\u002Fintegrations\u002Fendicia","c6c034ec-060d-4cff-9ffc-875934173446",{"path":1057,"uuid":1058},"\u002Fintegrations\u002Fslack","05d77306-3e26-49a9-aea1-b7c25b6615f5",{"path":1060,"uuid":1061},"\u002Fintegrations\u002Fairtable","03d2b479-7f08-4f6a-94f1-7f893e0cf7a5",{"path":1063,"uuid":1064},"\u002Fintegrations\u002Fsalesforce","1449a312-6dce-490b-b3bb-90604d758adb",{"path":1066,"uuid":1067},"\u002Fintegrations\u002Fmailchimp","0c7fb93e-c1af-4372-86a5-576dd8fbfbef",{"path":1069,"uuid":1070},"\u002Fintegrations\u002Fsendy","142be3bb-7dbc-4286-be5e-dc855473406a",{"path":1072,"uuid":1073},"\u002Fintegrations\u002Fmonto-affiliates","7bb16d05-de7f-4ea0-a30c-c73e53302c43",{"path":1075,"uuid":1076},"\u002Fintegrations\u002Fmonto","30f9454b-7edc-4c4e-a2d6-f7b9cfb7bb87",{"path":1078,"uuid":1079},"\u002Fintegrations\u002Fmonto-abandoned-cart-recovery","25aca4b7-bdba-44dd-bf0f-e21d46c16b29",{"path":1081,"uuid":1082},"\u002Fintegrations\u002Fmonto-crm","97d1d4be-562d-4a7d-a043-82bcc651b7ad",{"path":1084,"uuid":1085},"\u002Fintegrations\u002Fmonto-customer-portal","ede6256f-d297-4734-8b56-3f15593dbfef",{"path":1087,"uuid":1088},"\u002Fintegrations\u002Fmonto-loyalty-rewards-referrals","62c6f95b-dee8-45c6-9f57-71e4084aba08",{"path":1090,"uuid":1091},"\u002Fintegrations\u002Fmonto-reviews","bc46fc5d-38fa-4ed2-a7bb-a0d2c9249e42",{"path":1093,"uuid":1094},"\u002Fintegrations\u002Fmonto-social-proof","868c126c-69ed-495c-b4ad-a59bb1320d41",{"path":1096,"uuid":1097},"\u002Fintegrations\u002Feasypost","9452814e-53ab-4eca-b73c-36772de2c7fe",{"path":1099,"uuid":1100},"\u002Fintegrations\u002Fefulfillment-service","19ffd96c-4f8d-4587-b7c9-d6c5078e7686",{"path":1102,"uuid":1103},"\u002Fintegrations\u002Ffetchify","9e5ca12b-4df0-42a5-b3a8-178509267d25",{"path":1105,"uuid":1106},"\u002Fintegrations\u002Fcartstack","6f020e81-a9c6-462b-b5f3-62350ba0f566",{"path":1108,"uuid":1109},"\u002Fintegrations\u002Fzapier","040931d6-928d-493e-989c-0cf02d3e01b2",{"path":1111,"uuid":1112},"\u002Fintegrations\u002Fpipedream","cda9ef0d-04cb-4eea-98f6-2669418bc914",{"path":1114,"uuid":1115},"\u002Fintegrations\u002Fmake","7c8614f2-4e24-4e29-8782-fe24914e3edc",{"path":1117,"uuid":1118},"\u002Fintegrations\u002Fhighlevel","0f692f95-743e-483e-888f-b18ca0055b82",{"path":1120,"uuid":1121},"\u002Fintegrations\u002Fgodaddy","103a92e9-1cfd-4f90-9a98-d37db419eef0",{"path":1123,"uuid":1124},"\u002Fintegrations\u002Fwebstudio","27048cf1-66ef-49fc-9c14-3671d2c98d2b",{"path":1126,"uuid":1127},"\u002Fintegrations\u002Fdivhunt","e365977e-ac72-4486-a161-1ff8ddd6146e",{"path":1129,"uuid":1130},"\u002Fintegrations\u002Fframer","79e18c54-38a6-4967-9314-1f22f623a50b",{"path":1132,"uuid":1133},"\u002Fintegrations\u002Flovable","3503537f-7380-4c77-bc51-a952851f6d64",{"path":1135,"uuid":1136},"\u002Fintegrations\u002Fzoho-sites","77ef856e-e28e-4d98-81f0-edbb6af18542",{"path":1138,"uuid":1139},"\u002Fintegrations\u002Fpagecloud","38be4e23-f2c5-4af0-832d-db9ed2476927",{"path":1141,"uuid":1142},"\u002Fintegrations\u002Fleadpages","df2f204a-312a-44f7-b3ee-2f62923bfa9d",{"path":1144,"uuid":1145},"\u002Fintegrations\u002Finstapage","6f39260c-6981-4f89-bcc6-c11f9452709c",{"path":1147,"uuid":1148},"\u002Fintegrations\u002Fsite123","a3a52cf2-0cf6-4418-8403-d2119eb27342",{"path":1150,"uuid":1151},"\u002Fintegrations\u002Fsquarespace","9a587f81-36a3-401f-a229-815949db9e6a",{"path":1153,"uuid":1154},"\u002Fintegrations\u002Fclickfunnels","597dc58d-9d42-4d5b-ad4d-2ee27cadd68c",{"path":1156,"uuid":1157},"\u002Fintegrations\u002Fcarrd","d259fc46-f7dd-4f22-8455-154145b34b0e",{"path":1159,"uuid":1160},"\u002Fintegrations\u002Funbounce","452da30e-3a1c-45cc-a194-a3f80725e3b9",{"path":1162,"uuid":1163},"\u002Fintegrations\u002Fwebydo","9b6fd2fe-143d-4096-bba5-ef1758b8c4fe",{"path":1165,"uuid":1166},"\u002Fintegrations\u002Fweebly","29a5fbdb-7ce3-4bfd-9463-264b1a131f5c",{"path":1168,"uuid":1169},"\u002Fintegrations\u002Fwix","927f0f0e-b013-4f1d-9646-f74645d2a976",{"path":1171,"uuid":1172},"\u002Fintegrations\u002Fcampaign-monitor","9a27107a-7022-4a4b-947a-6b75d418c135",{"path":1174,"uuid":1175},"\u002Fintegrations\u002Femma","936367ef-0561-4920-b656-8c96fcc2c7ca",{"path":1177,"uuid":1178},"\u002Fintegrations\u002Fconstant-contact","10a3127d-8c21-49dd-8c20-0617db04ab20",{"path":1180,"uuid":1181},"\u002Fintegrations\u002Fextensiv","38dd219e-05f2-45be-bf38-6f380df96f57",{"path":1183,"uuid":1184},"\u002Fintegrations\u002Faweber","49b603c8-7312-4ffe-89d5-97ca727c547d",{"path":1186,"uuid":1187},"\u002Fintegrations\u002Fconvertkit","cf3ca418-ca64-4826-bd71-5873ef1dc489",{"path":1189,"uuid":1190},"\u002Fintegrations\u002Famazon-web-services","93155414-ab2f-49da-b2bd-f336252ae237",{"path":1192,"uuid":1193},"\u002Fintegrations\u002Fdrupal","d6c9a3fa-ab76-450d-8cb7-f86abc198b79",{"path":1195,"uuid":1196},"\u002Fintegrations\u002Fgoogle-analytics","1a156476-25c1-4843-9ef0-ac3958988f69",{"path":1198,"uuid":1199},"\u002Fintegrations\u002Favalara-avatax","74cf0c58-9499-4b53-a1af-0d8372e155e3",{"path":1201,"uuid":1202},"\u002Fintegrations\u002Freferralcandy","3383e7a9-0226-4deb-9512-daee85811159",{"path":1204,"uuid":1205},"\u002Fintegrations\u002Fwebflow","cd7c7e90-42be-4a1c-ad1b-70c28dbb866f",{"path":1207,"uuid":1208},"\u002Fpayment-methods\u002Fpawapay","4be10b92-1353-4bf0-8e78-5caabfc96a0a",{"path":1210,"uuid":1208,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpawapay","help",{"path":1213,"uuid":1214},"\u002Fpayment-methods\u002Fwallee","823238a5-70c6-4942-a113-81caccc4d550",{"path":1216,"uuid":1214,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fwallee",{"path":1218,"uuid":1219},"\u002Fpayment-methods\u002Ftwint","397b53cf-413c-4a63-9f14-ff539a6803f5",{"path":1221,"uuid":1219,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ftwint",{"path":1223,"uuid":1224},"\u002Fpayment-methods\u002Faccept-blue","568db468-bb06-4541-8490-8db9663a4487",{"path":1226,"uuid":1224,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Faccept-blue",{"path":1228,"uuid":1229},"\u002Fpayment-methods\u002Fbank-of-america","8bc9cb97-897c-4a5d-bfe9-e87385f1a790",{"path":1231,"uuid":1229,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fbank-of-america",{"path":1233,"uuid":1234},"\u002Fpayment-methods\u002Fvenmo","8d2412f1-c3ab-4592-83b6-89d9ad036d7a",{"path":1236,"uuid":1234,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fvenmo",{"path":1238,"uuid":1239},"\u002Fpayment-methods\u002Ftasker-payment-gateways","3fef9fd9-37e0-469c-a491-d952ac6626ee",{"path":1241,"uuid":1239,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ftasker-payment-gateways",{"path":1243,"uuid":1244},"\u002Fpayment-methods\u002Falternative-horizons-group","c7ad9b4d-e65b-4c9f-aff7-8a5cbf75a3fa",{"path":1246,"uuid":1244,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Falternative-horizons-group",{"path":1248,"uuid":1249},"\u002Fpayment-methods\u002Fpaykings","c8bb3eaa-39cc-4a15-83d1-f10d0f75f7db",{"path":1251,"uuid":1249,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaykings",{"path":1253,"uuid":1254},"\u002Fpayment-methods\u002Fstitch-express","9ef8db50-b9b9-4d25-80b7-5a653c7e2cad",{"path":1256,"uuid":1254,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fstitch-express",{"path":1258,"uuid":1259},"\u002Fpayment-methods\u002Fpurchase-orders","d349f336-1a16-4fee-9f6a-8fd3ca7f196f",{"path":1261,"uuid":1259,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpurchase-orders",{"path":1263,"uuid":1264},"\u002Fpayment-methods\u002Fpaypal-plus","28d70eb5-7c88-48ab-97e9-ec35f9478179",{"path":1266,"uuid":1264,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaypal-plus",{"path":1268,"uuid":1269},"\u002Fpayment-methods\u002Fpaypal-payments-pro","0958520c-5431-4aee-87b5-8739f358d505",{"path":1271,"uuid":1269,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaypal-payments-pro",{"path":1273,"uuid":1274},"\u002Fpayment-methods\u002Fpaypal-payflow-pro","a14cf1a3-9ebd-4dce-b59c-e3ac9264f24e",{"path":1276,"uuid":1274,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaypal-payflow-pro",{"path":1278,"uuid":1279},"\u002Fpayment-methods\u002Fpaypal-micropayments","0ca080c9-570e-4bbb-bd7f-03a1c05235b5",{"path":1281,"uuid":1279,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaypal-micropayments",{"path":1283,"uuid":1284},"\u002Fpayment-methods\u002Fpaypal-express-checkout","60fe4c8a-8ca2-49de-ad33-16c38cf29e5d",{"path":1286,"uuid":1284,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaypal-express-checkout",{"path":1288,"uuid":1289},"\u002Fpayment-methods\u002Fintuit-quickbooks-payments","d7d187a3-6371-48e0-b36a-ddce46adc1b8",{"path":1291,"uuid":1289,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fintuit-quickbooks-payments",{"path":1293,"uuid":1294},"\u002Fpayment-methods\u002Ftotal-apps","5bc53482-bad4-48d3-b47a-ac61403d8902",{"path":1296,"uuid":1294,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ftotal-apps",{"path":1298,"uuid":1299},"\u002Fpayment-methods\u002Fplug-n-pay-smartscreen","8a6973a5-a009-48e2-a0b4-b9a101f206d9",{"path":1301,"uuid":1299,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fplug-n-pay-smartscreen",{"path":1303,"uuid":1304},"\u002Fpayment-methods\u002Fworldpay-b2b-paymetric","4bfd1840-ee0f-4512-bbed-b821486c4a73",{"path":1306,"uuid":1304,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fworldpay-b2b-paymetric",{"path":1308,"uuid":1309},"\u002Fpayment-methods\u002Fzage","fe3d187f-65d0-4150-8af7-ae78a4d59219",{"path":1311,"uuid":1309,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fzage",{"path":1313,"uuid":1314},"\u002Fpayment-methods\u002Fyuupay","c9fad5c8-380d-4e27-a65b-25f4e616b5ef",{"path":1316,"uuid":1314,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fyuupay",{"path":1318,"uuid":1319},"\u002Fpayment-methods\u002Fxendit","93832a2c-8df1-4ce0-b450-1939dd80b7ab",{"path":1321,"uuid":1319,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fxendit",{"path":1323,"uuid":1324},"\u002Fpayment-methods\u002Fworldpay-online","50971c2b-1d1b-4312-b7c0-fa04f9e80a01",{"path":1326,"uuid":1324,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fworldpay-online",{"path":1328,"uuid":1329},"\u002Fpayment-methods\u002Fworldpay","acf02427-3bad-4276-a62e-ea0070e1388a",{"path":1331,"uuid":1329,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fworldpay",{"path":1333,"uuid":1334},"\u002Fpayment-methods\u002Fwestpac-payway","07b985b7-6bc6-43e0-85c7-39197a623008",{"path":1336,"uuid":1334,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fwestpac-payway",{"path":1338,"uuid":1339},"\u002Fpayment-methods\u002Fviva-wallet","05e63b58-7de2-4edd-96c9-9f74f101a8fb",{"path":1341,"uuid":1339,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fviva-wallet",{"path":1343,"uuid":1344},"\u002Fpayment-methods\u002Fconverge-elavon","732de00d-3632-4a65-a5c1-a556f03445bd",{"path":1346,"uuid":1344,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fconverge-elavon",{"path":1348,"uuid":1349},"\u002Fpayment-methods\u002Fvanco","2a9c6d92-45f8-472a-96d3-f10551c5b3dd",{"path":1351,"uuid":1349,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fvanco",{"path":1353,"uuid":1354},"\u002Fpayment-methods\u002Fusa-epay","262120cd-0f4e-4ab7-b435-703143609765",{"path":1356,"uuid":1354,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fusa-epay",{"path":1358,"uuid":1359},"\u002Fpayment-methods\u002Ftrustcommerce","8f1a281a-4f03-42fe-afe2-56772a1b56b5",{"path":1361,"uuid":1359,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ftrustcommerce",{"path":1363,"uuid":1364},"\u002Fpayment-methods\u002Ftrust-payments","5a8d5c55-9ba4-4f66-97a7-b029df9d2020",{"path":1366,"uuid":1364,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ftrust-payments",{"path":1368,"uuid":1369},"\u002Fpayment-methods\u002Ftransfirst-transaction-express","6a6fcade-4cfe-400d-a1f0-7ef6f74a915c",{"path":1371,"uuid":1369,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ftransfirst-transaction-express",{"path":1373,"uuid":1374},"\u002Fpayment-methods\u002Ftransaction-central-by-transfirst","b934ed42-d4fb-40d7-bbaa-b9c75df35f93",{"path":1376,"uuid":1374,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ftransaction-central-by-transfirst",{"path":1378,"uuid":1379},"\u002Fpayment-methods\u002Fsquare-platform","72f30a69-97e7-4f36-8209-27ffe54c3e08",{"path":1381,"uuid":1379,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fsquare-platform",{"path":1383,"uuid":1384},"\u002Fpayment-methods\u002Fskrill","bc103daf-58ea-4425-b299-4f06a2fadbf6",{"path":1386,"uuid":1384,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fskrill",{"path":1388,"uuid":1389},"\u002Fpayment-methods\u002Fsezzle","4078d95a-1015-4c5e-9084-050ed27b1edb",{"path":1391,"uuid":1389,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fsezzle",{"path":1393,"uuid":1394},"\u002Fpayment-methods\u002Frealex","8f4419ae-2e26-4ee9-9db9-d1f6c9ecb29f",{"path":1396,"uuid":1394,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Frealex",{"path":1398,"uuid":1399},"\u002Fpayment-methods\u002Fquantum-gateway-cdg-commerce","6161ef31-74a7-4c15-8a50-d5f241501d1e",{"path":1401,"uuid":1399,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fquantum-gateway-cdg-commerce",{"path":1403,"uuid":1404},"\u002Fpayment-methods\u002Fpsigate","0b556ad6-34cf-4229-bf5b-0ba36e64d8f6",{"path":1406,"uuid":1404,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpsigate",{"path":1408,"uuid":1409},"\u002Fpayment-methods\u002Fplug-n-pay","35932884-dace-45dc-aea1-b6f35af67f22",{"path":1411,"uuid":1409,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fplug-n-pay",{"path":1413,"uuid":1414},"\u002Fpayment-methods\u002Fpesapal","c471520d-b5eb-4d11-8618-aa47a813109d",{"path":1416,"uuid":1414,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpesapal",{"path":1418,"uuid":1419},"\u002Fpayment-methods\u002Fpayvector","cf71ea91-4b91-4596-838b-0b08494bb617",{"path":1421,"uuid":1419,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpayvector",{"path":1423,"uuid":1424},"\u002Fpayment-methods\u002Fpayu","b2fc34c6-cf17-4434-b74d-de8461197b2e",{"path":1426,"uuid":1424,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpayu",{"path":1428,"uuid":1429},"\u002Fpayment-methods\u002Fpaytrace","c3b5c92b-f9fb-4784-b513-eb60ea2f9b1c",{"path":1431,"uuid":1429,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaytrace",{"path":1433,"uuid":1434},"\u002Fpayment-methods\u002Fpaypal-complete-payments","dd6cc5f6-c8b1-4eca-a24c-03e4559b4360",{"path":1436,"uuid":1434,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaypal-complete-payments",{"path":1438,"uuid":1439},"\u002Fpayment-methods\u002Fpaymentsense","ad7b7e1b-d780-4493-87d8-49ec4fec315c",{"path":1441,"uuid":1439,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaymentsense",{"path":1443,"uuid":1444},"\u002Fpayment-methods\u002Fwindcave-pxpost","c1d686d4-49cc-48e6-bb5d-43bcfa7eaba1",{"path":1446,"uuid":1444,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fwindcave-pxpost",{"path":1448,"uuid":1449},"\u002Fpayment-methods\u002Fwindcave-web-service","06a0fc37-4181-4408-9537-66bd771547b8",{"path":1451,"uuid":1449,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fwindcave-web-service",{"path":1453,"uuid":1454},"\u002Fpayment-methods\u002Fpayline","5a8fc6e4-6de0-4d41-b31c-48ac01498fa5",{"path":1456,"uuid":1454,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpayline",{"path":1458,"uuid":1459},"\u002Fpayment-methods\u002Fpayleap","2aee0358-5d30-49d8-9a0e-f2c499c30dc5",{"path":1461,"uuid":1459,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpayleap",{"path":1463,"uuid":1464},"\u002Fpayment-methods\u002Fpayjunction","a2866753-56e4-4d7a-87ea-0c78af9c9711",{"path":1466,"uuid":1464,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpayjunction",{"path":1468,"uuid":1469},"\u002Fpayment-methods\u002Fpaygate","d49106be-e0bf-4508-8abd-c6357a4768bd",{"path":1471,"uuid":1469,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaygate",{"path":1473,"uuid":1474},"\u002Fpayment-methods\u002Fpayconex","86b34a75-e034-4e27-9676-82395f02434d",{"path":1476,"uuid":1474,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpayconex",{"path":1478,"uuid":1479},"\u002Fpayment-methods\u002Fpaya","58d0c56d-03ab-4b6c-b9da-2cbdde897f07",{"path":1481,"uuid":1479,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaya",{"path":1483,"uuid":1484},"\u002Fpayment-methods\u002Fpay360","f93aee2a-ff1a-43a3-9d9e-5a385b1159d3",{"path":1486,"uuid":1484,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpay360",{"path":1488,"uuid":1489},"\u002Fpayment-methods\u002Fpaperless","d8b999ca-c200-4632-bd8e-851c1d613669",{"path":1491,"uuid":1489,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaperless",{"path":1493,"uuid":1494},"\u002Fpayment-methods\u002Fopayo","5cd15dac-6549-4336-a194-56ccc19dfb22",{"path":1496,"uuid":1494,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fopayo",{"path":1498,"uuid":1499},"\u002Fpayment-methods\u002Fnmi","d73675c3-2e24-45d6-90ee-78eb6c2e9b7f",{"path":1501,"uuid":1499,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fnmi",{"path":1503,"uuid":1504},"\u002Fpayment-methods\u002Fnetbilling","245cbdd0-92b6-4e67-82cf-73bf0a8a8acb",{"path":1506,"uuid":1504,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fnetbilling",{"path":1508,"uuid":1509},"\u002Fpayment-methods\u002Fmoneris","6b103576-f97a-491c-a889-7e525658395d",{"path":1511,"uuid":1509,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fmoneris",{"path":1513,"uuid":1514},"\u002Fpayment-methods\u002Fmollie","9ea7dbad-2201-445d-a8f7-bc65d1a4cfea",{"path":1516,"uuid":1514,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fmollie",{"path":1518,"uuid":1519},"\u002Fpayment-methods\u002Fmastercard-gateway","a36d0afc-cddb-4bc9-ac3a-030ca46345e2",{"path":1521,"uuid":1519,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fmastercard-gateway",{"path":1523,"uuid":1524},"\u002Fpayment-methods\u002Fmerchant-accounts-ca","2b018946-bab2-4565-9170-42be0b5364c7",{"path":1526,"uuid":1524,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fmerchant-accounts-ca",{"path":1528,"uuid":1529},"\u002Fpayment-methods\u002Fmercado-pago","0eb0a290-1b61-4d70-b456-d521c6ae53f5",{"path":1531,"uuid":1529,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fmercado-pago",{"path":1533,"uuid":1534},"\u002Fpayment-methods\u002Fcynergydata-lucy-gateway","f68868cf-dc92-493c-8250-1d3bec4e8edd",{"path":1536,"uuid":1534,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcynergydata-lucy-gateway",{"path":1538,"uuid":1539},"\u002Fpayment-methods\u002Fklarna","1ffbb4b7-45e4-41bb-9a94-045a2cd41f2e",{"path":1541,"uuid":1539,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fklarna",{"path":1543,"uuid":1544},"\u002Fpayment-methods\u002Finspire-commerce","7fc9bd58-1c88-4f9f-87ce-a49f019d6088",{"path":1546,"uuid":1544,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Finspire-commerce",{"path":1548,"uuid":1549},"\u002Fpayment-methods\u002Fideal","bb7e342d-ab05-4fe9-a1c6-82d8f62d5df4",{"path":1551,"uuid":1549,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fideal",{"path":1553,"uuid":1554},"\u002Fpayment-methods\u002Fhelcim","e8ba5919-bed2-4fec-ac38-76e8f88499a3",{"path":1556,"uuid":1554,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fhelcim",{"path":1558,"uuid":1559},"\u002Fpayment-methods\u002Fgoemerchant","2f0af120-c03d-4f13-b8ec-c8ebdbb9da02",{"path":1561,"uuid":1559,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fgoemerchant",{"path":1563,"uuid":1564},"\u002Fpayment-methods\u002Fglobal-payments","43c7c690-cdb0-43aa-9785-da0f4d0b028f",{"path":1566,"uuid":1564,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fglobal-payments",{"path":1568,"uuid":1569},"\u002Fpayment-methods\u002Ffosdick","883c959e-eb16-4a7c-94c7-6f55e33ea67a",{"path":1571,"uuid":1569,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ffosdick",{"path":1573,"uuid":1574},"\u002Fpayment-methods\u002Fpayeezy","16e1f81a-6bc3-4f99-a723-a179344102d0",{"path":1576,"uuid":1574,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpayeezy",{"path":1578,"uuid":1579},"\u002Fpayment-methods\u002Ffirst-data-global-gateway","a3f4b3bf-f3a6-46f2-8b2b-68c0b37f4b6f",{"path":1581,"uuid":1579,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ffirst-data-global-gateway",{"path":1583,"uuid":1584},"\u002Fpayment-methods\u002Ffat-zebra","e435cdfa-b450-4802-8750-dd4f413ae7e5",{"path":1586,"uuid":1584,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ffat-zebra",{"path":1588,"uuid":1589},"\u002Fpayment-methods\u002Feway","ab81bfce-a22e-4445-a55d-e3afc47d6ba0",{"path":1591,"uuid":1589,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Feway",{"path":1593,"uuid":1594},"\u002Fpayment-methods\u002Feprocessingnetwork","1d660865-8f20-4aa7-8e92-8d09802d77da",{"path":1596,"uuid":1594,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Feprocessingnetwork",{"path":1598,"uuid":1599},"\u002Fpayment-methods\u002Fems-pay","697425b1-c0c6-4c42-972c-7d6cc50d31e5",{"path":1601,"uuid":1599,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fems-pay",{"path":1603,"uuid":1604},"\u002Fpayment-methods\u002Fdwolla","76228181-5036-4b6e-bb1b-aa12cc8f7b36",{"path":1606,"uuid":1604,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fdwolla",{"path":1608,"uuid":1609},"\u002Fpayment-methods\u002Fdurango","ddf48264-b40e-49a5-a2ea-e782454d6cdf",{"path":1611,"uuid":1609,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fdurango",{"path":1613,"uuid":1614},"\u002Fpayment-methods\u002Fdigital-river","abdbfbc9-f432-41e4-96de-18470b9f2e0d",{"path":1616,"uuid":1614,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fdigital-river",{"path":1618,"uuid":1619},"\u002Fpayment-methods\u002Fdibs","fcc6ea50-a189-42a4-8f00-c90fa90e90e6",{"path":1621,"uuid":1619,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fdibs",{"path":1623,"uuid":1624},"\u002Fpayment-methods\u002Fdatacash","467a1aed-8ae0-4404-a58f-16a2f8f864e0",{"path":1626,"uuid":1624,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fdatacash",{"path":1628,"uuid":1629},"\u002Fpayment-methods\u002Fcybersource-secure-acceptance-web-mobile","eaf7bda0-cc83-4944-b38b-9e9f42677cdf",{"path":1631,"uuid":1629,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcybersource-secure-acceptance-web-mobile",{"path":1633,"uuid":1634},"\u002Fpayment-methods\u002Fcybersource-magnetic-stripe-swiper","2731c9db-833a-45eb-8711-25aa8f3f0ca3",{"path":1636,"uuid":1634,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcybersource-magnetic-stripe-swiper",{"path":1638,"uuid":1639},"\u002Fpayment-methods\u002Fcybersource","906a031f-c895-4d22-aec8-780fc517b1b6",{"path":1641,"uuid":1639,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcybersource",{"path":1643,"uuid":1644},"\u002Fpayment-methods\u002Fcommweb","250d562a-61b1-4644-a2b2-e2fb0e30ea44",{"path":1646,"uuid":1644,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcommweb",{"path":1648,"uuid":1649},"\u002Fpayment-methods\u002Fcomgate","45b3a169-7f2f-4bfd-8666-6143b9fd9832",{"path":1651,"uuid":1649,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcomgate",{"path":1653,"uuid":1654},"\u002Fpayment-methods\u002Fcoinbase","390eeff8-e3f6-45d6-b141-7fdf3b0281eb",{"path":1656,"uuid":1654,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcoinbase",{"path":1658,"uuid":1659},"\u002Fpayment-methods\u002Fcielo-payments-merchant-e-solutions","7523556a-8fc7-48e2-9174-e3c47e4a97f0",{"path":1661,"uuid":1659,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcielo-payments-merchant-e-solutions",{"path":1663,"uuid":1664},"\u002Fpayment-methods\u002Fcheckout-com","31847d59-f8e5-4c12-b84d-d103832b10e6",{"path":1666,"uuid":1664,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcheckout-com",{"path":1668,"uuid":1669},"\u002Fpayment-methods\u002Fchase-paymentech-orbital-tampa-tandem","d99d1d53-1e95-42f7-bb26-a8131df7d2a5",{"path":1671,"uuid":1669,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fchase-paymentech-orbital-tampa-tandem",{"path":1673,"uuid":1674},"\u002Fpayment-methods\u002Fchase-paymentech-orbital-salem-stratus","ad2d86ad-42e6-4c30-a966-2c4ab0a0f31e",{"path":1676,"uuid":1674,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fchase-paymentech-orbital-salem-stratus",{"path":1678,"uuid":1679},"\u002Fpayment-methods\u002Fccavenue","4f6df9cd-0f1b-444e-b196-fcfc79319a4c",{"path":1681,"uuid":1679,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fccavenue",{"path":1683,"uuid":1684},"\u002Fpayment-methods\u002Fcardx","dcb21314-f828-47d0-b191-df30b3bdd6dc",{"path":1686,"uuid":1684,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcardx",{"path":1688,"uuid":1689},"\u002Fpayment-methods\u002Fcardstream","a24cf314-93b4-4c23-8146-6dd27cf08a07",{"path":1691,"uuid":1689,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fcardstream",{"path":1693,"uuid":1694},"\u002Fpayment-methods\u002Fbraintree","4a67b540-84a0-431a-b859-1b9ad2ca24f7",{"path":1696,"uuid":1694,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fbraintree",{"path":1698,"uuid":1699},"\u002Fpayment-methods\u002Fbluesnap","a2d0a524-735b-4c95-912f-fba85f18641b",{"path":1701,"uuid":1699,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fbluesnap",{"path":1703,"uuid":1704},"\u002Fpayment-methods\u002Ffiserv","0cfc4484-5e20-4d97-b49d-f5330bf3b56a",{"path":1706,"uuid":1704,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Ffiserv",{"path":1708,"uuid":1709},"\u002Fpayment-methods\u002Fbluefin","0ef97da3-7cc8-4d34-9a65-aa56678e5c70",{"path":1711,"uuid":1709,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fbluefin",{"path":1713,"uuid":1714},"\u002Fpayment-methods\u002Fbitpay","182e493f-2200-4647-ac4f-5aad098ee4de",{"path":1716,"uuid":1714,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fbitpay",{"path":1718,"uuid":1719},"\u002Fpayment-methods\u002Fbarclaycard","0c5a6fcb-932d-4161-a1d9-40b02dba1934",{"path":1721,"uuid":1719,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fbarclaycard",{"path":1723,"uuid":1724},"\u002Fpayment-methods\u002Fworldline","b7240cf1-48e2-4dce-a949-49da64634f31",{"path":1726,"uuid":1724,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fworldline",{"path":1728,"uuid":1729},"\u002Fpayment-methods\u002Fanz-egate","8145a86e-4307-4273-a5e7-1705e6d8fe4c",{"path":1731,"uuid":1729,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fanz-egate",{"path":1733,"uuid":1734},"\u002Fpayment-methods\u002Fadyen","bbfe99a0-b299-454b-ab76-99d9a3d014de",{"path":1736,"uuid":1734,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fadyen",{"path":1738,"uuid":1739},"\u002Fpayment-methods\u002Fpaypal","dc3cd192-c313-4321-ab4a-75f044ba9827",{"path":1741,"uuid":1739,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fpaypal",{"path":1743,"uuid":1744},"\u002Fpayment-methods\u002Fstripe","09422138-02ce-49a4-b3b2-012cbacb4e89",{"path":1746,"uuid":1744,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fstripe",{"path":1748,"uuid":1749},"\u002Fpayment-methods\u002Famazon-pay","5b00fdcf-c32f-48ec-9457-9cd3bcfe6027",{"path":1751,"uuid":1749,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Famazon-pay",{"path":1753,"uuid":1754},"\u002Fpayment-methods\u002Fsquare","7c9e301a-3379-4533-a662-ac0448f340db",{"path":1756,"uuid":1754,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fsquare",{"path":1758,"uuid":1759},"\u002Fpayment-methods\u002Fauthorize-net","5b65ee3e-36ab-4ab5-83c7-6988bb1f925d",{"path":1761,"uuid":1759,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fauthorize-net",{"path":1763,"uuid":1764},"\u002Fpayment-methods\u002Fapple-pay","d6672c9a-fc92-46c4-b021-b666f57b8af3",{"path":1766,"uuid":1764,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002Fapple-pay",{"path":1768,"uuid":1769},"\u002Fpayment-methods\u002F2checkout","46879cb0-a0ee-43e0-a2f3-af5f2282a576",{"path":1771,"uuid":1769,"context":1211},"\u002Fhelp\u002Fpayment-methods\u002F2checkout",{"path":1773,"uuid":1774},"\u002Fplayground\u002Fcustomer-portal","2e3cd95c-66aa-4e59-80ba-53f27dc9399e",{"path":1776,"uuid":1777},"\u002Fplayground\u002Fgeneral-products","54b34509-a15d-4497-a6fd-efd59058cafe",{"path":1779,"uuid":1780},"\u002Fplayground\u002Fdigital-products","42d1b80d-e617-4160-8f72-4bf842abb3be",{"path":1782,"uuid":1783},"\u002Fplayground\u002Fsubscriptions","9008102d-5ced-478f-9cdf-87faa31e130e",{"path":1785,"uuid":1786},"\u002Fplayground\u002Fdonations","50eeefd5-c0da-4e90-9d03-22234ed6f613",{"path":1788,"uuid":1789},"\u002Fblog\u002Fcategories","eb635c18-c560-4181-aff5-76f0b1355a04",{"path":1791,"uuid":1792},"\u002Fblog\u002Fbest-practices","dce05794-d738-496b-a9e8-034faf3991a0",{"path":1794,"uuid":1795},"\u002Fblog\u002Fchangelogs","1172bb09-19f9-4c9b-988c-43f291893054",{"path":1797,"uuid":1798},"\u002Fblog\u002Fculture","162d0ab2-b116-490f-9561-49716c21307a",{"path":1800,"uuid":1801},"\u002Fblog\u002Fhow-to","bef9b718-6bb9-4667-942a-b128d9c81d46",{"path":1803,"uuid":1804},"\u002Fblog\u002Fmarketing","c8562e56-bd84-4a0b-9238-714040642e2a",{"path":1806,"uuid":1807},"\u002Fblog\u002Fproduct-updates","fab20ad9-e76a-4947-b709-3a6fdfa88028",{"path":1809,"uuid":1810},"\u002Fblog\u002Fsecurity","889da5d5-51b5-426a-a01e-0b724c9a8690",{"path":1812,"uuid":1813},"\u002Fblog\u002Fsystems-infrastructure","bd7fb715-7466-47b2-ae2f-54680d12918c",{"path":1815,"uuid":1816},"\u002Fblog\u002Funcategorized","ebe16b36-481f-4c24-b386-7dfbad9cc4a7",{"path":1818,"uuid":1819},"\u002Fblog\u002Funlock-deeper-ecommerce-insights-with-foxy-and-humblytics","0a036b43-6378-4735-959c-4e64300e931c",{"path":1821,"uuid":1822},"\u002Fblog\u002Fai-ecommerce-with-foxy-lovable","db0006b3-b134-4860-a81f-5bfa92b63c22",{"path":1824,"uuid":1825},"\u002Fblog\u002Fbuild-product-configurators-with-convertcalculator-foxy","0ca9e7c6-ea55-4c9a-a008-ecf98e237315",{"path":1827,"uuid":1828},"\u002Fblog\u002Fjuly-2025-product-roundup","c0a818dc-9542-408c-937e-3af874d7711b",{"path":1830,"uuid":1831},"\u002Fblog\u002Fg2-reviews-why-they-matter-and-how-to-list-your-business","e83080ad-7e95-4a4a-89dc-7d4aa54612c5",{"path":1833,"uuid":1834},"\u002Fblog\u002Fsmall-tech-big-impact-why-foxy-is-different","962790be-a384-433a-843c-5d98f94c4cd2",{"path":1836,"uuid":1837},"\u002Fblog\u002Fsecure-ecommerce-for-framer-websites","657599e9-e406-472a-8995-b5ad35b1daf4",{"path":1839,"uuid":1840},"\u002Fblog\u002Fadd-secure-ecommerce-to-divhunt-websites","7a2776ad-7b70-4f81-90be-38feaf4a2053",{"path":1842,"uuid":1843},"\u002Fblog\u002Fsecure-ecommerce-for-webstudio-websites","7c867d5e-78cf-4695-a43e-29d6eade281f",{"path":1845,"uuid":1846},"\u002Fblog\u002Fadd-super-powers-to-your-foxy-store-with-byteline","2c21a3b9-4e3b-45f4-9a32-11b40c19d404",{"path":1848,"uuid":1849},"\u002Fblog\u002Fjune-2025-product-roundup","8907f196-c2b1-4f3f-93e6-c7f781a439a5",{"path":1851,"uuid":1852},"\u002Fblog\u002Ftransaction-folders-are-here","e95e31b6-8fd8-499c-9c3d-e2217b98df1d",{"path":1854,"uuid":1855},"\u002Fblog\u002Fthe-generic-currency-symbol-currency-and-why-we-love-it","b5315ef1-59e6-4262-ba53-2035c959c9cc",{"path":1857,"uuid":1858},"\u002Fblog\u002Ffoxy-highlevel","2f2872e6-4bd7-4aa7-bd91-eddeba1e4a3b",{"path":1860,"uuid":1861},"\u002Fblog\u002Ffoxy-wix-studio","33433a70-2426-4a1d-ac55-dc0b4410c352",{"path":1863,"uuid":1864},"\u002Fblog\u002Fapril-2025-product-roundup","7ea3ee4e-cc2b-43af-8973-17b1039e6d3e",{"path":1866,"uuid":1867},"\u002Fblog\u002Fbuild-a-printful-powered-online-store-with-foxy-webflow-and-byteline","37cdbf2c-fbdf-462e-9fd1-3b88c5fb2d79",{"path":1869,"uuid":1870},"\u002Fblog\u002Ffoxy-is-your-asecurecart-alternative","9ec139cc-0656-4fe3-8c14-c31d0e79bf05",{"path":1872,"uuid":1873},"\u002Fblog\u002Ffoxy-the-best-1shoppingcart-alternative","914351c7-2e4a-4eda-9e61-2de9790ded19",{"path":1875,"uuid":1876},"\u002Fblog\u002Ffebruary-2025-product-roundup","b44ef1a4-ad76-4bfa-816f-81d824d15579",{"path":1878,"uuid":1879},"\u002Fblog\u002Ffoxyshop-wordpress-plugin-updates","019835cc-88a4-4570-ac7f-46e38e3b00c5",{"path":1881,"uuid":1882},"\u002Fblog\u002Fthe-new-foxy-admin-is-live","2bee6137-6e12-4cdd-87d5-24bc299b457e",{"path":1884,"uuid":1885},"\u002Fblog\u002Ftax-inclusive-pricing-is-here","6a97bd51-be4a-4836-a7f5-fe7059648a99",{"path":1887,"uuid":1888},"\u002Fblog\u002Ffoxy-wigwag","f8bb5213-5c85-44bb-8735-6351cd7b8b25",{"path":1890,"uuid":1891},"\u002Fblog\u002Fposts","6eaedd54-63da-4574-8ec5-155b31fc57bc",{"path":1893,"uuid":1894},"\u002Fblog\u002Ffraudsters-are-getting-so-advanced-it-doesn-t-make-sense","3d5b7870-81b4-4e5b-a715-697a9d8b1303",{"path":1896,"uuid":1897},"\u002Fblog\u002F2017-year-in-review","499c065f-32fc-4ee4-8ff1-20a0d8c907c4",{"path":1899,"uuid":1900},"\u002Fblog\u002F2020-what-a-year","5b6bbfc1-4b1c-4db5-8978-99a9dffa6047",{"path":1902,"uuid":1903},"\u002Fblog\u002F2021-in-review","0f61976e-f35e-46a2-baa7-ea9207f7509f",{"path":1905,"uuid":1906},"\u002Fblog\u002F2022-in-review","eb23a16a-8b89-4d21-b4cb-84109cb6de05",{"path":1908,"uuid":1909},"\u002Fblog\u002F2-0-beta-progress-report","ee6de40e-e975-4214-85cd-6244bd62e17d",{"path":1911,"uuid":1912},"\u002Fblog\u002F4-steps-to-prep-your-store-for-cyber-monday-black-friday","51410323-7403-4c41-b11c-7533eb0ec0c2",{"path":1914,"uuid":1915},"\u002Fblog\u002Fa-book-your-client-should-read-avoiding-a-goat-rodeo","677e07d4-069b-4c65-ac94-cd9265f08442",{"path":1917,"uuid":1918},"\u002Fblog\u002Fadd-to-cart-buttons-for-inspiration","ee37d3e6-2c7a-431c-8e6d-c14db64a443f",{"path":1920,"uuid":1921},"\u002Fblog\u002Fa-look-at-2019","79fc30c2-ea12-4815-842d-44f98039820e",{"path":1923,"uuid":1924},"\u002Fblog\u002Fa-pleasure-to-integrate","90c0db90-973d-4174-b37c-33dd5d48d49b",{"path":1926,"uuid":1927},"\u002Fblog\u002Fa-service-architecture-approach-to-ecommerce","fea4b36b-6ac6-4257-bfcb-c4aa99872f55",{"path":1929,"uuid":1930},"\u002Fblog\u002Fautomagically-collect-and-display-customer-reviews-with-monto-in-your-foxy-webflow-store","1447ea56-ffa2-44bc-952f-2c6e5f3bbc72",{"path":1932,"uuid":1933},"\u002Fblog\u002Fbasic-analytics-tip-filter-out-your-own-ip","4983503b-25c2-40ff-a3c9-581ff2366627",{"path":1935,"uuid":1936},"\u002Fblog\u002Fbasic-guidelines-for-ecommerce-video-marketing","07861cbb-d930-47ee-8596-c317ec1077c8",{"path":1938,"uuid":1939},"\u002Fblog\u002Fbehaviour-driven-development-bdd-and-foxycart","313229cb-d3f1-4263-a025-829e4fbab17d",{"path":1941,"uuid":1942},"\u002Fblog\u002Fbelievers-make-the-sale","7c61f2e6-b44b-4b09-a71c-38ffa0eb5acd",{"path":1944,"uuid":1945},"\u002Fblog\u002Fbots-the-rising-threat-to-ecommerce","a541d0ed-bd7f-477c-862c-11c38901d829",{"path":1947,"uuid":1948},"\u002Fblog\u002Fbrowser-development-and-testing-tools","eaf57ea4-b286-46ee-a242-f6c8d97d9dd0",{"path":1950,"uuid":1951},"\u002Fblog\u002Fbuild-a-jamstack-ecommerce-website-with-next-js-contentful-and-foxy","86a93102-b0a3-4bb2-ad7d-d02f94e0dd16",{"path":1953,"uuid":1954},"\u002Fblog\u002Fbuild-an-ecommerce-landing-page-with-unbounce-and-foxy","f6593dca-59e6-45b6-85a1-1c375d4c8cc2",{"path":1956,"uuid":1957},"\u002Fblog\u002Fbuilding-a-turnkey-fundraising-mini-site-with-foxy-and-eleventy","1186aa89-2abb-4a98-91a5-f9281cece1ac",{"path":1959,"uuid":1960},"\u002Fblog\u002Fcloudfront-vs-cloudflare-and-how-to-reduce-response-times-for-both-by-35","c92e34f2-5b78-4c45-b192-fa3ad0951da4",{"path":1962,"uuid":1963},"\u002Fblog\u002Fcoinbase-commerce-support-for-foxy","5ce17b83-9fd5-4c22-b7a9-b5fbcc345228",{"path":1965,"uuid":1966},"\u002Fblog\u002Fcollecting-and-remitting-the-correct-sales-taxes-for-your-ecommerce-store","73ddd979-9e60-4626-b595-25b4e2db01a5",{"path":1968,"uuid":1969},"\u002Fblog\u002Fconnecting-to-quickbooks","7192d972-04cf-41a9-abd4-cb54be9c4f33",{"path":1971,"uuid":1972},"\u002Fblog\u002Fconvert-any-weebly-element-into-a-secure-purchase-option-with-foxy","2bc638cd-f4a7-4168-84f3-8d1dac6deb36",{"path":1974,"uuid":1975},"\u002Fblog\u002Fcould-bitcoin-be-more-disruptive-than-the-internet","c70c7a4c-b949-4229-8270-8dc1bc49163b",{"path":1977,"uuid":1978},"\u002Fblog\u002Fcoupon-improvement-blacklist-products","fc0f764a-e7ba-488a-91e3-5f9c03629826",{"path":1980,"uuid":1981},"\u002Fblog\u002Fcoupon-improvements-product-specific-coupons-and-per-customer-usage-control","974edded-b94e-46a7-986a-e68981f83db2",{"path":1983,"uuid":1984},"\u002Fblog\u002Fcoupons-are-great-except-when-theyre-not","d8a33cd4-f923-4c02-b68f-188b2e3f614c",{"path":1986,"uuid":1987},"\u002Fblog\u002Fcreate-an-online-store-with-notion-and-foxy","5ae4c982-e3f6-4c12-9463-2e7adeb5226f",{"path":1989,"uuid":1990},"\u002Fblog\u002Fcredit-card-processing-for-high-risk-merchants","69b729f9-b0b7-45a9-a900-0a30374a0d97",{"path":1992,"uuid":1993},"\u002Fblog\u002Fcustomer-service-anaesthetics-good-for-business","a8eb9c46-8074-4564-b658-e43618d8b39f",{"path":1995,"uuid":1996},"\u002Fblog\u002Fcustom-tax-calculations-for-foxy-via-a-quick-easy-netlify-serverless-app","c17c54a0-ebcc-4d84-bf5b-44b9b94c524d",{"path":1998,"uuid":1999},"\u002Fblog\u002Fdecoy-marketing-and-compromise-marketing","c589cf1c-f39c-43f0-a9c3-50e3ab124930",{"path":2001,"uuid":2002},"\u002Fblog\u002Fdetecting-a-visitors-social-networks","a6041fea-e643-42b5-886c-47e74044c68e",{"path":2004,"uuid":2005},"\u002Fblog\u002Fdo-you-even-need-a-website-to-sell-your-products","821ea14c-2abc-4fb4-99e4-9a9065652560",{"path":2007,"uuid":2008},"\u002Fblog\u002Fdo-you-hate-mondays","9cfc1024-bec8-4de8-8d6c-03a5a58cf18c",{"path":2010,"uuid":2011},"\u002Fblog\u002Feasily-promote-and-sell-your-product-with-launchaco-and-foxy","90b83ba5-9571-49ff-b8d5-219eff847cff",{"path":2013,"uuid":2014},"\u002Fblog\u002Feasy-to-setup-ecommerce-in-5-minutes","a1f18074-1d44-4709-aa1b-ee2ec0504304",{"path":2016,"uuid":2017},"\u002Fblog\u002Fecommerce-faqs-finally-get-answered","e0890d26-25ee-4494-8e16-f767fb53f0c4",{"path":2019,"uuid":2020},"\u002Fblog\u002Fecommerce-integration-with-campaign-monitor-and-foxycart","6c08a300-f534-4a9c-bc2e-1bd4848c2b25",{"path":2022,"uuid":2023},"\u002Fblog\u002Feverything-you-need-to-know-about-cross-border-fees","74e6e7d5-63fa-45da-934c-0e5e70d5a4cd",{"path":2025,"uuid":2026},"\u002Fblog\u002Ffaster-pageloads-effectively-using-http-caching-cache-busting-and-a-cdn","ee2ffaf7-5176-4744-975a-bb056c505fb2",{"path":2028,"uuid":2029},"\u002Fblog\u002Ffeatured-site-narwhal-company","b989413b-637d-41df-8bb4-5029e43b2372",{"path":2031,"uuid":2032},"\u002Fblog\u002Ffollow-up-on-our-new-pricing","82df753e-e303-4d67-9d6c-1d3295515573",{"path":2034,"uuid":2035},"\u002Fblog\u002Ffoxy-a-celery-alternative-you-can-start-using-today","0696beb6-6856-46d2-9823-90d59cde028c",{"path":2037,"uuid":2038},"\u002Fblog\u002Ffoxycart-2-0-is-out-of-beta","a3f30b1c-8c89-4b98-9fdf-419a26be73e7",{"path":2040,"uuid":2041},"\u002Fblog\u002Ffoxycart-admin-as-a-standalone-app","ec009256-825a-4765-a224-b6b0c47bef9f",{"path":2043,"uuid":2044},"\u002Fblog\u002Ffoxycart-constant-contact","85c77b03-7053-482a-8109-aeeb98edd1c5",{"path":2046,"uuid":2047},"\u002Fblog\u002Ffoxycart-customer-quotes-part-1","a1bd1408-ab68-4f3c-877d-b46621a8d8a3",{"path":2049,"uuid":2050},"\u002Fblog\u002Ffoxycart-forum-security-breach","e47a29a6-053f-4fb1-a230-7df3649572ad",{"path":2052,"uuid":2053},"\u002Fblog\u002Ffoxycart-joins-skyhighs-cloud-trust-program","7a353571-5fda-42b1-b5f5-1abd51fc1be8",{"path":2055,"uuid":2056},"\u002Fblog\u002Ffoxycart-partners-with-avalara-upcoming-webinar","5d7d1527-302f-4e3d-ad12-f467da4b9073",{"path":2058,"uuid":2059},"\u002Fblog\u002Ffoxycarts-new-fair-pricing","a0154146-a39f-4691-b69b-9aedf534737e",{"path":2061,"uuid":2062},"\u002Fblog\u002Ffoxycart-v0-7-2-public-beta","805e4ff1-cdca-46f0-86eb-26d1fc88137e",{"path":2064,"uuid":2065},"\u002Fblog\u002Ffoxycart-v1-0-is-here-after-5-years-really","fc86e9ed-80a0-4513-8834-e919243b1267",{"path":2067,"uuid":2068},"\u002Fblog\u002Ffoxycart-v1-1-and-an-update","b6580a96-2fff-4695-bfc2-64f18bfe2b48",{"path":2070,"uuid":2071},"\u002Fblog\u002Ffoxycart-youre-my-new-best-friend","54fa56e4-8e9d-4342-bba8-e85ccc81b7a0",{"path":2073,"uuid":2074},"\u002Fblog\u002Ffoxycomplete-new-awesome-on-our-checkouts-country-state-autocompleter","bc7b7c21-c088-4ffa-9731-25211e1fa370",{"path":2076,"uuid":2077},"\u002Fblog\u002Ffoxy-ios-tips-for-better-security-vulnerability-reports","4decfdec-fb25-4554-9517-5ac34dd5f0da",{"path":2079,"uuid":2080},"\u002Fblog\u002Ffoxys-covid-19-update-were-here-for-you","33dc15bf-bb0c-4f30-8b29-04c4b293e580",{"path":2082,"uuid":2083},"\u002Fblog\u002Ffoxy-the-affordable-gumroad-alternative","bb11a124-a489-452f-9e45-8ba830f40a99",{"path":2085,"uuid":2086},"\u002Fblog\u002Ffoxy-webflow-cart-abandonment-recovery-with-monto","afb17bf2-11fc-41f6-b4e0-b8143db0fb0b",{"path":2088,"uuid":2089},"\u002Fblog\u002Fgateway-improvement-ach-support","2985b98c-f3b5-4d67-81bc-d5e4dedd27bd",{"path":2091,"uuid":2092},"\u002Fblog\u002Fgateway-improvement-apple-pay-support","efc20e78-ad23-45e8-8e25-936a5c1cac8c",{"path":2094,"uuid":2095},"\u002Fblog\u002Fgateway-improvement-jcb-card-support","be775713-1585-4a3a-ba1c-7dd359d1b16e",{"path":2097,"uuid":2098},"\u002Fblog\u002Fgateway-improvement-paypal-credit","6cf854e9-daa8-44c1-8adc-8455bbda4fad",{"path":2100,"uuid":2101},"\u002Fblog\u002Fget-more-conversions-with-instapage-and-foxy","0a7f04f5-7f35-42cf-a70d-5289617556d4",{"path":2103,"uuid":2104},"\u002Fblog\u002Fgirl-scouts-use-foxycart-to-collect-donations","65c1104e-cda6-4b28-988f-b2ec162664bf",{"path":2106,"uuid":2107},"\u002Fblog\u002Fhackathons-for-remote-teams-our-first-attempt","f412eaa7-ce12-466a-a50a-5497f95cf057",{"path":2109,"uuid":2110},"\u002Fblog\u002Fhappy-2008-from-foxycart","13008b94-7d06-4e8c-81d3-0f5d2e872f0a",{"path":2112,"uuid":2113},"\u002Fblog\u002Fhappy-holidays-2007","30a30c4d-723f-4ec5-bb4c-ed92fb55cab1",{"path":2115,"uuid":2116},"\u002Fblog\u002Fhard-crashing-ie6-with-html-css-alone","cefad5ee-4e26-4b12-8bb3-5938db6d0fa7",{"path":2118,"uuid":2119},"\u002Fblog\u002Fhelp-scout-vs-zoho-desk-best-of-breed-or-all-in-one","013e9816-1a90-41b3-b386-f6fa58107bd0",{"path":2121,"uuid":2122},"\u002Fblog\u002Fheres-a-look-at-2018-and-onward","2e5a2103-16ef-4a62-b19b-4fa4867defbe",{"path":2124,"uuid":2125},"\u002Fblog\u002Fholiday-sales-without-the-stress","4da276f8-b4ce-4de7-b890-29fa17d1f2df",{"path":2127,"uuid":2128},"\u002Fblog\u002Fhow-1100-in-fraudulent-charges-encouraged-me","95d528fd-a519-414d-b14e-4acd50c42fd5",{"path":2130,"uuid":2131},"\u002Fblog\u002Fhow-okiefoodtrucks-is-using-foxy-webflow-to-change-the-food-truck-industry","43972f52-5bb1-4cd0-9411-2752a6b6cc20",{"path":2133,"uuid":2134},"\u002Fblog\u002Fhow-to-accept-payments-in-clickfunnels-with-foxy","326de6be-670e-46d2-8225-54dac4f64935",{"path":2136,"uuid":2137},"\u002Fblog\u002Fhow-to-collect-customer-feedback-and-use-it-to-boost-loyalty","c3907bfb-c261-43da-a6e8-8a610957eac3",{"path":2139,"uuid":2140},"\u002Fblog\u002Fhow-to-design-imagery-for-non-tangible-products","3bb7655a-0d5a-4064-a1fd-ab66099ebd6e",{"path":2142,"uuid":2143},"\u002Fblog\u002Fhow-to-pick-the-right-cms-for-your-online-store","e9ba73a6-f077-41eb-9924-00aba4a584ab",{"path":2145,"uuid":2146},"\u002Fblog\u002Fhow-to-sell-your-products-and-services-in-leadpages-with-foxy","b50b8b73-40bc-48e5-8b62-3e7673ff21e4",{"path":2148,"uuid":2149},"\u002Fblog\u002Fhow-to-set-up-recurring-payments-and-subscriptions-with-foxy-webflow","3591c0bd-d883-491d-b463-2fda98f08681",{"path":2151,"uuid":2152},"\u002Fblog\u002Fhow-to-upgrade-your-legacy-shopping-cart","b517c39f-13d3-440b-8dcd-79c79eacf723",{"path":2154,"uuid":2155},"\u002Fblog\u002Fhypermedia-dog-food","d702f3bd-bf49-4cca-bca5-75dd31b92c63",{"path":2157,"uuid":2158},"\u002Fblog\u002Fi-cant-go-back","48cb89fc-f1f8-4d33-acc6-8fb0549c81ef",{"path":2160,"uuid":2161},"\u002Fblog\u002Fincrease-sales-with-these-foxycart-features","874ab3d1-6d13-4623-b444-1405245a6f48",{"path":2163,"uuid":2164},"\u002Fblog\u002Fintegrating-foxycart-carthook","d1ecb269-4755-4eb9-8691-c3c035d6fba6",{"path":2166,"uuid":2167},"\u002Fblog\u002Fintegrating-foxycart-cartstack","d04157fb-9fa0-4dbb-b90f-3e06dbb37ebe",{"path":2169,"uuid":2170},"\u002Fblog\u002Fintegrating-foxycart-coinbase","74237553-f0f8-41df-abe2-62a41087dc80",{"path":2172,"uuid":2173},"\u002Fblog\u002Fintegrating-foxycart-craft-cms","f0cbcccb-f857-47e6-b5e5-34fff8ffac5d",{"path":2175,"uuid":2176},"\u002Fblog\u002Fintegrating-foxycart-craft-cms-part-2","fa51138e-cc98-4c01-8325-cfa252eeb57c",{"path":2178,"uuid":2179},"\u002Fblog\u002Fintroducing-our-new-blog-at-foxyio","a6f6c460-0819-4c90-80b5-61bf9fc73c10",{"path":2181,"uuid":2182},"\u002Fblog\u002Fin-which-we-talk-security","0e3b7e78-63f1-4490-999f-77c5a23e4be4",{"path":2184,"uuid":2185},"\u002Fblog\u002Fis-your-ecommerce-shop-thinking-globally","b88b6c82-2edc-4c91-8f23-81c0cef3eb5a",{"path":2187,"uuid":2188},"\u002Fblog\u002Fis-your-shopping-cart-like-the-tail-wagging-the-dog","1c1cd852-a10f-4cca-9dd5-7942ae41084c",{"path":2190,"uuid":2191},"\u002Fblog\u002Fkeeping-your-favicon-consistent","442134c6-9ace-4d8d-89a1-b36f46f1c25a",{"path":2193,"uuid":2194},"\u002Fblog\u002Flaunch-a-beautiful-one-page-ecommerce-site-with-carrd-and-foxy","0dccc682-23a8-4f15-b06b-977d4de6a93f",{"path":2196,"uuid":2197},"\u002Fblog\u002Flive-shipping-rates-with-easypost","909ac793-1493-4e69-9bec-fe177377cbb6",{"path":2199,"uuid":2200},"\u002Fblog\u002Flooking-back-and-looking-ahead-2016-in-review","6adbb1f3-37c2-4c09-87d1-2e7df18faba6",{"path":2202,"uuid":2203},"\u002Fblog\u002Fmore-ways-to-pay-for-your-foxycart-subscription","1383fcc4-ea84-47c4-a71c-236cf8be6731",{"path":2205,"uuid":2206},"\u002Fblog\u002Fmulti-currency-support-is-here","add2a9e7-d2d2-4ac9-8e13-7b45478d63ed",{"path":2208,"uuid":2209},"\u002Fblog\u002Fmultiship-multiple-ship-to-addresses-one-page-checkout","cea97d5e-c761-469d-83ce-7252a0a1a49a",{"path":2211,"uuid":2212},"\u002Fblog\u002Fnetwork-status-massive-ddos-affecting-latency-and-connectivity","2c2e87bb-5641-4741-bd80-3f9c64ec4471",{"path":2214,"uuid":2215},"\u002Fblog\u002Fnew-and-improved-subscription-management-features","268e2efe-e19e-47e1-ae38-9ecee934414b",{"path":2217,"uuid":2218},"\u002Fblog\u002Fnew-feature-custom-order-numbers","a014138c-dc70-422e-8c71-d9f1fd1f65fe",{"path":2220,"uuid":2221},"\u002Fblog\u002Fnew-feature-custom-shipping-code","1ce805a0-d3db-43dc-b0e4-f89df0968e26",{"path":2223,"uuid":2224},"\u002Fblog\u002Fnew-feature-custom-shipping-endpoint","abf107c1-e924-47d8-9a4d-94f6fbec15a9",{"path":2226,"uuid":2227},"\u002Fblog\u002Fnew-feature-googles-recaptcha","78d32189-21c1-4b6d-9223-18369f65173c",{"path":2229,"uuid":2230},"\u002Fblog\u002Fnew-feature-json-webhook","e659861c-8b2d-4a2f-8048-ff6cb2284cc3",{"path":2232,"uuid":2233},"\u002Fblog\u002Fnew-feature-payment-sets","2bf19dd9-751e-4fc1-9767-0b3ee34a352e",{"path":2235,"uuid":2236},"\u002Fblog\u002Fnew-feature-pre-payment-webhook","0acf872c-db2b-4287-8910-7ea4a4c1901f",{"path":2238,"uuid":2239},"\u002Fblog\u002Fnew-feature-shared-coupon-codes","39e25c7c-5235-4fb9-9cb6-15b8d4c384c4",{"path":2241,"uuid":2242},"\u002Fblog\u002Fnew-feature-use-your-own-smtp-server","cd07fbbd-1445-488c-b692-74add983af26",{"path":2244,"uuid":2245},"\u002Fblog\u002Fnew-gateway-adyen","33d9427a-478e-4c31-8879-6ff7caf59f93",{"path":2247,"uuid":2248},"\u002Fblog\u002Fnew-gateway-comgate","2ed8d80c-b99e-45f4-aa51-1a8ed2199069",{"path":2250,"uuid":2251},"\u002Fblog\u002Fnew-gateway-ems-pay","1b0490c7-9887-4bb5-8d23-5f3bf90eeaa6",{"path":2253,"uuid":2254},"\u002Fblog\u002Fnew-gateway-paypal-plus","15e95f1e-3823-44eb-9956-744b3224f405",{"path":2256,"uuid":2257},"\u002Fblog\u002Fnew-gateway-payu","2c4e8986-0a4b-49c0-bd05-d120d0099b6f",{"path":2259,"uuid":2260},"\u002Fblog\u002Fnew-integration-address-autocompletion-and-validation-with-crafty-clicks","65e3d808-548e-49e6-a312-b5046fcd71c2",{"path":2262,"uuid":2263},"\u002Fblog\u002Fnew-integration-fraudlabs-pro","736bfaa4-6f0d-49b2-9e6b-8306f4694920",{"path":2265,"uuid":2266},"\u002Fblog\u002Fnew-integration-help-scout","8c5c3280-cf4c-4547-954e-3ca36020737c",{"path":2268,"uuid":2269},"\u002Fblog\u002Fnew-integration-square","ba16228d-e038-4c7e-941d-83edbbccae74",{"path":2271,"uuid":2272},"\u002Fblog\u002Fnew-integration-webflow-product-inventory-management","b85c5c06-65b5-469d-9132-2809b07a23b9",{"path":2274,"uuid":2275},"\u002Fblog\u002Fnew-possibilities-for-typography-on-the-web","8047be00-f30d-4416-a4da-3a0010cdc47d",{"path":2277,"uuid":2278},"\u002Fblog\u002Fnew-status-site-and-scheduled-maintenance","da5dd265-175e-47bc-99f0-abbbfe83abec",{"path":2280,"uuid":2281},"\u002Fblog\u002Fnew-years-resolutions","e8e59c04-680c-4876-a502-a3924279e147",{"path":2283,"uuid":2284},"\u002Fblog\u002Fnice-free-ecommerce-y","2382a1b6-4147-4721-adbc-3ebab7c55471",{"path":2286,"uuid":2287},"\u002Fblog\u002Fnow-with-even-more-ways-to-get-paid","021fec23-5836-4fc4-83a9-769d085d025c",{"path":2289,"uuid":2290},"\u002Fblog\u002Fone-of-the-best-tools-for-web-developers","c1ccfb9b-6175-4c2e-9bcd-d2a1a0ed484e",{"path":2292,"uuid":2293},"\u002Fblog\u002Fonline-shoppers-and-product-reviews","57993e4b-3728-46ef-b565-d9980be014d8",{"path":2295,"uuid":2296},"\u002Fblog\u002Four-featured-ecommerce-site-gallery-launches","4307ea50-1788-4612-8bdf-dba8460d406e",{"path":2298,"uuid":2299},"\u002Fblog\u002Four-new-website-or-how-it-took-us-two-years-to-launch","ba9baca0-4d98-4435-95ac-527220d8a97f",{"path":2301,"uuid":2302},"\u002Fblog\u002Foverheard-at-foxycart","5be7ead2-df09-491d-853c-5f58f25fba18",{"path":2304,"uuid":2305},"\u002Fblog\u002Fpassing-on-credit-card-fees-to-customers-how-businesses-save-with-surcharging","7daedc08-1bd6-4d28-a9f7-95a801ad3f40",{"path":2307,"uuid":2308},"\u002Fblog\u002Fpassive-groups-in-regular-expressions","6f738121-d011-4dd6-90bb-178b8435242a",{"path":2310,"uuid":2311},"\u002Fblog\u002Fplasso-is-closing-shop-but-that-doesnt-mean-you-have-to","f51d3496-08ec-4a2c-a669-251fa4570007",{"path":2313,"uuid":2314},"\u002Fblog\u002Fpossibly-our-most-satisfied-user-ever","373b38eb-1f46-40a5-95b8-6dff1a8fd276",{"path":2316,"uuid":2317},"\u002Fblog\u002Fpostmortem-failing-over-to-our-backup-environment","cb0c3423-11e5-4edd-96f9-2fbdbf40c944",{"path":2319,"uuid":2320},"\u002Fblog\u002Fprivacy-foxy-and-the-eus-gdpr","eb750840-e811-4cac-9b45-de96d4f2c9ad",{"path":2322,"uuid":2323},"\u002Fblog\u002Fproduct-update-automate-your-subscription-management-and-billing-errors","7570ffcc-de75-4065-aff7-b61f368a040d",{"path":2325,"uuid":2326},"\u002Fblog\u002Fproduct-update-payment-sets-custom-order-numbers-and-more","c267a7cd-1adf-4171-949d-d60bd7c1eeb7",{"path":2328,"uuid":2329},"\u002Fblog\u002Fproduct-update-paypal-credit-and-googles-recaptcha","3f10476a-ffb4-421e-b43a-ec7c12918d7f",{"path":2331,"uuid":2332},"\u002Fblog\u002Fproduct-updates-october-2018","d49cfece-ed89-4255-8bcc-35b979aa4699",{"path":2334,"uuid":2335},"\u002Fblog\u002Fpsd2-and-strong-customer-authentication","c87f6b8a-99c4-48c4-97d9-b73863bc05d3",{"path":2337,"uuid":2338},"\u002Fblog\u002Fqa-the-first-impression-part-1","ec265308-7999-428b-9a6f-02880c78d2a4",{"path":2340,"uuid":2341},"\u002Fblog\u002Fqa-the-first-impression-part-2","f8c35dbd-6691-40dc-a62a-53ee3f7b2f7c",{"path":2343,"uuid":2344},"\u002Fblog\u002Freasons-to-be-paranoid-keyboards","b3269238-ee52-4fa5-a015-f9ab8252897f",{"path":2346,"uuid":2347},"\u002Fblog\u002Freintroducing-foxyshop-our-free-wordpress-plugin","c6f37144-cdc2-4a30-ac21-19f51f86af97",{"path":2349,"uuid":2350},"\u002Fblog\u002Fresources-for-regular-expressions","e9b7bb46-2eb1-4c29-81e9-2cc1d1c6196a",{"path":2352,"uuid":2353},"\u002Fblog\u002Freverse-sso-upsells-and-more","548ecc54-03c7-428e-8c42-a3a6959175a8",{"path":2355,"uuid":2356},"\u002Fblog\u002Fsafe-harbor-is-dead-long-live-something-else","c9fa0ab4-9f81-4fa7-90ed-31804bfa9232",{"path":2358,"uuid":2359},"\u002Fblog\u002Fscheduled-downtime-status-and-failover","ce2c3c5b-6c90-4a5c-b17e-30e7087d86d7",{"path":2361,"uuid":2362},"\u002Fblog\u002Fscreencast-live-editing-css-for-rapid-styling","c874aa90-e9d1-4325-8c10-523823df6caa",{"path":2364,"uuid":2365},"\u002Fblog\u002Fsecure-ecommerce-in-your-pagecloud-website-with-foxy","5d30eaa5-4df5-472f-b4e3-cab806c3bd59",{"path":2367,"uuid":2368},"\u002Fblog\u002Fsecurity-update-turning-off-certain-older-encryption-protocols","103acf29-ecc4-4af2-b5f5-2f30600fb930",{"path":2370,"uuid":2371},"\u002Fblog\u002Fsharing-store-access-from-within-the-foxycart-admin","93bd842c-70b3-4ac1-8bdc-15b4f8127f4b",{"path":2373,"uuid":2374},"\u002Fblog\u002Fshout-out-to-foxycart-merchants-we-patronize","3e3f44e7-3e8b-41f1-a0fa-c5d2b16cf113",{"path":2376,"uuid":2377},"\u002Fblog\u002Fsitegrinder-3-announced-with-foxycart-support","94f33457-c518-4bc5-93d7-78e3ac5191a2",{"path":2379,"uuid":2380},"\u002Fblog\u002Fsites-ecommerce-and-a-bad-economy","f9c90d72-70bd-4b55-a0c4-19b7cbe9b289",{"path":2382,"uuid":2383},"\u002Fblog\u002Fsix-0-non-traditional-marketing-ideas-that-work","2e8c8479-9733-44f4-94ca-784dcf840961",{"path":2385,"uuid":2386},"\u002Fblog\u002Fskrill-and-pesapal-support","9ff35ac8-0f1b-473b-bee0-40e8c739ec3e",{"path":2388,"uuid":2389},"\u002Fblog\u002Fslideshowpro-e-commerce-with-foxycart","1e7a4a75-3df2-4632-902d-239076d00df3",{"path":2391,"uuid":2392},"\u002Fblog\u002Fsolving-cloudfront-mysteries-with-aws-athena","43300722-6722-4b70-aedf-ef07b80b2ced",{"path":2394,"uuid":2395},"\u002Fblog\u002Fssl-vulnerabilities-poodle","b672283b-3230-43f3-a9ff-27c3deec12f1",{"path":2397,"uuid":2398},"\u002Fblog\u002Fstart-selling-in-minutes-with-flauntly-and-foxy","6466802e-1a3c-4d3d-bc3b-0d01658efbf9",{"path":2400,"uuid":2401},"\u002Fblog\u002Fsubscription-functionality-improvements","41f84a95-17b1-4049-a590-2f615bb2b9c1",{"path":2403,"uuid":2404},"\u002Fblog\u002Fsubscriptions-dun-right","64edff39-9a8e-48e3-aed2-51e9f8250305",{"path":2406,"uuid":2407},"\u002Fblog\u002Fsupport-for-klarnas-extra-merchant-data-emd-allows-more-travel-and-event-merchants-to-sell","c81a6fb9-4c7b-4644-afc0-016231ffb56d",{"path":2409,"uuid":2410},"\u002Fblog\u002Fsysadmins-patch-servers-doctors-patch-sysadmins","4839cc72-1e17-474c-8a35-b29151423485",{"path":2412,"uuid":2413},"\u002Fblog\u002Fthe-3-bs-of-healthy-remote-teams-bbqs-beer-bourbon","13d5931c-e599-426d-a935-7f577d3e2670",{"path":2415,"uuid":2416},"\u002Fblog\u002Fthe-danger-of-bootstrapping-customers-business","bd66a776-8b42-4139-91e0-6824ddfe48e6",{"path":2418,"uuid":2419},"\u002Fblog\u002Fthe-drown-attack","6b38c009-8fe4-4b57-82a7-71df844a1e9d",{"path":2421,"uuid":2422},"\u002Fblog\u002Fthe-foxy-conference-booth-effective-affordable-fun","d17d00ca-76e3-4842-8274-19a63ad55f84",{"path":2424,"uuid":2425},"\u002Fblog\u002Fthe-growing-importance-of-design","ecf0d612-71aa-4797-ab67-fd46325438d0",{"path":2427,"uuid":2428},"\u002Fblog\u002Fthe-heartbleed-bug","7cebc94d-680e-46a9-bcc0-e503c29d11f3",{"path":2430,"uuid":2431},"\u002Fblog\u002Fthe-hypermedia-debate","1867ab28-e3cb-49e3-a725-eed78e8299d5",{"path":2433,"uuid":2434},"\u002Fblog\u002Fthe-importance-of-copy-on-e-commerce-websites","ae030bb6-0bfb-4a1b-961d-f2e3e3a37183",{"path":2436,"uuid":2437},"\u002Fblog\u002Fthe-importance-of-the-number-1-0","3721535e-1eec-4adc-9ccc-0a8ea715bcf8",{"path":2439,"uuid":2440},"\u002Fblog\u002Fthe-myths-of-pci-compliance-a-pci-compliant-box","8ac207d1-6f01-4bd9-9ff8-fc7fdfe49f7c",{"path":2442,"uuid":2443},"\u002Fblog\u002Fthe-right-tools-for-the-job-part-1","9f73dbcb-0c8d-47bb-aa4e-735b4686eb1a",{"path":2445,"uuid":2446},"\u002Fblog\u002Fthe-right-tools-for-the-job-part-2","d0c6bddc-052c-4c09-8715-fac7220f5515",{"path":2448,"uuid":2449},"\u002Fblog\u002Fthe-story-people-dont-tell-you-about-building-a-business","51d77ab8-cad6-40cc-be83-b1c82c2e6368",{"path":2451,"uuid":2452},"\u002Fblog\u002Fthe-thing-we-hope-to-always-hate-doing","aeea5f0c-b848-46a9-ba3e-afdbfdd305fe",{"path":2454,"uuid":2455},"\u002Fblog\u002Fthe-wobbly-wheel","2540d3e0-5c81-46d5-9d22-5a48e0a67aad",{"path":2457,"uuid":2458},"\u002Fblog\u002Fthings-we-learned-in-may-2021","bea3db13-fff0-472d-9a61-3a2906ce5733",{"path":2460,"uuid":2461},"\u002Fblog\u002Fthought-leadership-or-wishful-thinking","aef6c0f0-0ca9-4a62-9d43-4331b592b0e8",{"path":2463,"uuid":2464},"\u002Fblog\u002Fthrow-off-the-plague-of-pci-when-choosing-a-website-platform","7783a005-be1d-4fdf-a466-c9a46859caa2",{"path":2466,"uuid":2467},"\u002Fblog\u002Ftrying-to-see-better-visual-accessibility-and-foxycart","63cbc43f-c6a7-41de-a638-655df407402c",{"path":2469,"uuid":2470},"\u002Fblog\u002Fturn-your-zoho-sites-website-into-a-powerful-online-store","cab7af72-852b-4794-add3-88b594545d59",{"path":2472,"uuid":2473},"\u002Fblog\u002Funacceptable-outages-today","0c779aef-3a95-4f39-befc-a76d3ab7b039",{"path":2475,"uuid":2476},"\u002Fblog\u002Fupcoming-mastercard-changes-and-what-you-should-know","9d9441a0-99bb-44d9-8ca7-899ddf9b18fc",{"path":2478,"uuid":2479},"\u002Fblog\u002Fuse-jotform-to-visually-build-your-foxy-purchase-forms","793eee8a-791a-468e-80e9-86845c1e0a61",{"path":2481,"uuid":2482},"\u002Fblog\u002Fuse-postman-to-explore-the-foxy-hypermedia-api-a-20-minute-webinar","b455463a-cdbd-4300-bf70-a66033f738f1",{"path":2484,"uuid":2485},"\u002Fblog\u002Fuse-site123s-free-website-builder-and-foxy-to-affordably-launch-an-online-store","508e4533-81b8-47b4-ae68-0a22f1542fae",{"path":2487,"uuid":2488},"\u002Fblog\u002Fusing-migration-and-pre-signup-triggers-with-aws-cognito","15159f73-0140-46f3-8220-d7dfaa8a9846",{"path":2490,"uuid":2491},"\u002Fblog\u002Fusing-product-reviews-for-market-research","5be69a65-775e-4121-a900-bee92887ecb6",{"path":2493,"uuid":2494},"\u002Fblog\u002Fv050-notes-death-taxes","072eefba-dfcc-4b3f-95cf-8a14df9797ed",{"path":2496,"uuid":2497},"\u002Fblog\u002Fv060-notes-paypal-guest-checkouts-and-more","23f3ae29-700f-4f26-bf7c-cba99889040c",{"path":2499,"uuid":2500},"\u002Fblog\u002Fversion-control-at-foxycart","6880619c-6a0d-45ec-af23-79f45a7508f8",{"path":2502,"uuid":2503},"\u002Fblog\u002Fvisiting-firehost","125b9b2b-c640-4738-a633-bced67ac6772",{"path":2505,"uuid":2506},"\u002Fblog\u002Fwant-to-say-hello-in-person-foxycart-meetups","231367e3-da02-4913-acbd-a4090893b4ca",{"path":2508,"uuid":2509},"\u002Fblog\u002Fwe-love-aws-lambda-but-its-concurrency-handling-with-sqs-is-silly","50b80eee-b86a-4331-9e4a-2681df8acb39",{"path":2511,"uuid":2512},"\u002Fblog\u002Fwere-sponsoring-longhorn-php-in-austin","73986cd0-33b2-4a7a-a98b-ed78d5fc61aa",{"path":2514,"uuid":2515},"\u002Fblog\u002Fwere-still-alive","9923418c-8816-4665-b55c-c3c0a7387661",{"path":2517,"uuid":2518},"\u002Fblog\u002Fwe-took-a-risk-with-bitcoin-should-you","99b922ec-4369-4506-bcd8-226e59a77980",{"path":2520,"uuid":2521},"\u002Fblog\u002Fwhen-a-select-element-isnt-a-select-element","c4781077-c7a9-45f0-bc15-15bc0237289a",{"path":2523,"uuid":2524},"\u002Fblog\u002Fwhy-build-a-shopping-cart-for-developers","4aa4be45-54d0-4e98-93d3-bed17f8786f3",{"path":2526,"uuid":2527},"\u002Fblog\u002Fwhy-design-matters-in-ecommerce","4fa79843-a0f7-4b13-928e-4f68fd362246",{"path":2529,"uuid":2530},"\u002Fblog\u002Fwhy-does-foxycart-support-bitcoin","004770a9-1707-43a1-82b3-681f67bf2729",{"path":2532,"uuid":2533},"\u002Fblog\u002Fwhy-good-product-photos-matter-how-to-take-them","d3ef31cf-78a5-40a8-ac61-4ba4e92bee7a",{"path":2535,"uuid":2536},"\u002Fblog\u002Fwhy-multi-homed-bandwidth-is-essential-for-ecommerce","f579774b-97ca-4774-9cab-d7b63e3f0a03",{"path":2538,"uuid":2539},"\u002Fblog\u002Fwhy-shouldnt-you-accept-bitcoin","1827dae9-cb7a-48e6-ac22-7a8aefb7cd97",{"path":2541,"uuid":2542},"\u002Fblog\u002Fwhy-we-have-a-public-phone-number","bd247a45-7c96-4d49-81ff-42429e166c43",{"path":2544,"uuid":2545},"\u002Fblog\u002Fwhy-your-colleagues-still-dont-understand-hypermedia-apis","edb23c20-ebff-4d48-b077-83fb0ee87db3",{"path":2547,"uuid":2548},"\u002Fblog\u002Fwhy-you-should-separate-your-shopping-cart-from-your-cms","9363c152-1721-4bbb-b3b0-92a44067a6f0",{"path":2550,"uuid":2551},"\u002Fblog\u002Fyear-in-review-what-happened-and-whats-to-come","80b8c9de-bb50-42fe-9a91-5380fd9f848c",{"path":2553,"uuid":2554},"\u002Fblog\u002Fyour-brain-responds-better-to-marketing-than-you-think-it-does","19e2b904-d1a9-4002-9d7d-e0c736138ecf",{"path":2556,"uuid":2557},"\u002Fblog\u002Fyour-cart-bistro-studios","15604a8b-7b52-481f-b0b3-367de708ce8d",{"path":2559},"\u002Fblog\u002F2",{"path":2561},"\u002Fblog\u002F3",{"path":2563},"\u002Fblog\u002F4",{"path":2565},"\u002Fblog\u002F5",{"path":2567},"\u002Fblog\u002F6",{"path":2569},"\u002Fblog\u002F7",{"path":2571},"\u002Fblog\u002F8",{"path":2573},"\u002Fblog\u002F9",{"path":2575},"\u002Fblog\u002F10",{"path":2577},"\u002Fblog\u002F11",{"path":2579},"\u002Fblog\u002F12",{"path":2581},"\u002Fblog\u002F13",{"path":2583},"\u002Fblog\u002F14",{"path":2585},"\u002Fblog\u002F15",{"path":2587},"\u002Fblog\u002F16",{"path":2589},"\u002Fblog\u002F17",{"path":2591},"\u002Fblog\u002F18",{"path":2593},"\u002Fblog\u002F19",{"path":2595},"\u002Fblog\u002F20",{"path":2597},"\u002Fblog\u002F21",{"path":2599},"\u002Fblog\u002F22",{"path":2601},"\u002Fblog\u002F23",{"path":2603},"\u002Fblog\u002F24",{"path":2605},"\u002Fblog\u002F25",{"path":2607},"\u002Fblog\u002F26",{"path":2609},"\u002Fblog\u002F27",{"path":2611},"\u002Fblog\u002F28",{"path":2613,"uuid":2614},"\u002Fsuccess-stories\u002Fa-better-sign","bb240bcd-96a3-4a69-a7e3-4a99f1518655",{"path":2616,"uuid":2617},"\u002Fsuccess-stories\u002Fcolina-coffee-co","b75dc0dc-0111-486b-8102-f8f3e93dbf7c",{"path":2619,"uuid":2620},"\u002Fsuccess-stories\u002Fcivilgg","42cbb6d6-a688-4d5a-85ac-cb356c0034e1",{"path":2622,"uuid":2623},"\u002Fsuccess-stories\u002Fsushi-world","1b7fbbf6-8b96-4535-9cf8-1f08036af9c6",{"path":2625,"uuid":2626},"\u002Fsuccess-stories\u002Fquagga-designs","f2d5ed8d-4b22-40e5-a034-92a31e38d59c",{"path":2628,"uuid":2629},"\u002Fsuccess-stories\u002Fabsorb","8cbef5e7-9f3d-4aeb-87b7-8d09eb2f1627",{"path":2631,"uuid":2632},"\u002Fsuccess-stories\u002Fbayer","6145ebf4-2496-423a-86f1-fcc2b2578316",{"path":2634},"\u002Fnot-found",{"path":2636},"\u002F400",{"path":2638},"\u002F403",{"path":2640},"\u002F404",{"path":2642},"\u002F500",{"path":2644},"\u002Fsearch",{"name":2646,"created_at":2647,"published_at":2648,"updated_at":2649,"id":2650,"uuid":2651,"content":2652,"slug":2822,"full_slug":2823,"sort_by_date":2824,"position":2825,"tag_list":2826,"is_startpage":2700,"parent_id":2827,"meta_data":2824,"group_id":2828,"first_published_at":2829,"release_id":2824,"lang":2830,"path":2824,"alternates":2831,"default_full_slug":2824,"translated_slugs":2824},"Default Footer","2024-08-09T18:06:59.024Z","2025-09-04T06:24:46.223Z","2025-09-04T06:24:46.241Z",10082753,"e59e67ac-248a-482f-84a1-53d4f318186a",{"_uid":2653,"about":2654,"logos":2655,"socials":2661,"sections":2689,"component":2806,"cta_title":2807,"bottom_links":2808,"cta_subtitle":2820,"cta_button_link":2821,"cta_button_text":2756},"830983f5-c4c4-43c8-b150-86a5e3fa6dc8","Foxy’s hosted cart & payment page allow you to sell anything, using your existing website or platform.",[2656],{"id":2657,"alt":2658,"name":2658,"focus":2658,"title":2658,"filename":2659,"copyright":2658,"fieldtype":2660},14760,"","https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fx\u002F3b030847ec\u002Fb-corp.svg","asset",[2662,2671,2677,2683],{"_uid":2663,"icon":2664,"link":2665,"name":2669,"component":2670},"faf0a618-ea94-42ea-9182-03be18c43216","fa-facebook",{"id":2658,"url":2666,"linktype":2667,"fieldtype":2668,"cached_url":2666},"https:\u002F\u002Fwww.facebook.com\u002Ffoxycart","url","multilink","Facebook","footer___social",{"_uid":2672,"icon":2673,"link":2674,"name":2676,"component":2670},"14309c18-7e79-423e-b375-34555bac0811","fa-instagram",{"id":2658,"url":2675,"linktype":2667,"fieldtype":2668,"cached_url":2675},"https:\u002F\u002Fwww.instagram.com\u002Ffoxy_io","Instagram",{"_uid":2678,"icon":2679,"link":2680,"name":2682,"component":2670},"8f7fe7cf-0dd3-4596-8334-226ea466716a","fa-linkedin",{"id":2658,"url":2681,"linktype":2667,"fieldtype":2668,"cached_url":2681},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ffoxycart.com","LinkedIn",{"_uid":2684,"icon":2685,"link":2686,"name":2688,"component":2670},"90a675b4-dd97-40b5-be09-00a87223d4c5","fa-youtube",{"id":2658,"url":2687,"linktype":2667,"fieldtype":2668,"cached_url":2687},"https:\u002F\u002Fwww.youtube.com\u002Fuser\u002Ffoxycart","Youtube",[2690,2718,2757,2776],{"_uid":2691,"name":2692,"items":2693,"component":2717},"82849945-282f-488c-b18d-a8d2252f514a","Company",[2694,2702,2707,2712],{"_uid":2695,"link":2696,"title":2699,"new_tab":2700,"component":2701},"1f699ab1-938b-4d9d-9825-aabcbe6f57fe",{"id":39,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2698},"story","about-us","About Us",false,"footer___menu_items",{"_uid":2703,"link":2704,"title":2706,"new_tab":2700,"component":2701},"b26b00f1-a0e7-4be2-8ab3-428b8cc841f8",{"id":96,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2705},"how-foxy-works","How Foxy Works",{"_uid":2708,"link":2709,"title":2711,"new_tab":2700,"component":2701},"b40c68a0-1ceb-4226-9515-6176534f61fe",{"id":33,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2710},"for-good","Foxy For Good",{"_uid":2713,"link":2714,"title":2716,"new_tab":2700,"component":2701},"3ad0c134-bef9-4fff-b891-e09f16109036",{"id":105,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2715},"brand-assets","Brand Assets","footer___section",{"_uid":2719,"name":2720,"items":2721,"component":2717},"a6805fa8-ac60-47f1-b8f0-f27aded0afbe","Product",[2722,2727,2732,2737,2742,2747,2752],{"_uid":2723,"link":2724,"title":2726,"new_tab":2700,"component":2701},"b39c8a4e-2383-486f-b76a-11fbb15d8134",{"id":141,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2725},"features\u002F","Features",{"_uid":2728,"link":2729,"title":2731,"new_tab":2700,"component":2701},"64f8a41f-c181-433d-bc0a-fc94e71ecbf6",{"id":12,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2730},"pricing","Pricing",{"_uid":2733,"link":2734,"title":2736,"new_tab":2700,"component":2701},"6e0b287f-fd8c-4146-9e0e-0ab0b5c9ce3c",{"id":1807,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2735},"blog\u002Fcategories\u002Fproduct-updates","Product Updates",{"_uid":2738,"link":2739,"title":2741,"new_tab":2700,"component":2701},"47e5a074-a6b5-4f1c-8c2f-89a2ae9f83eb",{"id":138,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2740},"changelogs\u002F","Changelogs",{"_uid":2743,"link":2744,"title":2746,"new_tab":2700,"component":2701},"b5c08774-542f-4ffd-b357-c94d674488b9",{"id":120,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2745},"whats-next","What's Next",{"_uid":2748,"link":2749,"title":2751,"new_tab":2700,"component":2701},"9c2704ed-6d9f-43e1-9e67-c8d91c083288",{"id":108,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2750},"compare\u002F","Compare",{"_uid":2753,"link":2754,"title":2756,"new_tab":2700,"component":2701},"5f2db35b-674b-406a-8fa7-d246633af9fe",{"id":2658,"url":2755,"linktype":2667,"fieldtype":2668,"cached_url":2755},"https:\u002F\u002Fadmin.foxy.io\u002Fsign-up","Try Foxy Free",{"_uid":2758,"name":2759,"items":2760,"component":2717},"63fa1f29-4252-4640-9922-fe310e69e54a","Security",[2761,2766,2771],{"_uid":2762,"link":2763,"title":2765,"new_tab":2700,"component":2701},"1158ddb6-9eb0-466f-8eb6-7ca2ae66c8b8",{"id":24,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2764},"security-contact","Security Contact",{"_uid":2767,"link":2768,"title":2770,"new_tab":2700,"component":2701},"9a79c54a-6022-4dfd-854b-766f5e4703ba",{"id":30,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2769},"pci","PCI Compliance",{"_uid":2772,"link":2773,"title":2775,"new_tab":2700,"component":2701},"0b85f5b6-9534-4071-b323-b39d053dd4d7",{"id":390,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2774},"help\u002Farticles\u002Four-official-domains-public-code","Domains & Codebases",{"_uid":2777,"name":2778,"items":2779,"component":2717},"998ded67-d107-49f4-8154-ca6be51671ec","Support",[2780,2785,2791,2796,2801],{"_uid":2781,"link":2782,"title":2784,"new_tab":2700,"component":2701},"594ffd35-3049-4004-bb08-0db568ebd819",{"id":114,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2783},"help\u002F","Help Center",{"_uid":2786,"link":2787,"title":2789,"new_tab":2790,"component":2701},"0a1a55ab-a985-4f9d-8b42-26da714d0c1c",{"id":2658,"url":2788,"linktype":2667,"fieldtype":2668,"cached_url":2788},"https:\u002F\u002Fwiki.foxycart.com\u002F","Documentation",true,{"_uid":2792,"link":2793,"title":2795,"new_tab":2790,"component":2701},"61e0b7c8-aadf-419b-a339-b3ccabc65bf4",{"id":2658,"url":2794,"linktype":2667,"fieldtype":2668,"cached_url":2794},"https:\u002F\u002Fapi.foxycart.com\u002F","API Documentation",{"_uid":2797,"link":2798,"title":2800,"new_tab":2790,"component":2701},"fd67a89e-1c54-4d31-94b5-64be999062d6",{"id":2658,"url":2799,"linktype":2667,"fieldtype":2668,"cached_url":2799},"https:\u002F\u002Fstatus.foxy.io\u002F","System Status",{"_uid":2802,"link":2803,"title":2805,"new_tab":2700,"component":2701},"231a6f71-e996-4ad4-b033-d4d5542f34f0",{"id":111,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2804},"contact","Contact Us","footer","Get started with our *unlimited free trial*.",[2809,2815],{"_uid":2810,"link":2811,"text":2813,"component":2814},"f0b77210-2632-45a2-8436-e57cad84d01a",{"id":99,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2812},"terms-of-service","Terms of Service","footer___bottom_links",{"_uid":2816,"link":2817,"text":2819,"component":2814},"4bd497b0-993f-4b4d-a5b7-8a49c7c8fec9",{"id":102,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2818},"privacy-policy","Privacy Policy","No credit card required.",{"id":2658,"url":2755,"linktype":2667,"fieldtype":2668,"cached_url":2755},"default-footer","navigation\u002Fdefault-footer",null,50,[],10082747,"11006268-07f9-41e9-96f3-c51fb723399d","2022-09-21T20:39:02.357Z","default",[],{"name":2833,"created_at":2834,"published_at":2835,"updated_at":2836,"id":2837,"uuid":2838,"content":2839,"slug":2921,"full_slug":2922,"sort_by_date":2824,"position":2923,"tag_list":2924,"is_startpage":2700,"parent_id":2827,"meta_data":2824,"group_id":2925,"first_published_at":2926,"release_id":2824,"lang":2830,"path":2824,"alternates":2927,"default_full_slug":2824,"translated_slugs":2824},"Blog Header","2024-08-09T18:06:34.232Z","2024-12-20T16:33:42.571Z","2024-12-20T16:33:42.584Z",10082750,"3d37f2a3-56a0-440d-910d-46752bc3ad68",{"_uid":2840,"badge":2841,"items":2842,"buttons":2886,"subitems":2887,"alignment":2901,"component":2902,"badge_link":2903,"top_menu_items":2905},"e33a7694-80ed-4829-a536-ccc69a1ee4a6","Blog",[2843,2850,2856,2861,2867,2873],{"_uid":2844,"link":2845,"title":2847,"new_tab":2700,"submenu":2848,"component":2849},"da52f9a1-b72b-4956-8c38-d53c8f404a08",{"id":1801,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2846},"blog\u002Fcategories\u002Fhow-to","How To",[],"header___item",{"_uid":2851,"link":2852,"title":2854,"new_tab":2700,"submenu":2855,"component":2849},"6d66bf9d-847a-4fce-8ed6-02bf4ad3e616",{"id":1792,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2853},"blog\u002Fcategories\u002Fbest-practices","Best Practices",[],{"_uid":2857,"link":2858,"title":2759,"new_tab":2700,"submenu":2860,"component":2849},"bfbc1f59-d307-403b-a985-4624cbe6a4d5",{"id":1810,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2859},"blog\u002Fcategories\u002Fsecurity",[],{"_uid":2862,"link":2863,"title":2865,"new_tab":2700,"submenu":2866,"component":2849},"c6ae2e48-c06d-4a28-8768-6db0402ffddf",{"id":1804,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2864},"blog\u002Fcategories\u002Fmarketing","Marketing",[],{"_uid":2868,"link":2869,"title":2871,"new_tab":2700,"submenu":2872,"component":2849},"01f12d6e-1bb9-41bc-b7b2-034ecbee0d84",{"id":1798,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2870},"blog\u002Fcategories\u002Fculture","Culture",[],{"_uid":2874,"link":2875,"title":2876,"new_tab":2700,"submenu":2877,"component":2849},"5fdd716b-74c1-4a5f-9b30-893ede39929d",{"id":2658,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2658},"What's New",[2878,2882],{"_uid":2879,"link":2880,"title":2736,"new_tab":2700,"submenu":2881,"component":2849},"d33be302-8cfc-4be2-a623-155ef5c9bcd6",{"id":1807,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2735},[],{"_uid":2883,"link":2884,"title":2741,"new_tab":2700,"submenu":2885,"component":2849},"e45ba655-019c-4d5a-ba56-d89057b9c399",{"id":138,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2740},[],[],[2888,2893,2898],{"_uid":2889,"link":2890,"text":2892,"component":2814},"47d30abe-ca41-40a0-96a9-edd30145130a",{"id":42,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2891},"home","Home",{"_uid":2894,"link":2895,"text":2897,"component":2814},"b196923b-1101-4127-91bb-c2c9d3077c4b",{"id":96,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2896},"what-foxy-does","What's Foxy",{"_uid":2899,"link":2900,"text":2756,"component":2814},"e7943c1b-5f0b-44c5-a63e-aba38c7de9fd",{"id":2658,"url":2755,"linktype":2667,"fieldtype":2668,"cached_url":2755},"right","header",{"id":135,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2904},"blog\u002F",[2906,2912,2917],{"_uid":2907,"link":2908,"title":2910,"new_tab":2700,"submenu":2911,"component":2849},"a9601db4-b3ab-40ff-b9a6-1d886aa317cc",{"id":42,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2909},"homepage","Foxy Home",[],{"_uid":2913,"link":2914,"title":2915,"new_tab":2700,"submenu":2916,"component":2849},"e5c54802-434c-4f90-a162-00a38e1d4b0d",{"id":2658,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2658},"What's Foxy?",[],{"_uid":2918,"link":2919,"title":2756,"new_tab":2700,"submenu":2920,"component":2849},"8a52540f-18f1-4f38-b7da-17f60690aaee",{"id":2658,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2658},[],"blog-header","navigation\u002Fblog-header",-10,[],"f4698a33-9da4-417e-a96b-2ca7b8fb4d60","2022-09-27T17:04:43.424Z",[],{"name":2929,"created_at":2930,"published_at":2931,"updated_at":2932,"id":2933,"uuid":2934,"content":2935,"slug":2958,"full_slug":2961,"sort_by_date":2824,"position":2962,"tag_list":2963,"is_startpage":2700,"parent_id":2827,"meta_data":2824,"group_id":2964,"first_published_at":2965,"release_id":2824,"lang":2830,"path":2824,"alternates":2966,"default_full_slug":2824,"translated_slugs":2824},"Search","2024-10-21T22:08:54.973Z","2025-05-26T09:17:25.790Z","2025-05-26T09:17:25.804Z",13592003,"14cbc359-9ac1-4a7a-a8de-ad4ac8ef26d4",{"_uid":2936,"name":2929,"indices":2937,"summary":2658,"component":2958,"primary_image":2959},"5e4a56e8-76f1-4790-b3a7-70f1be97d042",[2938,2943,2948,2953],{"key":2939,"_uid":2940,"icon":2658,"name":2941,"component":2942},"all","c12a3210-7323-4273-8217-5215e52efe84","All","index",{"key":2944,"_uid":2945,"icon":2946,"name":2947,"component":2942},"help_center_article","5acff080-95e4-44d3-8dcf-1b19720af382","fa-file-alt","Articles",{"key":2949,"_uid":2950,"icon":2951,"name":2952,"component":2942},"help_center_guide","b8fbc206-c083-471e-a1f0-0ebeb90a669d","fa-book","Guides",{"key":2954,"_uid":2955,"icon":2956,"name":2957,"component":2942},"blog_post","23419e83-2e56-4c4c-8a05-9fd1b3c9a9bd","fa-file-image","Blog Posts","search",{"id":2824,"alt":2824,"name":2658,"focus":2824,"title":2824,"source":2824,"filename":2658,"copyright":2824,"fieldtype":2660,"meta_data":2960},{},"navigation\u002Fsearch",60,[],"11e1fd31-95cd-4fc9-b736-8b8910663e6c","2024-10-21T23:17:05.904Z",[],{"name":2968,"created_at":2969,"published_at":2970,"updated_at":2971,"id":2972,"uuid":135,"content":2973,"slug":2975,"full_slug":2904,"sort_by_date":2824,"position":2991,"tag_list":2992,"is_startpage":2790,"parent_id":2993,"meta_data":2824,"group_id":2994,"first_published_at":2995,"release_id":2824,"lang":2830,"path":2824,"alternates":2996,"default_full_slug":2824,"translated_slugs":2824},"Main Page","2022-09-26T18:09:27.334Z","2024-12-20T16:09:02.778Z","2024-12-20T16:09:02.792Z",3287,{"_uid":2974,"name":2841,"summary":2658,"component":2975,"menu_items":2976,"primary_image":2989},"fe65db34-d783-47bf-94b0-2863a88e74f6","blog",[2977,2981,2985],{"_uid":2978,"link":2979,"title":2892,"new_tab":2700,"submenu":2980,"component":2849},"a7309372-1804-48f3-81d1-cc4f1103d998",{"id":42,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2891},[],{"_uid":2982,"link":2983,"title":2897,"new_tab":2700,"submenu":2984,"component":2849},"6d49037d-1cc3-46ce-bd38-00be50521d91",{"id":96,"url":2658,"linktype":2697,"fieldtype":2668,"cached_url":2896},[],{"_uid":2986,"link":2987,"title":2756,"new_tab":2700,"submenu":2988,"component":2849},"2a213bac-689f-40c8-a090-9e6e91491285",{"id":2658,"url":2755,"linktype":2667,"fieldtype":2668,"cached_url":2755},[],{"id":2824,"alt":2824,"name":2658,"focus":2824,"title":2824,"source":2824,"filename":2658,"copyright":2824,"fieldtype":2660,"meta_data":2990},{},-20,[],3265,"9afeab98-47f5-44be-88a9-2c9d0492ce7c","2022-09-26T18:10:31.602Z",[],{"data":2998,"headers":6837,"perPage":6863,"total":6864},{"stories":2999,"cv":6818,"rels":6819,"links":6836},[3000,3336,3455,3553,4214,4413,4627,4775,5488],{"name":3001,"created_at":3002,"published_at":3003,"updated_at":3004,"id":3005,"uuid":1906,"content":3006,"slug":3328,"full_slug":3329,"sort_by_date":2824,"position":3330,"tag_list":3331,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":3333,"first_published_at":3334,"release_id":2824,"lang":2830,"path":2824,"alternates":3335,"default_full_slug":2824,"translated_slugs":2824},"2022 In Review","2023-03-24T17:10:28.822Z","2024-11-07T17:57:59.695Z","2024-11-07T17:57:59.713Z",64365,{"_uid":3007,"tags":2658,"title":3001,"content":3008,"summary":3290,"component":2954,"thumbnail":3295,"categories":3299},"46d3d658-03b7-4200-8661-d2e5cf1aeb26",{"type":3009,"content":3010},"doc",[3011,3017,3024,3037,3078,3083,3093,3098,3110,3155,3160,3170,3175,3179,3184,3194,3199,3209,3214,3218,3223,3227,3286],{"type":3012,"content":3013},"paragraph",[3014],{"text":3015,"type":3016},"2022 has come to an end and we’re excited to look back at what the Foxy team accomplished as well as what we’re working on for 2023.","text",{"type":3018,"attrs":3019,"content":3021},"heading",{"level":3020},3,[3022],{"text":3023,"type":3016},"New Foxy Admin \u002F Dashboard",{"type":3012,"content":3025},[3026,3028,3035],{"text":3027,"type":3016},"Though still in beta (apply for access ",{"text":3029,"type":3016,"marks":3030},"here",[3031],{"type":3032,"attrs":3033},"link",{"href":3034,"title":2824},"https:\u002F\u002Fairtable.com\u002FshruOtVjh0UYJmifs",{"text":3036,"type":3016},"), we’ve made a ton of updates and improvements to the new Foxy admin, including:",{"type":3038,"attrs":3039,"content":3040},"bullet_list",{"tight":2700},[3041,3048,3054,3060,3066,3072],{"type":3042,"content":3043},"list_item",[3044],{"type":3012,"content":3045},[3046],{"text":3047,"type":3016},"API Browser – Interact with store data (via the Foxy API) right inside of the Foxy admin.",{"type":3042,"content":3049},[3050],{"type":3012,"content":3051},[3052],{"text":3053,"type":3016},"Active Cart Session Management – Easily search, filter, view, and modify active cart sessions (add\u002Fremove products, add discounts, and more).",{"type":3042,"content":3055},[3056],{"type":3012,"content":3057},[3058],{"text":3059,"type":3016},"Gift Card Management – create\u002Fmanage gift cards, modify email delivery settings, and more.",{"type":3042,"content":3061},[3062],{"type":3012,"content":3063},[3064],{"text":3065,"type":3016},"Shipping Management",{"type":3042,"content":3067},[3068],{"type":3012,"content":3069},[3070],{"text":3071,"type":3016},"Template Set Management",{"type":3042,"content":3073},[3074],{"type":3012,"content":3075},[3076],{"text":3077,"type":3016},"Payment Set Management",{"type":3018,"attrs":3079,"content":3080},{"level":3020},[3081],{"text":3082,"type":3016},"Gift Cards",{"type":3012,"content":3084},[3085,3087,3091],{"text":3086,"type":3016},"You can now sell and accept gift cards as a payment method at checkout. Foxy will handle the digital delivery of gift cards as well as maintaining balances. Apply for beta access ",{"text":3029,"type":3016,"marks":3088},[3089],{"type":3032,"attrs":3090},{"href":3034,"title":2824},{"text":3092,"type":3016},".",{"type":3018,"attrs":3094,"content":3095},{"level":3020},[3096],{"text":3097,"type":3016},"Show\u002Fhide Logic Improvements",{"type":3012,"content":3099},[3100,3102,3108],{"text":3101,"type":3016},"We’ve added additional filters for showing\u002Fhiding content with our ",{"text":3103,"type":3016,"marks":3104},"customer portal",[3105],{"type":3032,"attrs":3106},{"href":3107,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Fcustomer_portal",{"text":3109,"type":3016},":",{"type":3038,"attrs":3111,"content":3112},{"tight":2700},[3113,3119,3125,3131,3137,3143,3149],{"type":3042,"content":3114},[3115],{"type":3012,"content":3116},[3117],{"text":3118,"type":3016},"If logged in customer has an active subscription with past due amount",{"type":3042,"content":3120},[3121],{"type":3012,"content":3122},[3123],{"text":3124,"type":3016},"If logged in customer has attribute",{"type":3042,"content":3126},[3127],{"type":3012,"content":3128},[3129],{"text":3130,"type":3016},"If logged in customer does not have attribute",{"type":3042,"content":3132},[3133],{"type":3012,"content":3134},[3135],{"text":3136,"type":3016},"If logged in customer’s order history contains product with specific option (ie: Size = Large)",{"type":3042,"content":3138},[3139],{"type":3012,"content":3140},[3141],{"text":3142,"type":3016},"If logged in customer’s order history does not contain product with specific option (ie: Size = Large)",{"type":3042,"content":3144},[3145],{"type":3012,"content":3146},[3147],{"text":3148,"type":3016},"If logged in customer has an active subscription with specific option (ie: Plan = Starter)",{"type":3042,"content":3150},[3151],{"type":3012,"content":3152},[3153],{"text":3154,"type":3016},"If logged in customer does not have an active subscription with specific option (ie: Plan = Starter)",{"type":3018,"attrs":3156,"content":3157},{"level":3020},[3158],{"text":3159,"type":3016},"Sezzle Integration",{"type":3012,"content":3161},[3162,3164,3169],{"text":3163,"type":3016},"Get paid in full now while allowing your customers to pay over time (with 0% interest) with our Sezzle integration. Integration instructions available ",{"text":3029,"type":3016,"marks":3165},[3166],{"type":3032,"attrs":3167},{"href":3168,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fgateways\u002Fsezzle",{"text":3092,"type":3016},{"type":3018,"attrs":3171,"content":3172},{"level":3020},[3173],{"text":3174,"type":3016},"Checkout.com Integration",{"type":3012,"content":3176},[3177],{"text":3178,"type":3016},"Accept debit\u002Fcredit cards (with competitive rates) via our new Checkout.com integration.",{"type":3018,"attrs":3180,"content":3181},{"level":3020},[3182],{"text":3183,"type":3016},"Zage Integration",{"type":3012,"content":3185},[3186,3188,3193],{"text":3187,"type":3016},"Get rid of high transaction fees and reward your customers at the same time with our new Zage integration. Integration instructions available ",{"text":3029,"type":3016,"marks":3189},[3190],{"type":3032,"attrs":3191},{"href":3192,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fgateways\u002Fzage",{"text":3092,"type":3016},{"type":3018,"attrs":3195,"content":3196},{"level":3020},[3197],{"text":3198,"type":3016},"Pipedream Integration",{"type":3012,"content":3200},[3201,3203,3208],{"text":3202,"type":3016},"Connext Foxy customer\u002Forder data with thousands of apps via our new Pipedream integration. Integration instructions available ",{"text":3029,"type":3016,"marks":3204},[3205],{"type":3032,"attrs":3206},{"href":3207,"title":2824},"https:\u002F\u002Fpipedream.com\u002Fapps\u002Ffoxy",{"text":3092,"type":3016},{"type":3018,"attrs":3210,"content":3211},{"level":3020},[3212],{"text":3213,"type":3016},"Auto-applied Coupons",{"type":3012,"content":3215},[3216],{"text":3217,"type":3016},"You can now automatically apply coupons to an order based on customer attributes or active subscriptions. In addition, you can now restrict coupons to customers with specific attributes or active subscriptions.",{"type":3018,"attrs":3219,"content":3220},{"level":3020},[3221],{"text":3222,"type":3016},"What’s Next",{"type":3012,"content":3224},[3225],{"text":3226,"type":3016},"In addition to everything mentioned above, we’ve been hard at work (or will soon be starting) on the following:",{"type":3038,"attrs":3228,"content":3229},{"tight":2700},[3230,3236,3242,3248,3254,3260,3266,3272],{"type":3042,"content":3231},[3232],{"type":3012,"content":3233},[3234],{"text":3235,"type":3016},"New sidecart template design",{"type":3042,"content":3237},[3238],{"type":3012,"content":3239},[3240],{"text":3241,"type":3016},"New full page cart template design",{"type":3042,"content":3243},[3244],{"type":3012,"content":3245},[3246],{"text":3247,"type":3016},"New checkout template design",{"type":3042,"content":3249},[3250],{"type":3012,"content":3251},[3252],{"text":3253,"type":3016},"New web receipt template design",{"type":3042,"content":3255},[3256],{"type":3012,"content":3257},[3258],{"text":3259,"type":3016},"New email receipt template design",{"type":3042,"content":3261},[3262],{"type":3012,"content":3263},[3264],{"text":3265,"type":3016},"Easier styling and design configurations in the new Foxy admin",{"type":3042,"content":3267},[3268],{"type":3012,"content":3269},[3270],{"text":3271,"type":3016},"Native automation functionality (ie: subscribe customer to Mailchimp newsletter without the need for services like Zapier or Make)",{"type":3042,"content":3273},[3274],{"type":3012,"content":3275},[3276,3278,3284],{"text":3277,"type":3016},"New partner program – Work with clients? Get listed in our partner directory and gain access to partner exclusive resources, priority support, special pricing, and more. Please ",{"text":3279,"type":3016,"marks":3280},"contact us",[3281],{"type":3032,"attrs":3282},{"href":3283,"title":2824},"https:\u002F\u002Ffoxy.io\u002Fcontact",{"text":3285,"type":3016}," for more information.",{"type":3012,"content":3287},[3288],{"text":3289,"type":3016},"Thank you to our wonderful community for making 2022 an amazing year! As always, we’re here to help if you need anything at all. Let’s go 2023!",{"type":3009,"content":3291},[3292],{"type":3012,"content":3293},[3294],{"text":3015,"type":3016},{"id":3296,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":3297,"copyright":2658,"fieldtype":2660,"meta_data":3298,"is_external_url":2700},57785,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002F22e4160363\u002F2022-in-review-new.jpg",{},[3300,3316],{"name":2871,"created_at":3301,"published_at":3302,"updated_at":3303,"id":3304,"uuid":1798,"content":3305,"slug":3309,"full_slug":2870,"sort_by_date":2824,"position":3310,"tag_list":3311,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3313,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":3315,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},"2023-03-24T17:10:22.032Z","2024-07-26T15:50:52.859Z","2024-07-26T15:50:52.885Z",64356,{"_uid":3306,"name":2871,"component":3307,"description":3308},"f39307be-09f6-4702-8bbb-35c0d69bcc42","blog_category","Foxy related information, news, and announcements.","culture",30,[],3266,"cf417cbf-9d6f-48bb-8594-5d70c10c0a53","2023-03-24T17:27:15.733Z",[],{"name":2736,"created_at":3317,"published_at":3318,"updated_at":3319,"id":3320,"uuid":1807,"content":3321,"slug":3324,"full_slug":2735,"sort_by_date":2824,"position":2962,"tag_list":3325,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3326,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":3327,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},"2023-03-24T17:10:24.244Z","2023-03-24T17:27:15.000Z","2023-03-24T17:17:35.085Z",64359,{"_uid":3322,"name":2736,"component":3307,"description":3323},"3ef22883-bf74-46ab-8082-d065612e015a","New feature and integration announcements.","product-updates",[],"bb8cf5a5-aa9d-4818-854a-99bae339ee69",[],"2022-in-review","blog\u002Fposts\u002F2022-in-review",40,[],3267,"0418f51e-1761-49d7-b3da-52ca9a708268","2023-01-02T22:32:55.000Z",[],{"name":3337,"created_at":3338,"published_at":3339,"updated_at":3340,"id":3341,"uuid":2197,"content":3342,"slug":3448,"full_slug":3449,"sort_by_date":2824,"position":3450,"tag_list":3451,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":3452,"first_published_at":3453,"release_id":2824,"lang":2830,"path":2824,"alternates":3454,"default_full_slug":2824,"translated_slugs":2824},"Live Shipping Rates with EasyPost","2023-03-24T17:10:29.563Z","2024-11-07T17:58:33.231Z","2024-11-07T17:58:33.246Z",64366,{"_uid":3343,"tags":2658,"title":3337,"content":3344,"summary":3426,"component":2954,"thumbnail":3432,"categories":3436},"da275091-7ec9-49fb-a42d-7b5e21264959",{"type":3009,"content":3345},[3346,3358,3370,3374,3381,3415],{"type":3012,"content":3347},[3348,3350,3356],{"text":3349,"type":3016},"If we may be so bold — we think we have the best options out there for getting shipping rates for your store! Our users come to us with all kinds of shipping challenges, and one feature that helps them get what they need, and one that we’re especially proud of here is our ",{"text":3351,"type":3016,"marks":3352},"custom shipping code",[3353],{"type":3032,"attrs":3354},{"href":3355,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Fshipping\u002Fcustom_code",{"text":3357,"type":3016}," feature. This feature allows us to tell Foxy users: “Yes! You can do that with custom shipping code!”",{"type":3012,"content":3359},[3360,3362,3368],{"text":3361,"type":3016},"Our users are discovering more and more the power of this feature as we help them integrate getting rates from their preferred shipping APIs. One easy-to-use shipping API that we’ve helped users with is ",{"text":3363,"type":3016,"marks":3364},"EasyPost",[3365],{"type":3032,"attrs":3366},{"href":3367,"title":2824},"https:\u002F\u002Fwww.easypost.com",{"text":3369,"type":3016},". EasyPost’s shipping API allows stores to get rates for USPS, FedEx, UPS, DHL, and many more.",{"type":3012,"content":3371},[3372],{"text":3373,"type":3016},"We’ll soon have a full native integration with EasyPost, but for now, we’d like to share our article on getting shipping rates with EasyPost just in case you want to integrate it at this time.",{"type":3012,"content":3375},[3376],{"text":3377,"type":3016,"marks":3378},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Fshipping\u002Fcustom_code\u002Feasypost",[3379],{"type":3032,"attrs":3380},{"href":3377,"title":2824},{"type":3012,"content":3382},[3383,3385,3391,3393,3399,3400,3406,3408,3414],{"text":3384,"type":3016},"You can take your integration with EasyPost even further after orders are processed by passing your data along to EasyPost using ",{"text":3386,"type":3016,"marks":3387},"Zapier",[3388],{"type":3032,"attrs":3389},{"href":3390,"title":2824},"https:\u002F\u002Fsupport.foxy.io\u002Fen_US\u002Fzapier\u002Fintegrate-foxy-with-zapier",{"text":3392,"type":3016},", ",{"text":3394,"type":3016,"marks":3395},"Make (formerly Integromat)",[3396],{"type":3032,"attrs":3397},{"href":3398,"title":2824},"https:\u002F\u002Fsupport.foxy.io\u002Fen_US\u002Fintegromat\u002Fintegrating-the-foxy-webhook-with-integromat",{"text":3392,"type":3016},{"text":3401,"type":3016,"marks":3402},"Order Desk",[3403],{"type":3032,"attrs":3404},{"href":3405,"title":2824},"https:\u002F\u002Fwww.orderdesk.com\u002F",{"text":3407,"type":3016},", or a ",{"text":3409,"type":3016,"marks":3410},"custom json webhook integration",[3411],{"type":3032,"attrs":3412},{"href":3413,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Fwebhooks#json_webhook",{"text":3092,"type":3016},{"type":3012,"content":3416},[3417,3419,3424],{"text":3418,"type":3016},"As always, please reach out to our ",{"text":3420,"type":3016,"marks":3421},"support team",[3422],{"type":3032,"attrs":3423},{"href":3283,"title":2824},{"text":3425,"type":3016}," if you have any questions.",{"type":3009,"content":3427},[3428],{"type":3012,"content":3429},[3430],{"text":3431,"type":3016},"Use our custom shipping code functionality to get live shipping rates from EasyPost.",{"id":3433,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":3434,"copyright":2658,"fieldtype":2660,"meta_data":3435,"is_external_url":2700},57801,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Ff3fca111b6\u002Feasypost.jpeg",{},[3437],{"name":2847,"created_at":3438,"published_at":3318,"updated_at":3439,"id":3440,"uuid":1801,"content":3441,"slug":3444,"full_slug":2846,"sort_by_date":2824,"position":3330,"tag_list":3445,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3446,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":3447,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},"2023-03-24T17:10:22.759Z","2023-03-24T17:17:35.775Z",64357,{"_uid":3442,"name":2847,"component":3307,"description":3443},"7642c681-a96a-4697-be4b-f4148ad1e059","Helpful ecommerce related tips, tricks, and tutorials.","how-to",[],"7daee788-0898-4317-b28a-dffb69b65e2e",[],"live-shipping-rates-with-easypost","blog\u002Fposts\u002Flive-shipping-rates-with-easypost",1010,[],"b305f95c-0b26-43d1-9f13-6eaaf5fde6f6","2022-12-19T12:00:47.000Z",[],{"name":3456,"created_at":3457,"published_at":3458,"updated_at":3459,"id":3460,"uuid":2407,"content":3461,"slug":3546,"full_slug":3547,"sort_by_date":2824,"position":3548,"tag_list":3549,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":3550,"first_published_at":3551,"release_id":2824,"lang":2830,"path":2824,"alternates":3552,"default_full_slug":2824,"translated_slugs":2824},"Support for Klarna’s “Extra Merchant Data” (EMD) allows more travel and event merchants to sell","2023-03-24T17:10:30.282Z","2024-11-07T17:58:58.031Z","2024-11-07T17:58:58.051Z",64367,{"_uid":3462,"tags":2658,"title":3456,"content":3463,"summary":3531,"component":2954,"thumbnail":3537,"categories":3541},"0cadcca4-78ba-4659-9d98-8f0d4a83fd7a",{"type":3009,"content":3464},[3465,3477,3481,3493,3527],{"type":3012,"content":3466},[3467,3469,3475],{"text":3468,"type":3016},"You may have noticed ",{"text":3470,"type":3016,"marks":3471},"Klarna",[3472],{"type":3032,"attrs":3473},{"href":3474,"title":2824},"https:\u002F\u002Fwww.klarna.com\u002Fca\u002F",{"text":3476,"type":3016}," as a payment option on more sites while you’ve been holiday shopping lately, and thought, “Huh, I wonder if I can get that on my Foxy-powered checkout.”",{"type":3012,"content":3478},[3479],{"text":3480,"type":3016},"Good news and better news: We’ve supported Klarna for many years in Foxy, and we’ve seen increasing numbers of our users adding it as a payment method. Though it was primarily focused in Europe for many years, it’s been aggressively expanding into the US since 2015, and it can be a nice installment-payment or buy-now-pay-later option (which our PayPal Commerce integration also supports).",{"type":3012,"content":3482},[3483,3485,3491],{"text":3484,"type":3016},"But Klarna, like all payment platforms, has pretty strict risk evaluations it needs to do, and certain merchants need to pass through ",{"text":3486,"type":3016,"marks":3487},"Klarna’s “Extra Merchant Data” (EMD)",[3488],{"type":3032,"attrs":3489},{"href":3490,"title":2824},"https:\u002F\u002Fdocs.klarna.com\u002Fklarna-checkout\u002Fpopular-use-cases\u002Fextra-merchant-data\u002F",{"text":3492,"type":3016}," values in order for Klarna to properly evaluate the transaction. These products include:",{"type":3038,"attrs":3494,"content":3495},{"tight":2700},[3496,3507,3517],{"type":3042,"content":3497},[3498],{"type":3012,"content":3499},[3500,3505],{"text":3501,"type":3016,"marks":3502},"Travel-related items.",[3503],{"type":3504},"bold",{"text":3506,"type":3016}," Pretty much any ticket for transportation, as well as hotel stays.",{"type":3042,"content":3508},[3509],{"type":3012,"content":3510},[3511,3515],{"text":3512,"type":3016,"marks":3513},"Events",[3514],{"type":3504},{"text":3516,"type":3016},". A very well-known Ivy League business school selling certain course registration through Foxy is what prompted us to add EMD.",{"type":3042,"content":3518},[3519],{"type":3012,"content":3520},[3521,3525],{"text":3522,"type":3016,"marks":3523},"Other.",[3524],{"type":3504},{"text":3526,"type":3016}," We’re Klarna will let you know if they need something extra from you 🙂",{"type":3012,"content":3528},[3529],{"text":3530,"type":3016},"Most merchants won’t need to ever bother with this, but if you need it, Foxy has you covered. Just reach out and we’ll help you get things set up.",{"type":3009,"content":3532},[3533],{"type":3012,"content":3534},[3535],{"text":3536,"type":3016},"You may have noticed Klarna as a payment option on more sites while you’ve been holiday shopping lately, and thought, “Huh, I wonder if I can get that on my Foxy-powered checkout.” Good news and better news: We’ve supported Klarna for many years in Foxy, and we’ve seen increasing numbers of our users adding it […]",{"id":3538,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":3539,"copyright":2658,"fieldtype":2660,"meta_data":3540,"is_external_url":2700},57725,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002F1fcbdadc2d\u002Fklarna-blog-post-header.png",{},[3542],{"name":2736,"created_at":3317,"published_at":3318,"updated_at":3319,"id":3320,"uuid":1807,"content":3543,"slug":3324,"full_slug":2735,"sort_by_date":2824,"position":2962,"tag_list":3544,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3326,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":3545,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3322,"name":2736,"component":3307,"description":3323},[],[],"support-for-klarnas-extra-merchant-data-emd-allows-more-travel-and-event-merchants-to-sell","blog\u002Fposts\u002Fsupport-for-klarnas-extra-merchant-data-emd-allows-more-travel-and-event-merchants-to-sell",1710,[],"49676233-57d5-4335-98b2-b6d0cd716c1c","2022-12-06T12:52:52.000Z",[],{"name":3554,"created_at":3555,"published_at":3556,"updated_at":3557,"id":3558,"uuid":1987,"content":3559,"slug":4207,"full_slug":4208,"sort_by_date":2824,"position":4209,"tag_list":4210,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":4211,"first_published_at":4212,"release_id":2824,"lang":2830,"path":2824,"alternates":4213,"default_full_slug":2824,"translated_slugs":2824},"Create an Online Store with Notion and Foxy","2023-03-24T17:10:31.059Z","2024-11-07T20:48:35.209Z","2024-11-07T20:48:35.239Z",64368,{"_uid":3560,"tags":2658,"title":3554,"content":3561,"summary":4192,"component":2954,"thumbnail":4198,"categories":4202},"207d052e-3376-40cf-b71e-485176ef3ce9",{"type":3009,"content":3562},[3563,3590,3594,3598,3604,3610,3622,3626,3682,3686,3691,3703,3715,3727,3733,3754,3768,3772,3784,3789,3793,3820,3837,3848,3855,3859,3926,3931,3935,4006,4011,4031,4035,4121,4125,4130,4142,4182,4184,4188],{"type":3012,"content":3564},[3565,3567,3573,3575,3580,3582,3588],{"text":3566,"type":3016},"If you’re a productivity nerd, you’ve likely heard of ",{"text":3568,"type":3016,"marks":3569},"Notion",[3570],{"type":3032,"attrs":3571},{"href":3572,"title":2824},"https:\u002F\u002Fwww.notion.so\u002F",{"text":3574,"type":3016}," — a note-taking app that does ",{"text":3576,"type":3016,"marks":3577},"much",[3578],{"type":3579},"italic",{"text":3581,"type":3016}," more than just taking notes. Even if you don’t get the hype of productivity, it’s still worth checking out the ",{"text":3583,"type":3016,"marks":3584},"templates",[3585],{"type":3032,"attrs":3586},{"href":3587,"title":2824},"https:\u002F\u002Fwww.notion.so\u002Ftemplates",{"text":3589,"type":3016}," on Notion’s website. There’s a good chance that Notion could replace a few apps on your phone, such as the habit tracker, the to-do list or the bookmarking app.",{"type":3012,"content":3591},[3592],{"text":3593,"type":3016},"What makes Notion interesting is that you can publish a Notion page to the web with just one click, and anyone with the shared link can view your page. In other words, every page you create in Notion is your personal website. It can be a portfolio site, a blog, a product roadmap, a job board, etc.",{"type":3012,"content":3595},[3596],{"text":3597,"type":3016},"But how about creating an online store? With Foxy, that’s totally possible, since Foxy is a headless ecommerce platform, which means it can be integrated with any website. Let’s see how it’s done in Notion!",{"type":3018,"attrs":3599,"content":3601},{"level":3600},2,[3602],{"text":3603,"type":3016},"Create a store within Notion",{"type":3012,"content":3605},[3606],{"type":3607,"attrs":3608},"image",{"alt":2824,"src":3609,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreen-Shot-2022-02-07-at-4.20.14-PM-1024x682.png",{"type":3012,"content":3611},[3612,3614,3620],{"text":3613,"type":3016},"Take a look at our ",{"text":3615,"type":3016,"marks":3616},"demo store",[3617],{"type":3032,"attrs":3618},{"href":3619,"title":2824},"https:\u002F\u002Fbustling-naranja-1d1.notion.site\u002F2cd634f6263d4d619357b79cc4f171aa?v=09ae289a5d524b71b7b7cc7a6177f5c9",{"text":3621,"type":3016}," (which you can copy to your Notion workspace by clicking the “Duplicate” button at the top right corner). Or continue reading if you’re interested in creating a store from scratch.",{"type":3012,"content":3623},[3624],{"text":3625,"type":3016},"In Notion, create a new page for the shop page. Our demo store uses a gallery view database, as this is the most visual database view and best for showcasing products. In this shop page, create a separate page for each product. For the page properties, besides price, category, product code and other product information, add one for the purchase link that redirects customers to the Foxy secure checkout page.",{"type":3012,"content":3627},[3628,3630,3635,3637,3639,3643,3645,3649,3650,3654,3656,3659,3661,3665,3667,3672,3674,3680],{"text":3629,"type":3016},"For example, this is the link for the Watch product in our demo: ",{"text":3631,"type":3016,"marks":3632},"https:\u002F\u002Ffoxy-notion.foxycart.com\u002Fcart?name=Watch&price=99.99&code=watch&cart=checkout",[3633],{"type":3634},"code",{"type":3636},"hard_break",{"text":3638,"type":3016},"You’ll want to replace ",{"text":3640,"type":3016,"marks":3641},"foxy-notion",[3642],{"type":3634},{"text":3644,"type":3016}," with your own Foxy store subdomain, and the values of the ",{"text":3646,"type":3016,"marks":3647},"name",[3648],{"type":3634},{"text":3392,"type":3016},{"text":3651,"type":3016,"marks":3652},"price",[3653],{"type":3634},{"text":3655,"type":3016}," and ",{"text":3634,"type":3016,"marks":3657},[3658],{"type":3634},{"text":3660,"type":3016}," parameters. With the ",{"text":3662,"type":3016,"marks":3663},"cart=checkout",[3664],{"type":3634},{"text":3666,"type":3016}," parameter, customers will be redirected to the checkout page immediately (skipping the cart page). You can add other parameters as needed. A full list of Foxy product parameters can be found ",{"text":3029,"type":3016,"marks":3668},[3669],{"type":3032,"attrs":3670},{"href":3671,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Fproducts#a_complete_list_of_product_parameters",{"text":3673,"type":3016},". Also, we have a ",{"text":3675,"type":3016,"marks":3676},"Foxy product link builder",[3677],{"type":3032,"attrs":3678},{"href":3679,"title":2824},"https:\u002F\u002Ffoxy-product-link-builder.netlify.app\u002F",{"text":3681,"type":3016}," that helps generate a link.",{"type":3012,"content":3683},[3684],{"text":3685,"type":3016},"Just like in our demo, the Foxy purchase link can be embedded in the product page body, so customers don’t need to scroll up to look for the purchase link after going through the product details.",{"type":3018,"attrs":3687,"content":3688},{"level":3020},[3689],{"text":3690,"type":3016},"HMAC Product Validation",{"type":3012,"content":3692},[3693,3695,3701],{"text":3694,"type":3016},"You may wonder, “What if my customers know how to change the parameter values in the purchase links? Does that mean they could buy our products for free?” Good question. That’s where ",{"text":3696,"type":3016,"marks":3697},"Foxy’s HMAC Product Validation",[3698],{"type":3032,"attrs":3699},{"href":3700,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Fhmac_validation",{"text":3702,"type":3016}," come into play.",{"type":3012,"content":3704},[3705,3707,3713],{"text":3706,"type":3016},"Details on what HMAC Product Validation is and how it works can be found in our documentation. Basically it prevents the Foxy product links from being tampered by signing them with your Foxy store secret. The store secret value is available from the ",{"text":3708,"type":3016,"marks":3709},"Advanced Settings",[3710],{"type":3032,"attrs":3711},{"href":3712,"title":2824},"https:\u002F\u002Fadmin.foxycart.com\u002Fadmin.php?ThisAction=EditAdvancedFeatures",{"text":3714,"type":3016}," in the Foxy admin.",{"type":3012,"content":3716},[3717,3719,3725],{"text":3718,"type":3016},"To implement this to the Foxy product links, go to the ",{"text":3720,"type":3016,"marks":3721},"sample code",[3722],{"type":3032,"attrs":3723},{"href":3724,"title":2824},"https:\u002F\u002Fadmin.foxycart.com\u002Fadmin.php?ThisAction=SampleCode",{"text":3726,"type":3016}," page in the Foxy admin, copy the HTML below and paste it in the step 2 text box:",{"type":3728,"attrs":3729,"content":3730},"code_block",{"params":2658},[3731],{"text":3732,"type":3016},"\u003Ca href=\"FOXY_PRODUCT_LINK\">\u003C\u002Fa>",{"type":3012,"content":3734},[3735,3737,3741,3743,3747,3749,3752],{"text":3736,"type":3016},"Replace the placeholder ",{"text":3738,"type":3016,"marks":3739},"href",[3740],{"type":3634},{"text":3742,"type":3016}," attribute value ",{"text":3744,"type":3016,"marks":3745},"FOXY_PRODUCT_LINK",[3746],{"type":3634},{"text":3748,"type":3016}," with the actual product link, then click the “Encode HTML” button. Heads up that you must include a ",{"text":3634,"type":3016,"marks":3750},[3751],{"type":3634},{"text":3753,"type":3016}," parameter in the product link.",{"type":3012,"content":3755},[3756,3758,3761,3763,3767],{"text":3757,"type":3016},"Then you can grab the encoded ",{"text":3738,"type":3016,"marks":3759},[3760],{"type":3634},{"text":3762,"type":3016}," attribute value from the encoded output box and put it in your Notion product page. Before testing the signed links, be sure to enable the cart validation option in the ",{"text":3708,"type":3016,"marks":3764},[3765],{"type":3032,"attrs":3766},{"href":3712,"title":2824},{"text":3092,"type":3016},{"type":3012,"content":3769},[3770],{"text":3771,"type":3016},"When you finish setting up the store and are ready to publish the site, click the “Share” button at the top right corner of your Notion shop page and toggle on the “Share to web” option. You can then copy the URL and share it to your customers!",{"type":3012,"content":3773},[3774,3776,3782],{"text":3775,"type":3016},"For what it’s worth, you can ",{"text":3777,"type":3016,"marks":3778},"set a custom URL for your workspace",[3779],{"type":3032,"attrs":3780},{"href":3781,"title":2824},"https:\u002F\u002Fwww.notion.so\u002Fhelp\u002Fworkspace-settings#change-your-workspace's-custom-url",{"text":3783,"type":3016}," so it is more memorable and helps branding.",{"type":3018,"attrs":3785,"content":3786},{"level":3600},[3787],{"text":3788,"type":3016},"Use a store template powered by Notion",{"type":3012,"content":3790},[3791],{"text":3792,"type":3016},"Moving forward, you may still need a complete website at some point, so your store provides a full ecommerce experience for customers (or you just want a more professional site). However, creating a website may seem daunting to non-developers, even with a website builder like Webflow or Squarespace.",{"type":3012,"content":3794},[3795,3797,3803,3805,3810,3812,3818],{"text":3796,"type":3016},"Don’t worry. We’ve got you covered. Thanks to the ",{"text":3798,"type":3016,"marks":3799},"Notion API",[3800],{"type":3032,"attrs":3801},{"href":3802,"title":2824},"https:\u002F\u002Fdevelopers.notion.com\u002F",{"text":3804,"type":3016},", we’re able to build websites powered by Notion databases. And we’ve created a store template for Notion. Check it out: ",{"text":3806,"type":3016,"marks":3807},"https:\u002F\u002Ffoxy-notion.vercel.app\u002F",[3808],{"type":3032,"attrs":3809},{"href":3806,"title":2824},{"text":3811,"type":3016}," (product data sourced from ",{"text":3813,"type":3016,"marks":3814},"this Notion database",[3815],{"type":3032,"attrs":3816},{"href":3817,"title":2824},"https:\u002F\u002Fbustling-naranja-1d1.notion.site\u002F009d7e02dbe8479fb0bbc80458a5eb0d?v=2f6b23ba9e99493da557cf82ac5210bb",{"text":3819,"type":3016},").",{"type":3038,"attrs":3821,"content":3822},{"tight":2700},[3823,3830],{"type":3042,"content":3824},[3825],{"type":3012,"content":3826},[3827],{"type":3607,"attrs":3828},{"alt":2824,"src":3829,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreen-Shot-2022-02-07-at-5.51.31-PM-1024x702.png",{"type":3042,"content":3831},[3832],{"type":3012,"content":3833},[3834],{"type":3607,"attrs":3835},{"alt":2824,"src":3836,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreen-Shot-2022-02-07-at-5.51.42-PM-1024x702.png",{"type":3012,"content":3838},[3839,3841,3847],{"text":3840,"type":3016},"Follow the instructions below to use the template (or you can use the ",{"text":3842,"type":3016,"marks":3843},"quick start guide in our GitHub repository",[3844],{"type":3032,"attrs":3845},{"href":3846,"title":2824},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-notion-example-site#-quick-start",{"text":3819,"type":3016},{"type":3018,"attrs":3849,"content":3850},{"level":3020},[3851],{"text":3852,"type":3016,"marks":3853},"Prerequisites",[3854],{"type":3504},{"type":3012,"content":3856},[3857],{"text":3858,"type":3016},"First of all, there are a few things we’ll need:",{"type":3038,"attrs":3860,"content":3861},{"tight":2700},[3862,3876,3914],{"type":3042,"content":3863},[3864],{"type":3012,"content":3865},[3866,3868,3874],{"text":3867,"type":3016},"If you haven’t yet, ",{"text":3869,"type":3016,"marks":3870},"create a Foxy account",[3871],{"type":3032,"attrs":3872},{"href":3873,"title":2824},"https:\u002F\u002Fadmin.foxycart.com\u002Fsignup\u002F",{"text":3875,"type":3016}," and a Foxy store.",{"type":3042,"content":3877},[3878],{"type":3012,"content":3879},[3880,3882,3887,3889,3890,3892,3896,3898,3902,3904,3907,3909,3912],{"text":3881,"type":3016},"Duplicate ",{"text":3883,"type":3016,"marks":3884},"this Notion product catalog template",[3885],{"type":3032,"attrs":3886},{"href":3817,"title":2824},{"text":3888,"type":3016}," to your Notion workspace. Then add your own products.",{"type":3636},{"text":3891,"type":3016},"Note that there’s an ",{"text":3893,"type":3016,"marks":3894},"Image URL",[3895],{"type":3634},{"text":3897,"type":3016}," and an ",{"text":3899,"type":3016,"marks":3900},"Image",[3901],{"type":3634},{"text":3903,"type":3016}," property. Links to files hosted by Notion will expire, so use the ",{"text":3893,"type":3016,"marks":3905},[3906],{"type":3634},{"text":3908,"type":3016}," property if possible. (You can upload the images to a file hosting service like Dropbox to get a public static URL for each file.) If no ",{"text":3893,"type":3016,"marks":3910},[3911],{"type":3634},{"text":3913,"type":3016}," is provided, it’ll fall back to use the link to the uploaded file.",{"type":3042,"content":3915},[3916],{"type":3012,"content":3917},[3918,3924],{"text":3919,"type":3016,"marks":3920},"A GitHub account",[3921],{"type":3032,"attrs":3922},{"href":3923,"title":2824},"https:\u002F\u002Fgithub.com\u002Fsignup",{"text":3925,"type":3016},", if you don’t have one. It’s for storing the code of the template.",{"type":3018,"attrs":3927,"content":3928},{"level":3020},[3929],{"text":3930,"type":3016},"Create an integration with your Notion database",{"type":3012,"content":3932},[3933],{"text":3934,"type":3016},"The steps below are to connect your Notion database with our template.",{"type":3936,"attrs":3937,"content":3939},"ordered_list",{"order":3938,"tight":2700},1,[3940,3952,3958,3964,3970,3976,3982,3988,3994,4000],{"type":3042,"content":3941},[3942],{"type":3012,"content":3943},[3944,3946,3951],{"text":3945,"type":3016},"Go to ",{"text":3947,"type":3016,"marks":3948},"https:\u002F\u002Fwww.notion.com\u002Fmy-integrations",[3949],{"type":3032,"attrs":3950},{"href":3947,"title":2824},{"text":3092,"type":3016},{"type":3042,"content":3953},[3954],{"type":3012,"content":3955},[3956],{"text":3957,"type":3016},"Click the “+ New integration” button.",{"type":3042,"content":3959},[3960],{"type":3012,"content":3961},[3962],{"text":3963,"type":3016},"Give your integration a name (can be anything).",{"type":3042,"content":3965},[3966],{"type":3012,"content":3967},[3968],{"text":3969,"type":3016},"Select the workspace where the product database exists.",{"type":3042,"content":3971},[3972],{"type":3012,"content":3973},[3974],{"text":3975,"type":3016},"Click the “Submit” button to create the integration.",{"type":3042,"content":3977},[3978],{"type":3012,"content":3979},[3980],{"text":3981,"type":3016},"On the next page, you’ll see an “Internal Integration Token”. Save it in somewhere safe. We’ll need it in a bit.",{"type":3042,"content":3983},[3984],{"type":3012,"content":3985},[3986],{"text":3987,"type":3016},"In the Notion product database, click the “Share” button at the top right corner.",{"type":3042,"content":3989},[3990],{"type":3012,"content":3991},[3992],{"text":3993,"type":3016},"Click “Invite” button, which opens a pop-up window to choose an integration.",{"type":3042,"content":3995},[3996],{"type":3012,"content":3997},[3998],{"text":3999,"type":3016},"Select the integration created in previous steps.",{"type":3042,"content":4001},[4002],{"type":3012,"content":4003},[4004],{"text":4005,"type":3016},"Click the “Invite” button to complete the connection.",{"type":3018,"attrs":4007,"content":4008},{"level":3020},[4009],{"text":4010,"type":3016},"Deploy the website",{"type":3012,"content":4012},[4013,4015,4021,4023,4029],{"text":4014,"type":3016},"We’ll use ",{"text":4016,"type":3016,"marks":4017},"Vercel",[4018],{"type":3032,"attrs":4019},{"href":4020,"title":2824},"https:\u002F\u002Fvercel.com\u002F",{"text":4022,"type":3016}," for hosting the website. Click ",{"text":4024,"type":3016,"marks":4025},"this link",[4026],{"type":3032,"attrs":4027},{"href":4028,"title":2824},"https:\u002F\u002Fvercel.com\u002Fnew\u002Fclone?repository-url=https%3A%2F%2Fgithub.com%2FFoxy%2Ffoxy-notion-example-site&env=NOTION_TOKEN,NOTION_DATABASE_ID,NEXT_PUBLIC_FOXY_SUBDOMAIN",{"text":4030,"type":3016}," to set up the deployment.",{"type":3012,"content":4032},[4033],{"text":4034,"type":3016},"Follow the instructions on the Vercel website. You’ll need to sign into Vercel with your GitHub account to clone our template. In the “Configure Project” section, you’ll need to provide values for the following environment variables:",{"type":3038,"attrs":4036,"content":4037},{"tight":2700},[4038,4048,4069,4098],{"type":3042,"content":4039},[4040],{"type":3012,"content":4041},[4042,4046],{"text":4043,"type":3016,"marks":4044},"NOTION_TOKEN",[4045],{"type":3634},{"text":4047,"type":3016}," – this is the “Internal Integration Token” we got from the Notion integration earlier.",{"type":3042,"content":4049},[4050],{"type":3012,"content":4051},[4052,4056,4058,4062,4064,4068],{"text":4053,"type":3016,"marks":4054},"NOTION_DATABASE_ID",[4055],{"type":3634},{"text":4057,"type":3016}," – this is the part of your product database URL after the workspace name and the slash and before the question mark. For example, your product database URL is ",{"text":4059,"type":3016,"marks":4060},"https:\u002F\u002Fwww.notion.so\u002Fmyworkspace\u002Fa8aec43384f447ed84390e8e42c2e089?v=...",[4061],{"type":3634},{"text":4063,"type":3016},", then the database ID would be ",{"text":4065,"type":3016,"marks":4066},"a8aec43384f447ed84390e8e42c2e089",[4067],{"type":3634},{"text":3092,"type":3016},{"type":3042,"content":4070},[4071],{"type":3012,"content":4072},[4073,4077,4079,4085,4087,4091,4093,4097],{"text":4074,"type":3016,"marks":4075},"NEXT_PUBLIC_FOXY_SUBDOMAIN",[4076],{"type":3634},{"text":4078,"type":3016}," – this is your Foxy store subdomain, which can be found in the Foxy admin ",{"text":4080,"type":3016,"marks":4081},"Dashboard",[4082],{"type":3032,"attrs":4083},{"href":4084,"title":2824},"https:\u002F\u002Fadmin.foxycart.com\u002Fadmin.php",{"text":4086,"type":3016},". For example, your store domain is ",{"text":4088,"type":3016,"marks":4089},"foxy-demo.foxycart.com",[4090],{"type":3634},{"text":4092,"type":3016},", then the subdomain would be ",{"text":4094,"type":3016,"marks":4095},"foxy-demo",[4096],{"type":3634},{"text":3092,"type":3016},{"type":3042,"content":4099},[4100],{"type":3012,"content":4101},[4102,4106,4108,4113,4115,4119],{"text":4103,"type":3016,"marks":4104},"FOXY_STORE_SECRET",[4105],{"type":3634},{"text":4107,"type":3016}," is required only if you want to enable ",{"text":4109,"type":3016,"marks":4110},"Foxy HMAC cart validation",[4111],{"type":3032,"attrs":4112},{"href":3700,"title":2824},{"text":4114,"type":3016},". To get this variable value, go to ",{"text":3708,"type":3016,"marks":4116},[4117],{"type":3032,"attrs":4118},{"href":3712,"title":2824},{"text":4120,"type":3016}," in the Foxy admin. Look for the “store secret” setting, click the “Show” button, and copy the value in the text box. Also, the “would you like to enable cart validation?” option in the same section needs to be checked.",{"type":3012,"content":4122},[4123],{"text":4124,"type":3016},"Finally, click the “Deploy” button. A moment later, you should see the success screen with the URL to your own Foxy + Notion store.",{"type":3018,"attrs":4126,"content":4127},{"level":3020},[4128],{"text":4129,"type":3016},"Bring it further",{"type":3012,"content":4131},[4132,4134,4140],{"text":4133,"type":3016},"Hey developers! Interested in a deep dive in the code? We have a step-by-step guide on a similar stack — ",{"text":4135,"type":3016,"marks":4136},"Build a JAMstack Ecommerce Website with Next.js, Contentful, and Foxy",[4137],{"type":3032,"attrs":4138},{"href":4139,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fbuild-a-jamstack-ecommerce-website-with-next-js-contentful-and-foxy\u002F",{"text":4141,"type":3016},". The only difference is the source of products (Contentful vs Notion). Feel free to clone the repository of this template and customize it or add more functionality. For example:",{"type":3038,"attrs":4143,"content":4144},{"tight":2700},[4145,4157,4170],{"type":3042,"content":4146},[4147],{"type":3012,"content":4148},[4149,4151,4155],{"text":4150,"type":3016},"Add more pages. Next.js has a file-system based router, so each file added in the ",{"text":4152,"type":3016,"marks":4153},"pages",[4154],{"type":3634},{"text":4156,"type":3016}," folder automatically becomes a route.",{"type":3042,"content":4158},[4159],{"type":3012,"content":4160},[4161,4163,4169],{"text":4162,"type":3016},"Customize the styles. This template is styled with ",{"text":4164,"type":3016,"marks":4165},"Tailwind CSS",[4166],{"type":3032,"attrs":4167},{"href":4168,"title":2824},"https:\u002F\u002Ftailwindcss.com\u002F",{"text":3092,"type":3016},{"type":3042,"content":4171},[4172],{"type":3012,"content":4173},[4174,4176,4180],{"text":4175,"type":3016},"Build a serverless function that automatically updates the inventory in the Notion database after an order is placed via Foxy. It can be an API route in the ",{"text":4177,"type":3016,"marks":4178},"pages\u002Fapi",[4179],{"type":3634},{"text":4181,"type":3016}," folder in Next.js, or a Netlify Function, or a Cloudflare Worker.",{"type":4183},"horizontal_rule",{"type":3012,"content":4185},[4186],{"text":4187,"type":3016},"Creating an ecommerce website is rarely easy, but with something like Notion powering the product database, and Vercel for building a static site, this is an option that might make sense in certain situations. With Foxy, it doesn’t matter how you build your site; Foxy can handle the cart and checkout even from within Notion 🙂",{"type":3012,"content":4189},[4190],{"text":4191,"type":3016},"Hopefully our guide helps you generate your first sale in the ecommerce world!",{"type":3009,"content":4193},[4194],{"type":3012,"content":4195},[4196],{"text":4197,"type":3016},"Step-by-step instructions and examples for launching an online store with Foxy + Notion.",{"id":4199,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":4200,"copyright":2658,"fieldtype":2660,"meta_data":4201,"is_external_url":2700},57773,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fd743ef6c5c\u002Fnotion.jpg",{},[4203],{"name":2847,"created_at":3438,"published_at":3318,"updated_at":3439,"id":3440,"uuid":1801,"content":4204,"slug":3444,"full_slug":2846,"sort_by_date":2824,"position":3330,"tag_list":4205,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3446,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":4206,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3442,"name":2847,"component":3307,"description":3443},[],[],"create-an-online-store-with-notion-and-foxy","blog\u002Fposts\u002Fcreate-an-online-store-with-notion-and-foxy",310,[],"9b78e42f-6d15-4d9c-8198-bb5cfa216138","2022-02-14T16:47:11.000Z",[],{"name":4215,"created_at":4216,"published_at":4217,"updated_at":4218,"id":4219,"uuid":1903,"content":4220,"slug":4407,"full_slug":4408,"sort_by_date":2824,"position":3310,"tag_list":4409,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":4410,"first_published_at":4411,"release_id":2824,"lang":2830,"path":2824,"alternates":4412,"default_full_slug":2824,"translated_slugs":2824},"2021 In Review","2023-03-24T17:10:32.078Z","2024-11-07T20:48:44.435Z","2024-11-07T20:48:44.458Z",64369,{"_uid":4221,"tags":2658,"title":4215,"content":4222,"summary":4392,"component":2954,"thumbnail":4398,"categories":4402},"4f5d2196-beed-4d7d-a786-1d5993f62f96",{"type":3009,"content":4223},[4224,4228,4233,4245,4250,4261,4266,4270,4275,4284,4289,4299,4304,4314,4319,4329,4334,4344,4349,4359,4364,4374,4379,4383],{"type":3012,"content":4225},[4226],{"text":4227,"type":3016},"Well, here we are again at the end of another year. It’s hard to believe 2021 is over. Time definitely flew by, but the Foxy team still accomplished a lot. Let’s take a moment to review what happened in 2021.",{"type":3018,"attrs":4229,"content":4230},{"level":3020},[4231],{"text":4232,"type":3016},"New Foxy Dashboard (Sneak Peek)",{"type":3012,"content":4234},[4235,4237,4243],{"text":4236,"type":3016},"Though it’s not ready for public use yet, we’ve made a ton of progress on the new Foxy dashboard and are already using it internally. Check out ",{"text":4238,"type":3016,"marks":4239},"this video",[4240],{"type":3032,"attrs":4241},{"href":4242,"title":2824},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Zb2irp4nhCE",{"text":4244,"type":3016}," for a sneak peak. Phase 1 of the new dashboard will be available for Foxy users some time in Q1.",{"type":3018,"attrs":4246,"content":4247},{"level":3020},[4248],{"text":4249,"type":3016},"Customer Portal Improvements",{"type":3012,"content":4251},[4252,4254,4259],{"text":4253,"type":3016},"Lots of improvements made to the customer portal: new UI, faster loading, and more. Check out our latest demo ",{"text":3029,"type":3016,"marks":4255},[4256],{"type":3032,"attrs":4257},{"href":4258,"title":2824},"https:\u002F\u002Ffoxy-customer-portal.webflow.io\u002F",{"text":4260,"type":3016}," to see for yourself.",{"type":3018,"attrs":4262,"content":4263},{"level":3020},[4264],{"text":4265,"type":3016},"Digital Gift Cards (Coming 2022)",{"type":3012,"content":4267},[4268],{"text":4269,"type":3016},"An exciting new feature we’ve been quietly working on is digital gift cards. Customers will be able to input a gift card number at checkout to pay for their order. Remaining balances will be maintained. Eventually, this will tie into our customer portal wallet section. Keep an eye out for more info in 2022.",{"type":3018,"attrs":4271,"content":4272},{"level":3020},[4273],{"text":4274,"type":3016},"Integromat Integration",{"type":3012,"content":4276},[4277,4279,4283],{"text":4278,"type":3016},"We put together a step-by-step article, that will walk you through integrating Foxy with Integromat. Now you can connect Foxy customer\u002Forder info to thousands of apps. In addition, you can connect Integromat to the Foxy API to create even more powerful actions. Learn more ",{"text":3029,"type":3016,"marks":4280},[4281],{"type":3032,"attrs":4282},{"href":3398,"title":2824},{"text":3092,"type":3016},{"type":3018,"attrs":4285,"content":4286},{"level":3020},[4287],{"text":4288,"type":3016},"Coinbase Commerce Integration",{"type":3012,"content":4290},[4291,4293,4298],{"text":4292,"type":3016},"Now you can quickly and easily start accepting Bitcoin, Bitcoin Cash, Ether (Ethereum), Litecoin, and USD Coin with your Foxy store in any website. Read announcement ",{"text":3029,"type":3016,"marks":4294},[4295],{"type":3032,"attrs":4296},{"href":4297,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fcoinbase-commerce-support-for-foxy\u002F",{"text":3092,"type":3016},{"type":3018,"attrs":4300,"content":4301},{"level":3020},[4302],{"text":4303,"type":3016},"Xendit Integration",{"type":3012,"content":4305},[4306,4308,4313],{"text":4307,"type":3016},"Foxy users in Indonesia and the Philippines now can accept payments via credit\u002Fdebit cards, e-Wallets, bank transfers, and more. Learn how to connect your Foxy store to Xendit ",{"text":3029,"type":3016,"marks":4309},[4310],{"type":3032,"attrs":4311},{"href":4312,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fgateways\u002Fxendit",{"text":3092,"type":3016},{"type":3018,"attrs":4315,"content":4316},{"level":3020},[4317],{"text":4318,"type":3016},"Pay360 Integration",{"type":3012,"content":4320},[4321,4323,4328],{"text":4322,"type":3016},"Now you can accept card payments with Pay360, a leading payment solutions company with over 18 years of experience in the payments industry. Learn more ",{"text":3029,"type":3016,"marks":4324},[4325],{"type":3032,"attrs":4326},{"href":4327,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fgateways\u002Fpay360",{"text":3092,"type":3016},{"type":3018,"attrs":4330,"content":4331},{"level":3020},[4332],{"text":4333,"type":3016},"Viva Wallet Integration",{"type":3012,"content":4335},[4336,4338,4343],{"text":4337,"type":3016},"Foxy users selling CBD related products now have more ways to accept payments with our new Viva Wallet integration. Learn more ",{"text":3029,"type":3016,"marks":4339},[4340],{"type":3032,"attrs":4341},{"href":4342,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fgateways\u002Fvivawallet",{"text":3092,"type":3016},{"type":3018,"attrs":4345,"content":4346},{"level":3020},[4347],{"text":4348,"type":3016},"Custom Tax Endpoint",{"type":3012,"content":4350},[4351,4353,4358],{"text":4352,"type":3016},"Have custom tax needs? Need more flexibility when applying sales taxes to your Foxy-powered transactions? Look no further with our custom tax endpoint functionality. Learn more ",{"text":3029,"type":3016,"marks":4354},[4355],{"type":3032,"attrs":4356},{"href":4357,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Ftaxes#custom_tax_endpoint",{"text":3092,"type":3016},{"type":3018,"attrs":4360,"content":4361},{"level":3020},[4362],{"text":4363,"type":3016},"Klarna Integration (North American Merchants)",{"type":3012,"content":4365},[4366,4368,4373],{"text":4367,"type":3016},"Our Klarna integration now supports merchants in North America. Learn more ",{"text":3029,"type":3016,"marks":4369},[4370],{"type":3032,"attrs":4371},{"href":4372,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fgateways\u002Fklarna",{"text":3092,"type":3016},{"type":3018,"attrs":4375,"content":4376},{"level":3020},[4377],{"text":4378,"type":3016},"Romanian Language Translation",{"type":3012,"content":4380},[4381],{"text":4382,"type":3016},"You can now translate your Foxy templates into Romanian.",{"type":3012,"content":4384},[4385,4387,4391],{"text":4386,"type":3016},"As always, thank you to our users. Without your support and feedback, Foxy wouldn’t be able to keep offering the best ecommerce experience possible. If you need anything at all, please don’t hesitate to ",{"text":3279,"type":3016,"marks":4388},[4389],{"type":3032,"attrs":4390},{"href":3283,"title":2824},{"text":3092,"type":3016},{"type":3009,"content":4393},[4394],{"type":3012,"content":4395},[4396],{"text":4397,"type":3016},"Here’s a look at what the Foxy team accomplished in 2021.",{"id":4399,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":4400,"copyright":2658,"fieldtype":2660,"meta_data":4401,"is_external_url":2700},57749,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002F2306c6ce53\u002F2021.jpg",{},[4403],{"name":2871,"created_at":3301,"published_at":3302,"updated_at":3303,"id":3304,"uuid":1798,"content":4404,"slug":3309,"full_slug":2870,"sort_by_date":2824,"position":3310,"tag_list":4405,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3313,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":4406,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3306,"name":2871,"component":3307,"description":3308},[],[],"2021-in-review","blog\u002Fposts\u002F2021-in-review",[],"006e1f44-918d-4ef1-b2ec-74d1c1192177","2021-12-31T17:26:08.000Z",[],{"name":4414,"created_at":4415,"published_at":4416,"updated_at":4417,"id":4418,"uuid":1963,"content":4419,"slug":4620,"full_slug":4621,"sort_by_date":2824,"position":4622,"tag_list":4623,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":4624,"first_published_at":4625,"release_id":2824,"lang":2830,"path":2824,"alternates":4626,"default_full_slug":2824,"translated_slugs":2824},"Coinbase Commerce support for Foxy","2023-03-24T17:10:32.814Z","2024-11-07T20:48:56.464Z","2024-11-07T20:48:56.480Z",64370,{"_uid":4420,"tags":2658,"title":4414,"content":4421,"summary":4605,"component":2954,"thumbnail":4611,"categories":4615},"3e9288d4-f37c-4f78-9194-affbbf9af013",{"type":3009,"content":4422},[4423,4427,4439,4457,4462,4478,4502,4559,4563,4567,4591,4601],{"type":3012,"content":4424},[4425],{"text":4426,"type":3016},"Are you a merchant keen to accept cryptocurrency because you’re hearing so much about it? Want somebody to pay you $100 today that could be worth $200 tomorrow?",{"type":3012,"content":4428},[4429,4431,4437],{"text":4430,"type":3016},"We can’t blame you, and we now support ",{"text":4432,"type":3016,"marks":4433},"Coinbase Commerce",[4434],{"type":3032,"attrs":4435},{"href":4436,"title":2824},"https:\u002F\u002Fcommerce.coinbase.com\u002F?lang=en",{"text":4438,"type":3016}," in Foxy, so you can quickly and easily start accepting Bitcoin, Bitcoin Cash, Ether (Ethereum), Litecoin, and USD Coin. And, because it’s via Foxy, you can easily add crypto to whatever website you have, be it built with Webflow, Wix, whatever site builders GoDaddy’s currently rolling, Squarespace, your favorite static site generator or self-hosted or headless CMSs, or something custom.",{"type":3012,"content":4440},[4441,4443,4449,4451,4455],{"text":4442,"type":3016},"We’ve supported crypto through integrations with both Coinbase and ",{"text":4444,"type":3016,"marks":4445},"BitPay",[4446],{"type":3032,"attrs":4447},{"href":4448,"title":2824},"https:\u002F\u002Fbitpay.com\u002F",{"text":4450,"type":3016}," since ",{"text":4452,"type":3016,"marks":4453},"2013",[4454],{"type":3579},{"text":4456,"type":3016},", but Coinbase Commerce now becomes our main supported crypto option. That said…",{"type":3018,"attrs":4458,"content":4459},{"level":3600},[4460],{"text":4461,"type":3016},"Will your customers actually use crypto to pay you?",{"type":3012,"content":4463},[4464,4466,4470,4472,4476],{"text":4465,"type":3016},"In our experience… No. No they won’t. Most people who ",{"text":4467,"type":3016,"marks":4468},"have",[4469],{"type":3579},{"text":4471,"type":3016}," crypto ",{"text":4473,"type":3016,"marks":4474},"HODL",[4475],{"type":3579},{"text":4477,"type":3016}," their crypto. (“Hodl” being slang for “holding”, ie. not actually spending it.)",{"type":3012,"content":4479},[4480,4482,4486,4488,4492,4494,4500],{"text":4481,"type":3016},"There are certainly exceptions, such as selling highly privacy-related products or services (or certain high-risk products where you simply ",{"text":4483,"type":3016,"marks":4484},"can’t",[4485],{"type":3579},{"text":4487,"type":3016}," get another payment method working; or you simply ",{"text":4489,"type":3016,"marks":4490},"must",[4491],{"type":3579},{"text":4493,"type":3016}," eliminate your chargeback risk and ",{"text":4495,"type":3016,"marks":4496},"3D Secure v2",[4497],{"type":3032,"attrs":4498},{"href":4499,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fpsd2-and-strong-customer-authentication\u002F",{"text":4501,"type":3016}," or other anti-fraud solutions won’t work). But because we’ve supported crypto for so many years, and we’ve seen a few spikes in price (and corresponding public interest) in crypto, we feel fairly confident in our current assessment that…",{"type":3038,"attrs":4503,"content":4504},{"tight":2700},[4505,4511,4523,4547,4553],{"type":3042,"content":4506},[4507],{"type":3012,"content":4508},[4509],{"text":4510,"type":3016},"Crypto’s reasonably difficult to actually get in the first place. Difficult enough with most country’s KYC (know your customer) requirements that the privacy-related benefits disappear for all but the most savvy of customers. There are more tech companies (like PayPal) trying to make it super easy to buy crypto, but…",{"type":3042,"content":4512},[4513],{"type":3012,"content":4514},[4515,4517,4521],{"text":4516,"type":3016},"People who buy crypto almost never are looking to then ",{"text":4518,"type":3016,"marks":4519},"spend",[4520],{"type":3579},{"text":4522,"type":3016}," that crypto. Merchants want it because it’ll go up in value! But that’s the exact same reason basically nobody spends it if they can spend inflationary cash instead.",{"type":3042,"content":4524},[4525],{"type":3012,"content":4526},[4527,4529,4533,4535,4539,4541,4545],{"text":4528,"type":3016},"Even for currencies that ",{"text":4530,"type":3016,"marks":4531},"aren’t",[4532],{"type":3579},{"text":4534,"type":3016}," volatile, like USD Coin, the transaction fees for most currencies are pretty silly. USD Coin is on the Ethereum blockchain, so you’re looking at an average fee of over $5 at time of writing. We think credit card fees are generally ",{"text":4536,"type":3016,"marks":4537},"WAY",[4538],{"type":3579},{"text":4540,"type":3016}," too high, but for most transactions, they’ll still be lower than crypto fees. (In fairness, Litecoin’s transaction fees and speed of receiving funds are currently ",{"text":4542,"type":3016,"marks":4543},"AWESOME",[4544],{"type":3579},{"text":4546,"type":3016},", but does anybody care about Litecoin? Nobody we’ve ever talked to.)",{"type":3042,"content":4548},[4549],{"type":3012,"content":4550},[4551],{"text":4552,"type":3016},"Business accounting with crypto (if you HODL instead of just immediately converting to fiat) isn’t fun. How many businesses want more accounting headaches?",{"type":3042,"content":4554},[4555],{"type":3012,"content":4556},[4557],{"text":4558,"type":3016},"There’s significant and not-unfounded concern about crypto’s massive energy consumption. Yes, we know there are counter-arguments, and yes, we know some blockchains aren’t proof-of-work, and yes, we know Ethereum’s working on it. But given all the above… well…",{"type":3012,"content":4560},[4561],{"text":4562,"type":3016},"Not very enthusiastic for a new feature announcement, we know 🙂",{"type":3012,"content":4564},[4565],{"text":4566,"type":3016},"We think blockchain technology is a really interesting solution searching for a problem. But it seems unlikely that “currency” is the problem in need of solving.",{"type":3012,"content":4568},[4569,4571,4575,4577,4583,4585,4589],{"text":4570,"type":3016},"Might crypto eventually be widely used for normal day-to-day transactions? Anything’s possible, but we don’t see it. It’d be ",{"text":4572,"type":3016,"marks":4573},"wonderful",[4574],{"type":3579},{"text":4576,"type":3016}," to see some competition in the payments space that break away from credit cards. But ",{"text":4578,"type":3016,"marks":4579},"government-issued fiat currencies is also a legitimately fascinating and hugely useful “technology”",[4580],{"type":3032,"attrs":4581},{"href":4582,"title":2824},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=-nZkP2b-4vo&list=PLhyKYa0YJ_5CL-krstYn532QY1Ayo27s1",{"text":4584,"type":3016},", and many countries have pretty solid national bank transfer systems already in place, that are just getting better and easier to use. (ACH in the US isn’t great, but debit cards in the US have ",{"text":4586,"type":3016,"marks":4587},"very",[4588],{"type":3579},{"text":4590,"type":3016}," low fees. Throw in 3D Secure v2 and you’ve got immediate payments with basically no fraud risk to the merchant.)",{"type":3012,"content":4592},[4593,4595,4599],{"text":4594,"type":3016},"All that said: If you definitely want to accept crypto, Coinbase Commerce is likely the easiest option. Just go into it knowing you probably won’t actually get many people ",{"text":4596,"type":3016,"marks":4597},"paying",[4598],{"type":3579},{"text":4600,"type":3016}," you in crypto. And probably put aside some of your profit to donate to a reputable organization that’s working to offset the impact on the environment.",{"type":3012,"content":4602},[4603],{"text":4604,"type":3016},"Thus ends our least enthusiastic feature announcement ever! 🙂",{"type":3009,"content":4606},[4607],{"type":3012,"content":4608},[4609],{"text":4610,"type":3016},"Quickly and easily start accepting Bitcoin, Bitcoin Cash, Ether (Ethereum), Litecoin, and USD Coin.",{"id":4612,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":4613,"copyright":2658,"fieldtype":2660,"meta_data":4614,"is_external_url":2700},57732,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002F0100e5abaf\u002Fcoinbase-commerce.jpg",{},[4616],{"name":2736,"created_at":3317,"published_at":3318,"updated_at":3319,"id":3320,"uuid":1807,"content":4617,"slug":3324,"full_slug":2735,"sort_by_date":2824,"position":2962,"tag_list":4618,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3326,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":4619,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3322,"name":2736,"component":3307,"description":3323},[],[],"coinbase-commerce-support-for-foxy","blog\u002Fposts\u002Fcoinbase-commerce-support-for-foxy",230,[],"31634fc3-c3ba-4f8b-9715-604d58360369","2021-12-03T13:40:31.000Z",[],{"name":4628,"created_at":4629,"published_at":4630,"updated_at":4631,"id":4632,"uuid":1996,"content":4633,"slug":4768,"full_slug":4769,"sort_by_date":2824,"position":4770,"tag_list":4771,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":4772,"first_published_at":4773,"release_id":2824,"lang":2830,"path":2824,"alternates":4774,"default_full_slug":2824,"translated_slugs":2824},"Custom Tax Calculations for Foxy via a Quick & Easy Netlify Serverless App","2023-03-24T17:10:33.544Z","2024-11-07T20:49:31.718Z","2024-11-07T20:49:31.739Z",64371,{"_uid":4634,"tags":2658,"title":4628,"content":4635,"summary":4749,"component":2954,"thumbnail":4755,"categories":4759},"a0ae85f0-126d-40e9-9c17-c4885720da4e",{"type":3009,"content":4636},[4637,4641,4660,4665,4697,4701,4705,4710,4729],{"type":3012,"content":4638},[4639],{"text":4640,"type":3016},"Have you ever thought, “What I really need for e-commerce bliss is the ability to do super custom tax logic”? Do you wake up in a cold sweat worrying about your unique tax rules?",{"type":3012,"content":4642},[4643,4645,4650,4652,4658],{"text":4644,"type":3016},"We don’t, thankfully, but if that’s you, we have good news! Earlier this year we added the ability to ",{"text":4646,"type":3016,"marks":4647},"configure a custom tax calculation endpoint",[4648],{"type":3032,"attrs":4649},{"href":4357,"title":2824},{"text":4651,"type":3016}," for your Foxy store. It’s similar to the ",{"text":4653,"type":3016,"marks":4654},"custom shipping endpoint",[4655],{"type":3032,"attrs":4656},{"href":4657,"title":2824},"https:\u002F\u002Fwiki.foxycart.com\u002Fv\u002F2.0\u002Fshipping#custom_shipping_endpoint",{"text":4659,"type":3016},", and allows effectively unlimited flexibility as it relates to applying sales taxes to your Foxy-powered transactions.",{"type":3018,"attrs":4661,"content":4662},{"level":3600},[4663],{"text":4664,"type":3016},"Why would you need a custom tax endpoint?",{"type":3012,"content":4666},[4667,4669,4675,4676,4682,4683,4689,4691,4695],{"text":4668,"type":3016},"Good question. Though Foxy supports ",{"text":4670,"type":3016,"marks":4671},"Avalara’s AvaTax",[4672],{"type":3032,"attrs":4673},{"href":4674,"title":2824},"https:\u002F\u002Fwww.avalara.com\u002Fus\u002Fen\u002Fproducts\u002Fintegrations\u002Ffoxycart.html?partnersource=0014000000K0OfL&CampaignID=7010b000001Xxdz&lsmr=Direct%20Partner%20Referral&lso=Direct%20Partner%20Referral",{"text":3392,"type":3016},{"text":4677,"type":3016,"marks":4678},"TaxJar",[4679],{"type":3032,"attrs":4680},{"href":4681,"title":2824},"https:\u002F\u002Ftaxjar.grsm.io\u002Ffoxy5141",{"text":3392,"type":3016},{"text":4684,"type":3016,"marks":4685},"ONESOURCE Indirect",[4686],{"type":3032,"attrs":4687},{"href":4688,"title":2824},"https:\u002F\u002Ftax.thomsonreuters.com\u002Fen\u002Fonesource",{"text":4690,"type":3016}," (on our Enterprise Plan), as well as built-in rates (for the US, Canada, and the EU) ",{"text":4692,"type":3016,"marks":4693},"and",[4694],{"type":3579},{"text":4696,"type":3016}," the ability to set static rates for countries and states\u002Fprovinces, sometimes those just aren’t sufficient. Perhaps you have tax rates in your ERP that you need to use, or perhaps you’re selling something that has extremely specific tax rates or thresholds.",{"type":3012,"content":4698},[4699],{"text":4700,"type":3016},"We’ve also helped larger enterprises who have their own tax functionality and can’t easily expose it externally, but that can build their own middleware to interact with Foxy.",{"type":3012,"content":4702},[4703],{"text":4704,"type":3016},"Not the most common use cases, granted, but when you need it, there’s really no alternative. And now you’ve got it!",{"type":3018,"attrs":4706,"content":4707},{"level":3600},[4708],{"text":4709,"type":3016},"Deploy a serverless custom tax endpoint on Netlify",{"type":3012,"content":4711},[4712,4714,4719,4721,4727],{"text":4713,"type":3016},"Because we’re big, big fans of all things serverless, we did up a little starter script as part of our “Netlify E-Commerce Starter Scripts” available at ",{"text":4715,"type":3016,"marks":4716},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-node-netlify-functions",[4717],{"type":3032,"attrs":4718},{"href":4715,"title":2824},{"text":4720,"type":3016},". That repo now includes a ",{"text":4722,"type":3016,"marks":4723},"custom tax endpoint",[4724],{"type":3032,"attrs":4725},{"href":4726,"title":2824},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-node-netlify-functions\u002Ftree\u002Fmain\u002Fsrc\u002Ffunctions\u002Fcustom-tax-endpoint",{"text":4728,"type":3016}," serverless function, which can be extended to query whatever 3rd party services you might need.",{"type":3012,"content":4730},[4731,4733,4739,4741,4747],{"text":4732,"type":3016},"If you haven’t played with ",{"text":4734,"type":3016,"marks":4735},"Netlify",[4736],{"type":3032,"attrs":4737},{"href":4738,"title":2824},"https:\u002F\u002Fnetlify.com\u002F",{"text":4740,"type":3016},", it’s a fantastically easy (and typically free) way to get started with serverless functions (and works for static site generators and many other things as well). If you use hosted website builders like Webflow, Wix, Squarespace, or if you do static sites, but you need some dynamic serverside functionality, Netlify’s Functions are about 1000x easier to deploy than AWS Lambda (even with the wonderful ",{"text":4742,"type":3016,"marks":4743},"Serverless.com framework",[4744],{"type":3032,"attrs":4745},{"href":4746,"title":2824},"https:\u002F\u002Fwww.serverless.com\u002F",{"text":4748,"type":3016},") or Cloudflare Workers are, and our hope is that our starter repo will help you experience the wonderful world of serverless functions 🙂",{"type":3009,"content":4750},[4751],{"type":3012,"content":4752},[4753],{"text":4754,"type":3016},"Configure a custom tax endpoint for unlimited sales tax flexibility.",{"id":4756,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":4757,"copyright":2658,"fieldtype":2660,"meta_data":4758,"is_external_url":2700},57757,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fb9958b27b4\u002Fcalculator.jpg",{},[4760,4764],{"name":2847,"created_at":3438,"published_at":3318,"updated_at":3439,"id":3440,"uuid":1801,"content":4761,"slug":3444,"full_slug":2846,"sort_by_date":2824,"position":3330,"tag_list":4762,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3446,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":4763,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3442,"name":2847,"component":3307,"description":3443},[],[],{"name":2736,"created_at":3317,"published_at":3318,"updated_at":3319,"id":3320,"uuid":1807,"content":4765,"slug":3324,"full_slug":2735,"sort_by_date":2824,"position":2962,"tag_list":4766,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3326,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":4767,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3322,"name":2736,"component":3307,"description":3323},[],[],"custom-tax-calculations-for-foxy-via-a-quick-easy-netlify-serverless-app","blog\u002Fposts\u002Fcustom-tax-calculations-for-foxy-via-a-quick-easy-netlify-serverless-app",340,[],"fab4989b-814d-4c2a-8989-81e8f2d6c14f","2021-11-18T10:45:21.000Z",[],{"name":4776,"created_at":4777,"published_at":4778,"updated_at":4779,"id":4780,"uuid":1960,"content":4781,"slug":5481,"full_slug":5482,"sort_by_date":2824,"position":5483,"tag_list":5484,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":5485,"first_published_at":5486,"release_id":2824,"lang":2830,"path":2824,"alternates":5487,"default_full_slug":2824,"translated_slugs":2824},"CloudFront vs Cloudflare, and how to reduce response times for both by ~35%+","2023-03-24T17:10:34.398Z","2024-12-10T19:12:33.784Z","2024-12-10T19:12:33.812Z",64372,{"_uid":4782,"tags":2658,"title":4776,"content":4783,"summary":5453,"component":2954,"thumbnail":5459,"categories":5463},"9fbfea68-1907-4b78-92a2-1bf9d23387a2",{"type":3009,"content":4784},[4785,4801,4822,4823,4827,4831,4835,4840,4866,4872,4877,4881,4897,4912,4916,4920,4931,4943,4947,4959,4963,4972,4979,4983,4987,4996,5000,5010,5014,5018,5025,5035,5039,5044,5054,5088,5092,5099,5111,5120,5130,5140,5145,5149,5181,5186,5190,5191,5197,5201,5205,5212,5216,5221,5244,5251,5263,5267,5272,5276,5440,5445,5449],{"type":3012,"content":4786},[4787,4791,4793,4800],{"text":4788,"type":3016,"marks":4789},"PREFACE:",[4790],{"type":3504},{"text":4792,"type":3016}," We like to provide a bit of background on our blog posts, but if you want, you can skip ahead to the ",{"text":4794,"type":3016,"marks":4795},"CloudFront v. Cloudflare response times",[4796],{"type":3032,"attrs":4797},{"href":4798,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"#cloudfront_vs_cloudflare","_self",{"text":3092,"type":3016},{"type":3012,"content":4802},[4803,4805,4809,4811,4815,4817,4821],{"text":4804,"type":3016},"💡 Also, important to note: For the purposes of this post, we’re ",{"text":4806,"type":3016,"marks":4807},"only",[4808],{"type":3579},{"text":4810,"type":3016}," talking about our ",{"text":4812,"type":3016,"marks":4813},"API",[4814],{"type":3504},{"text":4816,"type":3016},", which is ",{"text":4818,"type":3016,"marks":4819},"entirely non-cacheable",[4820],{"type":3579},{"text":3092,"type":3016},{"type":4183},{"type":3012,"content":4824},[4825],{"text":4826,"type":3016},"As a “mature” SaaS that went live in 2007, we’ve been around long enough to have used a variety of services over the past decade and a half. Over the years, we’ve gone from a single manually-configured bare metal server to a nice and tidy, Terraform-managed AWS infrastructure with all the fixin’s. We’ve added additional programming languages, serverless systems, micro-services, and more. We’ve seen SSL certs go from costly luxury items to automatically and freely provisioned.",{"type":3012,"content":4828},[4829],{"text":4830,"type":3016},"Oh, and remember IE6? Because we do! (Or at least those of us that have at least a few gray hairs, some of which surely were caused by IE6.)",{"type":3012,"content":4832},[4833],{"text":4834,"type":3016},"So much progress, both for us at Foxy, and for the internet at large. Truly amazing stuff.",{"type":3018,"attrs":4836,"content":4837},{"level":3600},[4838],{"text":4839,"type":3016},"CloudFront & Illusions of Perfection",{"type":3012,"content":4841},[4842,4844,4850,4852,4858,4860,4864],{"text":4843,"type":3016},"But with all that change, it’s sometimes easy to think we’ve arrived at the ultimate solution. In our case, we’ve felt that way about ",{"text":4845,"type":3016,"marks":4846},"Route53",[4847],{"type":3032,"attrs":4848},{"href":4849,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Faws.amazon.com\u002Froute53\u002F",{"text":4851,"type":3016}," (AWS’s DNS) and ",{"text":4853,"type":3016,"marks":4854},"CloudFront",[4855],{"type":3032,"attrs":4856},{"href":4857,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Faws.amazon.com\u002Fcloudfront\u002F",{"text":4859,"type":3016}," (AWS’s CDN). Route53 works well and is nice and easy to automate via Terraform and CloudFormation. CloudFront gets us a fantastically powerful and fast CDN to serve traffic globally. Yes, other CDNs exist, but why bother? Surely nobody could really do ",{"text":4861,"type":3016,"marks":4862},"that",[4863],{"type":3579},{"text":4865,"type":3016}," much better than AWS, with its near-unlimited resources, right?",{"type":3012,"content":4867},[4868],{"text":4869,"type":3016,"marks":4870},"Well…",[4871],{"type":3579},{"type":3018,"attrs":4873,"content":4874},{"level":3600},[4875],{"text":4876,"type":3016},"Cracks in the Façade",{"type":3012,"content":4878},[4879],{"text":4880,"type":3016},"A few months ago we started working with a company operating in Singapore and Hong Kong that’s using Foxy to expand their online services in the grocery and restaurant industries. Foxy was a perfect fit, but they were finding our API far too slow to meet their needs.",{"type":3012,"content":4882},[4883,4885,4889,4891,4895],{"text":4884,"type":3016},"Which was weird, because when we moved to CloudFront a number of years ago, we tested response times from locations around the world, and our testing showed CloudFront absolutely ",{"text":4886,"type":3016,"marks":4887},"destroying",[4888],{"type":3579},{"text":4890,"type":3016}," the other options in Asia-Pacific. So we figured CloudFront -> load balancers in us-east-1 was as good as things could get. Surely local traffic to any CloudFront PoP (Point of Presence) should have ",{"text":4892,"type":3016,"marks":4893},"the fastest possible",[4894],{"type":3579},{"text":4896,"type":3016}," traffic to servers in AWS US-East-1. Yes?",{"type":3012,"content":4898},[4899,4901,4905,4907,4911],{"text":4900,"type":3016},"Apparently not. Our user was indeed seeing ",{"text":4902,"type":3016,"marks":4903},"really",[4904],{"type":3579},{"text":4906,"type":3016}," slow API responses from Singapore. Well over a second, at the fastest. Definitely ",{"text":4908,"type":3016,"marks":4909},"too slow",[4910],{"type":3579},{"text":3092,"type":3016},{"type":3012,"content":4913},[4914],{"text":4915,"type":3016},"Since we’ve recently fallen in love with Terraform, and since Cloudflare could be added to our Terraform setup, we figured it testing our Cloudflare was worth a shot. Our previous concerns with mixing cloud providers primarily had to do with difficulties keeping things fully automated, but Terraform is a game changer in that regard.",{"type":3012,"content":4917},[4918],{"text":4919,"type":3016},"So an hour or two later, we had Cloudflare added to a dev environment provisioned by Terraform, duplicating our Route53 DNS and sending traffic to our load balancer in us-east-1.",{"type":3018,"attrs":4921,"content":4922},{"level":3600},[4923,4925,4929],{"text":4924,"type":3016},"First Impressions: Cloudflare is ",{"text":4926,"type":3016,"marks":4927},"REALLY",[4928],{"type":3579},{"text":4930,"type":3016}," Impressive",{"type":3012,"content":4932},[4933,4935,4941],{"text":4934,"type":3016},"First we’ll outline how we tested. We used ",{"text":4936,"type":3016,"marks":4937},"Zoho’s Site24x7",[4938],{"type":3032,"attrs":4939},{"href":4940,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Fwww.site24x7.com\u002F",{"text":4942,"type":3016}," to set up some basic monitors that made GET requests to our API, which has no caching, and responds with JSON. Good enough for our purposes.",{"type":3012,"content":4944},[4945],{"text":4946,"type":3016},"What we’re calling “CloudFront” is CloudFront -> ALB (Application Load Balancer) in us-east-1 -> ECS Fargate. What we’re calling “Cloudflare” is Cloudflare -> ALB -> ECS Fargate.",{"type":3012,"content":4948},[4949,4951,4957],{"text":4950,"type":3016},"For our initial testing, we enabled ",{"text":4952,"type":3016,"marks":4953},"Cloudflare’s Argo Smart Routing",[4954],{"type":3032,"attrs":4955},{"href":4956,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Fwww.cloudflare.com\u002Fproducts\u002Fargo-smart-routing\u002F",{"text":4958,"type":3016},", thinking that’d be a fair fight.",{"type":3012,"content":4960},[4961],{"text":4962,"type":3016},"It was not.",{"type":3012,"content":4964},[4965,4967,4970],{"text":4966,"type":3016},"So what did our tests show? In short, Cloudflare somehow manages to beat CloudFront (sometimes by silly margins), but ",{"text":4806,"type":3016,"marks":4968},[4969],{"type":3579},{"text":4971,"type":3016}," with their Argo smart routing enabled. Here are some comparisons for various locations in APAC.",{"type":3012,"content":4973},[4974],{"type":3607,"attrs":4975},{"id":4976,"alt":2658,"src":4977,"title":2658,"source":2658,"copyright":2658,"meta_data":4978},57790,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fd23e282d29\u002Fcloudflare-with-argo-vs-cloudfront-2.png",{},{"type":3012,"content":4980},[4981],{"text":4982,"type":3016},"Cloudflare on the left. CloudFront on the right.",{"type":3012,"content":4984},[4985],{"text":4986,"type":3016},"Let’s break that down by location, with average response times (over a 7 day period, tested from all locations every 15 minutes) in milliseconds:",{"type":4988,"attrs":4989},"blok",{"id":4990,"body":4991},"5c288553-0ca3-4f5e-a30e-a88f679ca312",[4992],{"_uid":4993,"body":4994,"component":4995},"i-543aad09-da99-4b44-99c2-c26ad6f5b88e","| Location | Cloudflare | CloudFront |\n|------------|------------|------------|\n| Sydney     | 423        | 689        |\n| Singapore  | 550        | 1319       |\n| Hong Kong  | 468        | 857        |\n| Mumbai     | 691        | 1012       |\n| Tokyo      | 654        | 942        |\n| Dubai      | 747        | 1199       |\n| Seoul      | 451        | 785        |\n| Manila     | 779        | 1161       |","global___markdown",{"type":3012,"content":4997},[4998],{"text":4999,"type":3016},"Average response times in ms",{"type":3012,"content":5001},[5002,5004,5008],{"text":5003,"type":3016},"Those results are impressive, to put it mildly. Almost 40% faster, on average, with Singapore showing a 50%+ reduction in pageloads. We know Cloudflare likes to talk about how great they are, but ",{"text":5005,"type":3016,"marks":5006},"everybody",[5007],{"type":3579},{"text":5009,"type":3016}," claims they’re the best and the fastest, so we really didn’t expect this.",{"type":3012,"content":5011},[5012],{"text":5013,"type":3016},"That said, this test was with Cloudflare’s Argo Smart Routing enabled. It sounds cool, but it’s an additional cost. Is it really doing anything, or is it just marketing fluff?",{"type":3012,"content":5015},[5016],{"text":5017,"type":3016},"Easy answer: Argo is absolutely doing something. We don’t need to annotate this graph to show where it was disabled:",{"type":3012,"content":5019},[5020],{"type":3607,"attrs":5021},{"id":5022,"alt":2658,"src":5023,"title":2658,"source":2658,"copyright":2658,"meta_data":5024},57735,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Ff4634cd3f4\u002Fcloudflare-without-argo.png",{},{"type":3012,"content":5026},[5027,5029,5033],{"text":5028,"type":3016},"With Argo disabled, Cloudflare was immediately ",{"text":5030,"type":3016,"marks":5031},"slower",[5032],{"type":3579},{"text":5034,"type":3016}," than CloudFront, by ~10%-20%. (We’ll get into those numbers later.)",{"type":3012,"content":5036},[5037],{"text":5038,"type":3016},"So at this point, it looked like CloudFront was just not good, to put it mildly.",{"type":3018,"attrs":5040,"content":5041},{"level":3600},[5042],{"text":5043,"type":3016},"But wait… CloudFront’s Origin Shield to the Rescue?",{"type":3012,"content":5045},[5046,5048,5052],{"text":5047,"type":3016},"We were actually all ready to switch one of our domains over to Cloudflare, but we were still in disbelief that CloudFront was so ",{"text":5049,"type":3016,"marks":5050},"bad",[5051],{"type":3579},{"text":5053,"type":3016},", so we reached out to our friendly AWS rep. He got us a meeting with a CloudFront expert on their end, who mentioned a few things:",{"type":3038,"content":5055},[5056,5070,5076],{"type":3042,"content":5057},[5058],{"type":3012,"content":5059},[5060,5062,5068],{"text":5061,"type":3016},"Cloudflare’s Argo is more comparable to ",{"text":5063,"type":3016,"marks":5064},"AWS’s Global Accelerator",[5065],{"type":3032,"attrs":5066},{"href":5067,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Faws.amazon.com\u002Fglobal-accelerator\u002F",{"text":5069,"type":3016},". (This won’t actually work for us for a few reasons, mostly because of how we do so many different domains + SSL, so this was a non-starter. For our purposes, Cloudflare to CloudFront is a more reasonable comparison.)",{"type":3042,"content":5071},[5072],{"type":3012,"content":5073},[5074],{"text":5075,"type":3016},"Increasing the CloudFront origin keep-alive might help, especially when traffic will keep connections from CloudFront to the origin open. Good to note.",{"type":3042,"content":5077},[5078],{"type":3012,"content":5079},[5080,5086],{"text":5081,"type":3016,"marks":5082},"CloudFront’s Origin Shield",[5083],{"type":3032,"attrs":5084},{"href":5085,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Faws.amazon.com\u002Fabout-aws\u002Fwhats-new\u002F2020\u002F10\u002Fannouncing-amazon-cloudfront-origin-shield\u002F#:~:text=Amazon%20CloudFront%20announces%20Origin%20Shield,to%20your%20origin%20per%20object.",{"text":5087,"type":3016}," might help.",{"type":3012,"content":5089},[5090],{"text":5091,"type":3016},"That last one was a surprise. According to AWS’s description of Origin Shield… it doesn’t make sense that it’d improve performance for a non-cacheable API:",{"type":5093,"content":5094},"blockquote",[5095],{"type":3012,"content":5096},[5097],{"text":5098,"type":3016},"Amazon CloudFront announces Origin Shield, a centralized caching layer that helps increase your cache hit ratio to reduce the load on your origin.",{"type":3012,"content":5100},[5101,5103,5109],{"text":5102,"type":3016},"For an API that’s never cacheable, why on earth would this help? Because nestled at the bottom of the ",{"text":5104,"type":3016,"marks":5105},"Origin Shield Developer Guide",[5106],{"type":3032,"attrs":5107},{"href":5108,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudFront\u002Flatest\u002FDeveloperGuide\u002Forigin-shield.html",{"text":5110,"type":3016}," is this nugget:",{"type":5093,"content":5112},[5113],{"type":3012,"content":5114},[5115,5117,5118],{"text":5116,"type":3016},"**Better network performance",{"type":3636},{"text":5119,"type":3016},"**When you enable Origin Shield […] you can get better network performance. For origins in an AWS Region, CloudFront network traffic remains on the high throughput CloudFront network all the way to your origin.",{"type":3012,"content":5121},[5122,5124,5128],{"text":5123,"type":3016},"Still though… how much could it help, right? ",{"text":5125,"type":3016,"marks":5126},"Surely",[5127],{"type":3579},{"text":5129,"type":3016}," if AWS was sitting on some magic functionality that made things 20-50% faster, they wouldn’t bury that lede.",{"type":3012,"content":5131},[5132,5134,5138],{"text":5133,"type":3016},"We weren’t expecting much, but turns out it brings CloudFront’s performance ",{"text":5135,"type":3016,"marks":5136},"about even with Cloudflare with Argo enabled",[5137],{"type":3579},{"text":5139,"type":3016},". Because of course it does. And because why not, I guess. It’s the year 2021 and nothing makes sense anymore.",{"type":3018,"attrs":5141,"content":5142},{"level":3600},[5143],{"text":5144,"type":3016},"TL;DR: Turn on Argo or Origin Shield!",{"type":3012,"content":5146},[5147],{"text":5148,"type":3016},"So, in summary:",{"type":3038,"content":5150},[5151,5161,5171],{"type":3042,"content":5152},[5153],{"type":3012,"content":5154},[5155,5159],{"text":5156,"type":3016,"marks":5157},"Turn on Origin Shield",[5158],{"type":3504},{"text":5160,"type":3016}," if you use CloudFront and care about response times, even for dynamic \u002F uncacheable content.",{"type":3042,"content":5162},[5163],{"type":3012,"content":5164},[5165,5169],{"text":5166,"type":3016,"marks":5167},"Turn on Argo",[5168],{"type":3504},{"text":5170,"type":3016}," if you use Cloudflare and care about response times.",{"type":3042,"content":5172},[5173],{"type":3012,"content":5174},[5175,5179],{"text":5176,"type":3016,"marks":5177},"Talk to your AWS rep",[5178],{"type":3504},{"text":5180,"type":3016}," if you’re seeing another service just absolutely destroy the comparable AWS service. Maybe there’s a magic switch that you’d never assume actually solves the problem 🙂",{"type":3018,"attrs":5182,"content":5183},{"level":3020},[5184],{"text":5185,"type":3016},"Average Response Times Globally",{"type":3012,"content":5187},[5188],{"text":5189,"type":3016},"The following table shows average response times in milliseconds (again, over a 7 day window, tested every 15 minutes). Lower numbers are better.",{"type":3012},{"type":4988,"attrs":5192},{"id":4990,"body":5193},[5194],{"_uid":5195,"body":5196,"component":4995},"i-9f8980bd-5a1d-4cb7-82e3-28b80645ee44","| Location     | Cloudflare | CloudFront | Cloudflare + Argo | CloudFront + Origin Shield |\n|--------------|------------|------------|--------------------|----------------------------|\n| Virginia     | 99         | 112        | 96                | 144                        |\n| Houston      | 325        | 296        | 273               | 201                        |\n| Los Angeles  | 427        | 423        | 304               | 200                        |\n| Paris        | 499        | 401        | 261               | 214                        |\n| London       | 519        | 443        | 304               | 200                        |\n| Mexico City  | 647        | 757        | 640               | 769                        |\n| Sydney       | 1093       | 963        | 534               | 427                        |\n| Singapore    | 1208       | 1220       | 659               | 662                        |\n",{"type":3012,"content":5198},[5199],{"text":5200,"type":3016},"Response times in ms.",{"type":3012,"content":5202},[5203],{"text":5204,"type":3016},"And that data graphed…",{"type":3012,"content":5206},[5207],{"type":3607,"attrs":5208},{"id":5209,"alt":2658,"src":5210,"title":2658,"source":2658,"copyright":2658,"meta_data":5211},57819,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fdb7be70659\u002Fscreen-shot-2021-11-08-at-10-48-40-pm-1024x553.png",{},{"type":3012,"content":5213},[5214],{"text":5215,"type":3016},"Response times from Virginia are a bit weird, as is Mexico City, but the clear average is a significant reduction of response times.",{"type":3018,"attrs":5217,"content":5218},{"level":3020},[5219],{"text":5220,"type":3016},"Data From Our Production API",{"type":3012,"content":5222},[5223,5225,5231,5233,5237,5239,5242],{"text":5224,"type":3016},"The results were so encouraging that we turned on Origin Shield for our production API’s CloudFront distro. (All the other data we’ve shown is for a staging environment.) Using ",{"text":5226,"type":3016,"marks":5227},"AWS Athena",[5228],{"type":3032,"attrs":5229},{"href":5230,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fsolving-cloudfront-mysteries-with-aws-athena\u002F",{"text":5232,"type":3016},", we were able to average the hourly ",{"text":5234,"type":3016,"marks":5235},"time_taken",[5236],{"type":3634},{"text":5238,"type":3016}," values for ",{"text":2939,"type":3016,"marks":5240},[5241],{"type":3579},{"text":5243,"type":3016}," traffic, globally. We don’t need to annotate where on the graph Origin Shield was enabled:",{"type":3012,"content":5245},[5246],{"type":3607,"attrs":5247},{"id":5248,"alt":2658,"src":5249,"title":2658,"source":2658,"copyright":2658,"meta_data":5250},57740,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002F4abb063d69\u002Fcloudfront-time_taken-hourly-average-1024x634.png",{},{"type":3012,"content":5252},[5253,5255,5261],{"text":5254,"type":3016},"The data for this graph was obtained from ",{"text":5256,"type":3016,"marks":5257},"AWS Athena querying CloudFront logs",[5258],{"type":3032,"attrs":5259},{"href":5260,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fathena\u002Flatest\u002Fug\u002Fcloudfront-logs.html",{"text":5262,"type":3016},", which is pretty slick.",{"type":3012,"content":5264},[5265],{"text":5266,"type":3016},"The average went from 0.1419s to 0.0932s. That’s a ~34% reduction in request time for our production API, on average, for all requests globally (as seen by CloudFront, so excluding DNS and connection times). All from just flipping on a Origin Shield.",{"type":3018,"attrs":5268,"content":5269},{"level":3600},[5270],{"text":5271,"type":3016},"Is this truly an 🍎 to 🍏 comparison?",{"type":3012,"content":5273},[5274],{"text":5275,"type":3016},"Sorta. Sorta not:",{"type":3038,"content":5277},[5278,5299,5320,5362,5393,5420,5430],{"type":3042,"content":5279},[5280],{"type":3012,"content":5281},[5282,5286,5288,5292,5294,5297],{"text":5283,"type":3016,"marks":5284},"We’re only testing our API here.",[5285],{"type":3504},{"text":5287,"type":3016}," Cloudflare has a ",{"text":5289,"type":3016,"marks":5290},"lot",[5291],{"type":3579},{"text":5293,"type":3016}," of really slick things they can do for more “normal” website traffic (like image optimization, js optimization, etc.). Our assumption is that, for a public-facing marketing site, Cloudflare is probably ",{"text":3576,"type":3016,"marks":5295},[5296],{"type":3579},{"text":5298,"type":3016}," better.",{"type":3042,"content":5300},[5301],{"type":3012,"content":5302},[5303,5307,5309,5313,5315,5318],{"text":5304,"type":3016,"marks":5305},"The WAF (Web Application Firewall).",[5306],{"type":3504},{"text":5308,"type":3016}," Cloudflare’s WAF is almost undeniably “better” by most of the metrics ",{"text":5310,"type":3016,"marks":5311},"most",[5312],{"type":3579},{"text":5314,"type":3016}," people care about (like “set it and forget it”). AWS’s WAF is sorta “build what you want”, and we have some neat Lambda-powered automations for our specific use cases. But even for us, is that ",{"text":4902,"type":3016,"marks":5316},[5317],{"type":3579},{"text":5319,"type":3016}," what we want?",{"type":3042,"content":5321},[5322,5336],{"type":3012,"content":5323},[5324,5328,5332],{"text":5325,"type":3016,"marks":5326},"Pricing is ",[5327],{"type":3504},{"text":4586,"type":3016,"marks":5329},[5330,5331],{"type":3504},{"type":3579},{"text":5333,"type":3016,"marks":5334}," different.",[5335],{"type":3504},{"type":3038,"content":5337},[5338,5344,5356],{"type":3042,"content":5339},[5340],{"type":3012,"content":5341},[5342],{"text":5343,"type":3016},"Cloudflare’s bandwidth is free, but Argo is 10¢\u002FGB. CloudFront’s is ~8¢\u002FGB, but Origin Shield is 0.75¢ per 10k requests (for US origins). Let’s call this about even, assuming you care about the fastest response times.",{"type":3042,"content":5345},[5346],{"type":3012,"content":5347},[5348,5350,5354],{"text":5349,"type":3016},"Cloudflare’s WAF is free, but CloudFront’s WAF definitely isn’t. AWS WAF costs can add up, especially if you get hit by bots ",{"text":5351,"type":3016,"marks":5352},"constantly",[5353],{"type":3579},{"text":5355,"type":3016}," like we do. (We pay hundreds of dollars a month just for traffic we rate-limit.) Note that if the AWS WAF blocks a request, you don’t pay for Origin Shield, which makes sense. (We’re not sure about Cloudflare’s WAF as it relates to Argo pricing.)",{"type":3042,"content":5357},[5358],{"type":3012,"content":5359},[5360],{"text":5361,"type":3016},"Cloudflare Workers and Lambda@Edge pricing scales a bit differently, but these costs tend to be negligible compared to the other costs (in our experience, at least).",{"type":3042,"content":5363},[5364],{"type":3012,"content":5365},[5366,5370,5374,5377,5379,5385,5387,5391],{"text":5367,"type":3016,"marks":5368},"SSL for multiple domains is ",[5369],{"type":3504},{"text":4586,"type":3016,"marks":5371},[5372,5373],{"type":3504},{"type":3579},{"text":5333,"type":3016,"marks":5375},[5376],{"type":3504},{"text":5378,"type":3016}," Though Cloudflare just recently made their “",{"text":5380,"type":3016,"marks":5381},"SSL for SaaS",[5382],{"type":3032,"attrs":5383},{"href":5384,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Fssl\u002Fssl-for-saas",{"text":5386,"type":3016},"” publicly available (instead of enterprise-only), it’s $2\u002Fmo\u002Fdomain. CloudFront + ACM is ",{"text":5388,"type":3016,"marks":5389},"free",[5390],{"type":3579},{"text":5392,"type":3016},". If you’ve just got one domain, great, but if you’re a SaaS that allows custom domains like we do, this pushes Cloudflare from “we could probably save some money!” to “wow… even if we save all of what we’re paying for bandwidth and WAF, it’d still cost us a lot :(“.",{"type":3042,"content":5394},[5395],{"type":3012,"content":5396},[5397,5401,5408,5412,5414,5418],{"text":5398,"type":3016,"marks":5399},"Cloudflare is supposedly faster for ",[5400],{"type":3504},{"text":5402,"type":3016,"marks":5403},"Enterprise Plan",[5404,5407],{"type":3032,"attrs":5405},{"href":5406,"uuid":2824,"anchor":2824,"target":4799,"linktype":2667},"https:\u002F\u002Fwww.cloudflare.com\u002Fplans\u002Fenterprise\u002F",{"type":3504},{"text":5409,"type":3016,"marks":5410}," users.",[5411],{"type":3504},{"text":5413,"type":3016}," We don’t know if the “network prioritization” would make a significant difference. And though we understand withholding features based on tiers, we prefer AWS’s ",{"text":5415,"type":3016,"marks":5416},"a la carte",[5417],{"type":3579},{"text":5419,"type":3016}," pricing. Certainly feels more like we can get the best they offer without arbitrary pricing tiers.",{"type":3042,"content":5421},[5422],{"type":3012,"content":5423},[5424,5428],{"text":5425,"type":3016,"marks":5426},"Testing more frequent requests may have changed things.",[5427],{"type":3504},{"text":5429,"type":3016}," Because of the way CloudFront and Cloudflare connect to origins, and keep connections open, if we tested multiple requests per minute (or second), we may have seen different values.",{"type":3042,"content":5431},[5432],{"type":3012,"content":5433},[5434,5438],{"text":5435,"type":3016,"marks":5436},"Terraform (mostly) works great with both.",[5437],{"type":3504},{"text":5439,"type":3016}," If we did want to go with Cloudflare, Terraform makes going multi-cloud just beautifully manageable. So that’s nice 🙂",{"type":3018,"attrs":5441,"content":5442},{"level":3600},[5443],{"text":5444,"type":3016},"A Final Note",{"type":3012,"content":5446},[5447],{"text":5448,"type":3016},"If you’ve made it this far, we hope this was helpful. If you need a platform for custom ecommerce, let us know. We’re here to help 🙂",{"type":3012,"content":5450},[5451],{"text":5452,"type":3016},"We also hope AWS provides data like this in the future. Would have been pretty great if AWS promoted Origin Shield as “Hey, turn this on and see a ~35%+ reduction in response times!” Would have saved us a fair number of hours. 🙂",{"type":3009,"content":5454},[5455],{"type":3012,"content":5456},[5457],{"text":5458,"type":3016},"Learn how to reduce response times for both CloudFront and Cloudflare.",{"id":5460,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":5461,"copyright":2658,"fieldtype":2660,"meta_data":5462,"is_external_url":2700},57734,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Ff65260d580\u002Fcloudflare-cloudfront.jpg",{},[5464,5468],{"name":2847,"created_at":3438,"published_at":3318,"updated_at":3439,"id":3440,"uuid":1801,"content":5465,"slug":3444,"full_slug":2846,"sort_by_date":2824,"position":3330,"tag_list":5466,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3446,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":5467,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3442,"name":2847,"component":3307,"description":3443},[],[],{"name":5469,"created_at":5470,"published_at":3318,"updated_at":5471,"id":5472,"uuid":1813,"content":5473,"slug":5475,"full_slug":5476,"sort_by_date":2824,"position":5477,"tag_list":5478,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":5479,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":5480,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},"Systems & Infrastructure","2023-03-24T17:10:25.659Z","2023-03-24T17:17:34.462Z",64361,{"_uid":5474,"name":5469,"component":3307,"description":2658},"771f93eb-6de1-4412-be8b-56c2fd5534f2","systems-infrastructure","blog\u002Fcategories\u002Fsystems-infrastructure",80,[],"d772406b-68cd-45f8-a6aa-6340b19fe8f2",[],"cloudfront-vs-cloudflare-and-how-to-reduce-response-times-for-both-by-35","blog\u002Fposts\u002Fcloudfront-vs-cloudflare-and-how-to-reduce-response-times-for-both-by-35",220,[],"b5133a28-b45c-4150-a313-6d2f7c1d6826","2021-11-09T12:49:15.000Z",[],{"name":4135,"created_at":5489,"published_at":5490,"updated_at":5491,"id":5492,"uuid":1951,"content":5493,"slug":6811,"full_slug":6812,"sort_by_date":2824,"position":6813,"tag_list":6814,"is_startpage":2700,"parent_id":3332,"meta_data":2824,"group_id":6815,"first_published_at":6816,"release_id":2824,"lang":2830,"path":2824,"alternates":6817,"default_full_slug":2824,"translated_slugs":2824},"2023-03-24T17:10:36.235Z","2024-11-07T20:50:06.079Z","2024-11-07T20:50:06.121Z",64373,{"_uid":5494,"tags":2658,"title":4135,"content":5495,"summary":6796,"component":2954,"thumbnail":6802,"categories":6806},"01b28b09-9feb-40a9-a7a5-8ae913cc5b74",{"type":3009,"content":5496},[5497,5501,5562,5567,5572,5577,5582,5599,5624,5629,5634,5655,5660,5676,5681,5704,5709,5721,5726,5741,5746,5761,5766,5787,5792,5802,5807,5816,5821,5826,5831,5877,5882,5891,6032,6037,6047,6052,6080,6101,6106,6115,6120,6144,6149,6154,6163,6185,6190,6212,6227,6232,6236,6241,6246,6250,6260,6265,6291,6295,6312,6317,6322,6327,6347,6352,6357,6362,6372,6377,6387,6392,6401,6419,6424,6429,6439,6454,6459,6475,6480,6490,6528,6533,6548,6553,6563,6567,6572,6593,6598,6603,6607,6612,6617,6637,6660,6665,6675,6684,6689,6699,6704,6735,6740,6749,6754,6758,6763,6768,6772],{"type":3012,"content":5498},[5499],{"text":5500,"type":3016},"In this step-by-step guide, we’re going to build a ecommerce website from scratch using:",{"type":3038,"attrs":5502,"content":5503},{"tight":2700},[5504,5516,5528,5540,5550],{"type":3042,"content":5505},[5506],{"type":3012,"content":5507},[5508,5514],{"text":5509,"type":3016,"marks":5510},"Next.js",[5511],{"type":3032,"attrs":5512},{"href":5513,"title":2824},"https:\u002F\u002Fnextjs.org\u002F",{"text":5515,"type":3016}," – a React framework that offers features like image optimization, hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching and more.",{"type":3042,"content":5517},[5518],{"type":3012,"content":5519},[5520,5526],{"text":5521,"type":3016,"marks":5522},"Contentful",[5523],{"type":3032,"attrs":5524},{"href":5525,"title":2824},"https:\u002F\u002Fwww.contentful.com\u002F",{"text":5527,"type":3016}," – a headless CMS (content management system).",{"type":3042,"content":5529},[5530],{"type":3012,"content":5531},[5532,5538],{"text":5533,"type":3016,"marks":5534},"Foxy",[5535],{"type":3032,"attrs":5536},{"href":5537,"title":2824},"https:\u002F\u002Ffoxy.io\u002F",{"text":5539,"type":3016}," – a headless ecommerce solution providing a highly customizable and powerful shopping cart and checkout experience.",{"type":3042,"content":5541},[5542],{"type":3012,"content":5543},[5544,5548],{"text":4164,"type":3016,"marks":5545},[5546],{"type":3032,"attrs":5547},{"href":4168,"title":2824},{"text":5549,"type":3016}," – a utility-first CSS framework.",{"type":3042,"content":5551},[5552],{"type":3012,"content":5553},[5554,5560],{"text":5555,"type":3016,"marks":5556},"GraphQL",[5557],{"type":3032,"attrs":5558},{"href":5559,"title":2824},"https:\u002F\u002Fgraphql.org\u002F",{"text":5561,"type":3016}," – a query language for APIs.",{"type":3018,"attrs":5563,"content":5564},{"level":3020},[5565],{"text":5566,"type":3016},"Take a sneak peek of what we’re building",{"type":3012,"content":5568},[5569],{"type":3607,"attrs":5570},{"alt":2824,"src":5571,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot_2021-06-02-https-foxy-contentful-nextjs-vercel-app-1024x580.png",{"type":3012,"content":5573},[5574],{"type":3607,"attrs":5575},{"alt":2824,"src":5576,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot_2021-06-02-https-foxy-contentful-nextjs-vercel-app1-1024x580.png",{"type":3012,"content":5578},[5579],{"type":3607,"attrs":5580},{"alt":2824,"src":5581,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot_2021-06-02-https-foxy-contentful-nextjs-vercel-app2-1024x580.png",{"type":3012,"content":5583},[5584,5586,5591,5592,5594],{"text":5585,"type":3016},"Live demo: ",{"text":5587,"type":3016,"marks":5588},"https:\u002F\u002Ffoxy-contentful-nextjs.vercel.app\u002F",[5589],{"type":3032,"attrs":5590},{"href":5587,"title":2824},{"type":3636},{"text":5593,"type":3016},"Source code: ",{"text":5595,"type":3016,"marks":5596},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-contentful-nextjs-example-site",[5597],{"type":3032,"attrs":5598},{"href":5595,"title":2824},{"type":3012,"content":5600},[5601,5603,5607,5609,5615,5617,5623],{"text":5602,"type":3016},"⚠️ ",{"text":5604,"type":3016,"marks":5605},"Note",[5606],{"type":3504},{"text":5608,"type":3016},": This guide assumes you have basic knowledge of JavaScript and React. If you’re new to React, feel free to check out the ",{"text":5610,"type":3016,"marks":5611},"official React tutorial",[5612],{"type":3032,"attrs":5613},{"href":5614,"title":2824},"https:\u002F\u002Freactjs.org\u002Ftutorial\u002Ftutorial.html",{"text":5616,"type":3016}," first. It’ll also be helpful to go through the ",{"text":5618,"type":3016,"marks":5619},"basics of Next.js",[5620],{"type":3032,"attrs":5621},{"href":5622,"title":2824},"https:\u002F\u002Fnextjs.org\u002Flearn\u002Fbasics\u002Fcreate-nextjs-app",{"text":3092,"type":3016},{"type":3018,"attrs":5625,"content":5626},{"level":3600},[5627],{"text":5628,"type":3016},"Initialize project",{"type":3018,"attrs":5630,"content":5631},{"level":3020},[5632],{"text":5633,"type":3016},"Requirements",{"type":3012,"content":5635},[5636,5638,5642,5644,5648,5649,5653],{"text":5637,"type":3016},"Next.js requires Node.js 10.13 or later and Tailwind CSS requires Node.js 12.13.0 or higher. You can run ",{"text":5639,"type":3016,"marks":5640},"node -v",[5641],{"type":3634},{"text":5643,"type":3016}," in the terminal to check the version on your system. ",{"text":5645,"type":3016,"marks":5646},"npm",[5647],{"type":3634},{"text":3655,"type":3016},{"text":5650,"type":3016,"marks":5651},"npx",[5652],{"type":3634},{"text":5654,"type":3016}," are also required to install dependencies and run commands, which should come out of the box when you install Node.js.",{"type":3018,"attrs":5656,"content":5657},{"level":3020},[5658],{"text":5659,"type":3016},"Create a Next.js app",{"type":3012,"content":5661},[5662,5664,5668,5670,5674],{"text":5663,"type":3016},"In the terminal, ",{"text":5665,"type":3016,"marks":5666},"cd",[5667],{"type":3634},{"text":5669,"type":3016}," to a directory you want to start this project, and run the following command to create a new Next.js app called ",{"text":5671,"type":3016,"marks":5672},"foxy-contentful-nextjs",[5673],{"type":3634},{"text":5675,"type":3016}," (or whatever you like):",{"type":3728,"attrs":5677,"content":5678},{"params":2658},[5679],{"text":5680,"type":3016},"npx create-next-app foxy-contentful-nextjs",{"type":3012,"content":5682},[5683,5685,5689,5691,5695,5697,5702],{"text":5684,"type":3016},"After the installation is complete, ",{"text":5686,"type":3016,"marks":5687},"cd foxy-contentful-nextjs",[5688],{"type":3634},{"text":5690,"type":3016}," and run ",{"text":5692,"type":3016,"marks":5693},"npm run dev",[5694],{"type":3634},{"text":5696,"type":3016}," . The development server will start on port 3000. Open ",{"text":5698,"type":3016,"marks":5699},"http:\u002F\u002Flocalhost:3000\u002F",[5700],{"type":3032,"attrs":5701},{"href":5698,"title":2824},{"text":5703,"type":3016}," in your browser, you’ll then see a “Welcome to Next.js!” page.",{"type":3018,"attrs":5705,"content":5706},{"level":3020},[5707],{"text":5708,"type":3016},"Set up Tailwind CSS",{"type":3012,"content":5710},[5711,5713,5719],{"text":5712,"type":3016},"Following ",{"text":5714,"type":3016,"marks":5715},"Tailwind’s Next.js setup guide",[5716],{"type":3032,"attrs":5717},{"href":5718,"title":2824},"https:\u002F\u002Ftailwindcss.com\u002Fdocs\u002Fguides\u002Fnextjs",{"text":5720,"type":3016},", we can run the command below to install Tailwind and its peer-dependencies:",{"type":3728,"attrs":5722,"content":5723},{"params":2658},[5724],{"text":5725,"type":3016},"npm install -D tailwindcss@latest postcss@latest autoprefixer@latest",{"type":3012,"content":5727},[5728,5730,5734,5735,5739],{"text":5729,"type":3016},"Then, generate ",{"text":5731,"type":3016,"marks":5732},"tailwind.config.js",[5733],{"type":3634},{"text":3655,"type":3016},{"text":5736,"type":3016,"marks":5737},"postcss.config.js",[5738],{"type":3634},{"text":5740,"type":3016}," configuration files using this command:",{"type":3728,"attrs":5742,"content":5743},{"params":2658},[5744],{"text":5745,"type":3016},"npx tailwindcss init -p",{"type":3012,"content":5747},[5748,5750,5753,5755,5759],{"text":5749,"type":3016},"Open ",{"text":5731,"type":3016,"marks":5751},[5752],{"type":3634},{"text":5754,"type":3016}," in the text editor, and configure the ",{"text":5756,"type":3016,"marks":5757},"purge",[5758],{"type":3634},{"text":5760,"type":3016}," option so that unused styles would be removed in production:",{"type":3728,"attrs":5762,"content":5763},{"params":2658},[5764],{"text":5765,"type":3016},"\u002F\u002F tailwind.config.js\n\nmodule.exports = {\n  purge: [\".\u002Fpages\u002F**\u002F*.{js,ts,jsx,tsx}\", \".\u002Fcomponents\u002F**\u002F*.{js,ts,jsx,tsx}\"],\n  darkMode: false, \u002F\u002F or 'media' or 'class'\n  theme: {\n    extend: {},\n  },\n  variants: {\n    extend: {},\n  },\n  plugins: [],\n};",{"type":3012,"content":5767},[5768,5770,5774,5776,5780,5781,5785],{"text":5769,"type":3016},"After importing Tailwind in ",{"text":5771,"type":3016,"marks":5772},"pages\u002F_app.js",[5773],{"type":3634},{"text":5775,"type":3016},", we can delete the CSS files Next.js creates by default like ",{"text":5777,"type":3016,"marks":5778},"globals.css",[5779],{"type":3634},{"text":3655,"type":3016},{"text":5782,"type":3016,"marks":5783},"Home.module.css",[5784],{"type":3634},{"text":5786,"type":3016},", and any references to them.",{"type":3728,"attrs":5788,"content":5789},{"params":2658},[5790],{"text":5791,"type":3016},"\u002F\u002F pages\u002F_app.js\n\nimport \"tailwindcss\u002Ftailwind.css\";\n\nfunction MyApp({ Component, pageProps }) {\n  return \u003CComponent {...pageProps} \u002F>;\n}\n\nexport default MyApp;",{"type":3012,"content":5793},[5794,5796,5800],{"text":5795,"type":3016},"Now, let’s make some changes in the ",{"text":5797,"type":3016,"marks":5798},"index.js",[5799],{"type":3634},{"text":5801,"type":3016}," page:",{"type":3728,"attrs":5803,"content":5804},{"params":2658},[5805],{"text":5806,"type":3016},"\u002F\u002F pages\u002Findex.js\n\nexport default function Home() {\n  return (\n    \u003Cdiv className=\"px-16 py-10 md:px-24 lg:px-28\">\n      \u003Ch1 className=\"text-2xl\">Welcome to foxy-contentful-nextjs!\u003C\u002Fh1>\n    \u003C\u002Fdiv>\n  );\n}",{"type":3012,"content":5808},[5809,5811,5814],{"text":5810,"type":3016},"If the dev server was shut down in a previous step, run ",{"text":5692,"type":3016,"marks":5812},[5813],{"type":3634},{"text":5815,"type":3016}," again and we’ll see Tailwind is applied to the index page.",{"type":3012,"content":5817},[5818],{"type":3607,"attrs":5819},{"alt":2824,"src":5820,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot_2021-06-02-Screenshot-1024x580.png",{"type":3018,"attrs":5822,"content":5823},{"level":3600},[5824],{"text":5825,"type":3016},"Add products in Contentful and fetch product data",{"type":3018,"attrs":5827,"content":5828},{"level":3020},[5829],{"text":5830,"type":3016},"Set up Contentful",{"type":3012,"content":5832},[5833,5835,5839,5841,5847,5849,5853,5855,5859,5861,5864,5866,5870,5872,5876],{"text":5834,"type":3016},"Sign up or log in at ",{"text":5521,"type":3016,"marks":5836},[5837],{"type":3032,"attrs":5838},{"href":5525,"title":2824},{"text":5840,"type":3016}," and create a new empty space from the ",{"text":5842,"type":3016,"marks":5843},"dashboard",[5844],{"type":3032,"attrs":5845},{"href":5846,"title":2824},"https:\u002F\u002Fapp.contentful.com\u002F",{"text":5848,"type":3016},". From the newly created space, go to the ",{"text":5850,"type":3016,"marks":5851},"Content model",[5852],{"type":3504},{"text":5854,"type":3016}," tab and add a new content type: give it the ",{"text":5856,"type":3016,"marks":5857},"Name",[5858],{"type":3504},{"text":5860,"type":3016}," ",{"text":2720,"type":3016,"marks":5862},[5863],{"type":3634},{"text":5865,"type":3016},", and the ",{"text":5867,"type":3016,"marks":5868},"Api Identifier",[5869],{"type":3504},{"text":5871,"type":3016}," will be auto-generated as ",{"text":5873,"type":3016,"marks":5874},"product",[5875],{"type":3634},{"text":3092,"type":3016},{"type":3012,"content":5878},[5879],{"type":3607,"attrs":5880},{"alt":2824,"src":5881,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreen-Shot-2021-06-02-at-5.23.05-PM-1-1024x762.png",{"type":3012,"content":5883},[5884,5886,5889],{"text":5885,"type":3016},"Then, add the following fields to the ",{"text":2720,"type":3016,"marks":5887},[5888],{"type":3634},{"text":5890,"type":3016}," model and configure all fields as required:",{"type":3038,"attrs":5892,"content":5893},{"tight":2700},[5894,5915,5950,5968,5986,6004,6018],{"type":3042,"content":5895},[5896],{"type":3012,"content":5897},[5898,5901,5903,5907,5909,5913],{"text":3646,"type":3016,"marks":5899},[5900],{"type":3634},{"text":5902,"type":3016}," – ",{"text":5904,"type":3016,"marks":5905},"Text",[5906],{"type":3504},{"text":5908,"type":3016}," field (type ",{"text":5910,"type":3016,"marks":5911},"short text",[5912],{"type":3504},{"text":5914,"type":3016},")",{"type":3042,"content":5916},[5917],{"type":3012,"content":5918},[5919,5923,5924,5927,5928,5931,5933,5937,5939,5943,5945,5948],{"text":5920,"type":3016,"marks":5921},"slug",[5922],{"type":3634},{"text":5902,"type":3016},{"text":5904,"type":3016,"marks":5925},[5926],{"type":3504},{"text":5908,"type":3016},{"text":5910,"type":3016,"marks":5929},[5930],{"type":3504},{"text":5932,"type":3016},"). You can optionally go to the settings of this field, then under ",{"text":5934,"type":3016,"marks":5935},"Appearance",[5936],{"type":3504},{"text":5938,"type":3016},", select ",{"text":5940,"type":3016,"marks":5941},"Slug",[5942],{"type":3504},{"text":5944,"type":3016}," so this field is displayed as a slug of the ",{"text":3646,"type":3016,"marks":5946},[5947],{"type":3634},{"text":5949,"type":3016}," field",{"type":3042,"content":5951},[5952],{"type":3012,"content":5953},[5954,5957,5958,5962,5963,5967],{"text":3651,"type":3016,"marks":5955},[5956],{"type":3634},{"text":5902,"type":3016},{"text":5959,"type":3016,"marks":5960},"Number",[5961],{"type":3504},{"text":5908,"type":3016},{"text":5964,"type":3016,"marks":5965},"Decimal",[5966],{"type":3504},{"text":5914,"type":3016},{"type":3042,"content":5969},[5970],{"type":3012,"content":5971},[5972,5975,5976,5980,5981,5985],{"text":3607,"type":3016,"marks":5973},[5974],{"type":3634},{"text":5902,"type":3016},{"text":5977,"type":3016,"marks":5978},"Media",[5979],{"type":3504},{"text":5908,"type":3016},{"text":5982,"type":3016,"marks":5983},"One file",[5984],{"type":3504},{"text":5914,"type":3016},{"type":3042,"content":5987},[5988],{"type":3012,"content":5989},[5990,5994,5995,5998,5999,6003],{"text":5991,"type":3016,"marks":5992},"inventory",[5993],{"type":3634},{"text":5902,"type":3016},{"text":5959,"type":3016,"marks":5996},[5997],{"type":3504},{"text":5908,"type":3016},{"text":6000,"type":3016,"marks":6001},"Integer",[6002],{"type":3504},{"text":5914,"type":3016},{"type":3042,"content":6005},[6006],{"type":3012,"content":6007},[6008,6012,6013,6017],{"text":6009,"type":3016,"marks":6010},"description",[6011],{"type":3634},{"text":5902,"type":3016},{"text":6014,"type":3016,"marks":6015},"Rich text",[6016],{"type":3504},{"text":5949,"type":3016},{"type":3042,"content":6019},[6020],{"type":3012,"content":6021},[6022,6026,6027,6031],{"text":6023,"type":3016,"marks":6024},"featured",[6025],{"type":3634},{"text":5902,"type":3016},{"text":6028,"type":3016,"marks":6029},"Boolean",[6030],{"type":3504},{"text":5949,"type":3016},{"type":3012,"content":6033},[6034],{"type":3607,"attrs":6035},{"alt":2824,"src":6036,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreen-Shot-2021-06-02-at-5.27.50-PM-1024x576.png",{"type":3012,"content":6038},[6039,6041,6045],{"text":6040,"type":3016},"Click “save” in the upper right. Next, head to the ",{"text":6042,"type":3016,"marks":6043},"Content",[6044],{"type":3504},{"text":6046,"type":3016}," tab, add a few products and publish.",{"type":3018,"attrs":6048,"content":6049},{"level":3020},[6050],{"text":6051,"type":3016},"Fetch product data",{"type":3012,"content":6053},[6054,6056,6060,6062,6066,6068,6072,6074,6078],{"text":6055,"type":3016},"Before we get into the code, we first need to get the API keys so our Next.js app can communicate with Contentful. Go ",{"text":6057,"type":3016,"marks":6058},"Settings",[6059],{"type":3504},{"text":6061,"type":3016}," > ",{"text":6063,"type":3016,"marks":6064},"API keys",[6065],{"type":3504},{"text":6067,"type":3016}," from the current Contentful space. From the ",{"text":6069,"type":3016,"marks":6070},"Content delivery \u002F preview tokens",[6071],{"type":3504},{"text":6073,"type":3016}," tab, click the ",{"text":6075,"type":3016,"marks":6076},"Add API key",[6077],{"type":3504},{"text":6079,"type":3016}," button to generate the access tokens. Give it a name and description that makes sense for what you’re building.",{"type":3012,"content":6081},[6082,6084,6088,6090,6094,6095,6099],{"text":6083,"type":3016},"Back in the code editor, create a new file called ",{"text":6085,"type":3016,"marks":6086},".env.local",[6087],{"type":3634},{"text":6089,"type":3016}," in the root directory for storing all the environment variables, and paste the ",{"text":6091,"type":3016,"marks":6092},"Space ID",[6093],{"type":3504},{"text":3655,"type":3016},{"text":6096,"type":3016,"marks":6097},"Content Delivery API – access token",[6098],{"type":3504},{"text":6100,"type":3016}," values in it:",{"type":3728,"attrs":6102,"content":6103},{"params":2658},[6104],{"text":6105,"type":3016},"\u002F\u002F .env.local\n\nCONTENTFUL_SPACE_ID=\nCONTENTFUL_ACCESS_TOKEN=",{"type":3012,"content":6107},[6108,6109,6113],{"text":4014,"type":3016},{"text":6110,"type":3016,"marks":6111},"[axios](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Faxios)",[6112],{"type":3634},{"text":6114,"type":3016}," (an easy-to-use library to make HTTP requests) lfor data fetching, so open the terminal and install:",{"type":3728,"attrs":6116,"content":6117},{"params":2658},[6118],{"text":6119,"type":3016},"npm install axios",{"type":3012,"content":6121},[6122,6124,6128,6130,6134,6136,6142],{"text":6123,"type":3016},"Then, create a new folder ",{"text":6125,"type":3016,"marks":6126},"lib",[6127],{"type":3634},{"text":6129,"type":3016}," for some helper functions. Inside the folder, create a ",{"text":6131,"type":3016,"marks":6132},"api.js",[6133],{"type":3634},{"text":6135,"type":3016}," file, where we’ll write the functions to fetch data via the ",{"text":6137,"type":3016,"marks":6138},"Contentful GraphQL Content API",[6139],{"type":3032,"attrs":6140},{"href":6141,"title":2824},"https:\u002F\u002Fwww.contentful.com\u002Fdevelopers\u002Fdocs\u002Freferences\u002Fgraphql\u002F",{"text":6143,"type":3016},". Review the following code to get an idea of what it’s doing.",{"type":3728,"attrs":6145,"content":6146},{"params":2658},[6147],{"text":6148,"type":3016},"\u002F\u002F lib\u002Fapi.js\n\nimport axios from \"axios\";\n\n\u002F\u002F product fields to fetch\nconst PRODUCT_GRAPHQL_FIELDS = `\nname\nslug\nprice\nimage {\n  url\n}\ninventory\ndescription {\n  json\n}\n`;\n\n\u002F\u002F connect Contentful\nasync function fetchGraphQL(query) {\n  try {\n    const res = await axios.post(\n      `https:\u002F\u002Fgraphql.contentful.com\u002Fcontent\u002Fv1\u002Fspaces\u002F${process.env.CONTENTFUL_SPACE_ID}`,\n      { query },\n      {\n        headers: {\n          \"Content-Type\": \"application\u002Fjson\",\n          Authorization: `Bearer ${process.env.CONTENTFUL_ACCESS_TOKEN}`,\n        },\n      }\n    );\n    return res.data;\n  } catch (error) {\n    console.error(\"Failed to fetch Contentful\");\n  }\n}\n\n\u002F\u002F helper functions for extracting product entries from response\nfunction extractProduct(fetchResponse) {\n  return fetchResponse?.data?.productCollection?.items?.[0];\n}\n\nfunction extractProductEntries(fetchResponse) {\n  return fetchResponse?.data?.productCollection?.items;\n}\n\n\u002F\u002F get products whose featured field is set to true\nexport async function getFeaturedProducts() {\n  const entries = await fetchGraphQL(\n    `query {\n      productCollection(where: { featured: true }) {\n        items {\n          ${PRODUCT_GRAPHQL_FIELDS}\n        }\n      }\n    }`\n  );\n\n  return extractProductEntries(entries);\n}\n\n\u002F\u002F get all products\nexport async function getAllProducts() {\n  const entries = await fetchGraphQL(\n    `query {\n      productCollection(where: { slug_exists: true }) {\n        items {\n          ${PRODUCT_GRAPHQL_FIELDS}\n        }\n      }\n    }`\n  );\n\n  return extractProductEntries(entries);\n}\n\n\u002F\u002F get a specific product by its slug\nexport async function getProductBySlug(slug) {\n  const entry = await fetchGraphQL(\n    `query {\n      productCollection(where: { slug: \"${slug}\" }, limit: 1) {\n        items {\n          ${PRODUCT_GRAPHQL_FIELDS}\n        }\n      }\n    }`\n  );\n\n  return {\n    product: extractProduct(entry),\n  };\n}",{"type":3018,"attrs":6150,"content":6151},{"level":3600},[6152],{"text":6153,"type":3016},"Create pages and components",{"type":3018,"attrs":6155,"content":6156},{"level":3020},[6157,6161],{"text":6158,"type":3016,"marks":6159},"\u003CLayout \u002F>",[6160],{"type":3634},{"text":6162,"type":3016}," component",{"type":3012,"content":6164},[6165,6167,6171,6173,6177,6179,6183],{"text":6166,"type":3016},"First, create a ",{"text":6168,"type":3016,"marks":6169},"components",[6170],{"type":3634},{"text":6172,"type":3016}," folder and a ",{"text":6174,"type":3016,"marks":6175},"layout.js",[6176],{"type":3634},{"text":6178,"type":3016}," file in it. We’ll create a ",{"text":6180,"type":3016,"marks":6181},"Layout",[6182],{"type":3634},{"text":6184,"type":3016}," component that wraps the entire app. Note that the class names are Tailwind classes.",{"type":3728,"attrs":6186,"content":6187},{"params":2658},[6188],{"text":6189,"type":3016},"\u002F\u002F components\u002Flayout.js\n\nimport Link from \"next\u002Flink\";\n\nexport default function Layout({ children }) {\n  return (\n    \u003C>\n      \u003Cnav className=\"flex items-center h-16 bg-gray-600 text-gray-100 tracking-widest\">\n        \u003Ch1 className=\"flex-grow ml-5 text-2xl font-semibold\">Foxy Store\u003C\u002Fh1>\n\n        \u003CLink href=\"\u002F\">\n          \u003Ca className=\"mr-5 text-xl font-medium hover:underline\">Home\u003C\u002Fa>\n        \u003C\u002FLink>\n\n        \u003CLink href=\"\u002Fproducts\">\n          \u003Ca className=\"mr-5 text-xl font-medium hover:underline\">Products\u003C\u002Fa>\n        \u003C\u002FLink>\n\n        \u003Ca className=\"mr-5 text-xl font-medium hover:underline cursor-pointer\">\n          Cart\n        \u003C\u002Fa>\n      \u003C\u002Fnav>\n\n      \u003Cmain>{children}\u003C\u002Fmain>\n    \u003C\u002F>\n  );\n}",{"type":3012,"content":6191},[6192,6194,6198,6200,6204,6206,6210],{"text":6193,"type":3016},"💡 In Next.js, we use the ",{"text":6195,"type":3016,"marks":6196},"Link",[6197],{"type":3634},{"text":6199,"type":3016}," component from ",{"text":6201,"type":3016,"marks":6202},"next\u002Flink",[6203],{"type":3634},{"text":6205,"type":3016}," to wrap the ",{"text":6207,"type":3016,"marks":6208},"\u003Ca>",[6209],{"type":3634},{"text":6211,"type":3016}," tag. This component allows us to do client-side navigation to a different page in the application.",{"type":3012,"content":6213},[6214,6216,6220,6222,6225],{"text":6215,"type":3016},"Then edit the ",{"text":6217,"type":3016,"marks":6218},"_app.js",[6219],{"type":3634},{"text":6221,"type":3016}," file to include the ",{"text":6180,"type":3016,"marks":6223},[6224],{"type":3634},{"text":6226,"type":3016}," component across the application:",{"type":3728,"attrs":6228,"content":6229},{"params":2658},[6230],{"text":6231,"type":3016},"\u002F\u002F pages\u002F_app.js\n\nimport \"tailwindcss\u002Ftailwind.css\";\nimport Layout from \"..\u002Fcomponents\u002Flayout\";\n\nfunction MyApp({ Component, pageProps }) {\n  return (\n    \u003CLayout>\n      \u003CComponent {...pageProps} \u002F>\n    \u003C\u002FLayout>\n  );\n}\n\nexport default MyApp;",{"type":3012,"content":6233},[6234],{"text":6235,"type":3016},"And we’ll see a nav bar on the top of the page.",{"type":3012,"content":6237},[6238],{"type":3607,"attrs":6239},{"alt":2824,"src":6240,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot_2021-06-02-Screenshot1-1024x580.png",{"type":3018,"attrs":6242,"content":6243},{"level":3020},[6244],{"text":6245,"type":3016},"Home page with featured products",{"type":3012,"content":6247},[6248],{"text":6249,"type":3016},"💡 With the file-system based router in Next.js, we can easily create pages that are associated with a route based on their file name.",{"type":3012,"content":6251},[6252,6254,6258],{"text":6253,"type":3016},"Modify the ",{"text":6255,"type":3016,"marks":6256},"pages\u002Findex.js",[6257],{"type":3634},{"text":6259,"type":3016}," page to display the products that are configured as featured in Contentful:",{"type":3728,"attrs":6261,"content":6262},{"params":2658},[6263],{"text":6264,"type":3016},"\u002F\u002F pages\u002Findex.js\n\nimport Link from \"next\u002Flink\";\nimport Image from \"next\u002Fimage\";\n\nimport { getFeaturedProducts } from \"..\u002Flib\u002Fapi\";\n\nexport default function Home({ featuredProducts }) {\n  return (\n    \u003Cdiv className=\"px-16 py-10 md:px-24 lg:px-28\">\n      \u003Ch2 className=\"text-2xl mb-2\">Featured Products\u003C\u002Fh2>\n\n      \u003Cdiv className=\"grid md:grid-cols-2 lg:grid-cols-3 gap-10\">\n        {featuredProducts.map((product) => (\n          \u003Cdiv\n            key={product.slug}\n            className=\"rounded bg-white border-gray-200 shadow-md hover:shadow-xl flex justify-center flex-col px-2 pt-3 pb-5\"\n          >\n            \u003CImage\n              src={product.image.url}\n              layout=\"intrinsic\"\n              width={550}\n              height={370}\n            \u002F>\n\n            \u003Cdiv className=\"mt-4 flex items-baseline\">\n              \u003Ch1 className=\"ml-1 text-xl flex-1\">{product.name}\u003C\u002Fh1>\n              \u003Ch2 className=\"mr-2 text-lg text-gray-500\">${product.price}\u003C\u002Fh2>\n            \u003C\u002Fdiv>\n\n            \u003Cdiv className=\"mt-4\">\n              \u003Ca className=\"ml-1 bg-gray-600 rounded px-4 py-2 text-gray-100 cursor-pointer\">\n                Buy Now\n              \u003C\u002Fa>\n              \u003CLink\n                as={`\u002Fproducts\u002F${product.slug}`}\n                href=\"\u002Fproducts\u002F[slug]\"\n                passHref\n              >\n                \u003Ca className=\"ml-3 border border-gray-400 rounded px-4 py-2 text-gray-600 cursor-pointer\">\n                  Details\n                \u003C\u002Fa>\n              \u003C\u002FLink>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        ))}\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  );\n}\n\nexport const getStaticProps = async () => {\n  const featuredProducts = await getFeaturedProducts();\n\n  return {\n    props: { featuredProducts },\n  };\n};",{"type":3012,"content":6266},[6267,6269,6273,6275,6279,6281,6285,6287,6290],{"text":6268,"type":3016},"💡 If we export an ",{"text":6270,"type":3016,"marks":6271},"async",[6272],{"type":3634},{"text":6274,"type":3016}," function called ",{"text":6276,"type":3016,"marks":6277},"getStaticProps",[6278],{"type":3634},{"text":6280,"type":3016}," from a page, Next.js will pre-render this page ",{"text":6282,"type":3016,"marks":6283},"at build time",[6284],{"type":3504},{"text":6286,"type":3016}," using the props returned by ",{"text":6276,"type":3016,"marks":6288},[6289],{"type":3634},{"text":3092,"type":3016},{"type":3012,"content":6292},[6293],{"text":6294,"type":3016},"⚠️ If the above code errors, take a look at the error message and try solving it. Or just continue on…",{"type":3012,"content":6296},[6297,6299,6306,6310],{"text":6298,"type":3016},"In the above code, we use the new ",{"text":6300,"type":3016,"marks":6301},"\u003CImage \u002F>",[6302,6305],{"type":3032,"attrs":6303},{"href":6304,"title":2824},"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fbasic-features\u002Fimage-optimization",{"type":3634},{"text":6162,"type":3016,"marks":6307},[6308],{"type":3032,"attrs":6309},{"href":6304,"title":2824},{"text":6311,"type":3016}," introduced in Next.js 10, which offers automatic image optimization. To properly show images hosted on an external URL, we’ll need to specify the image domains in the next.config.js file:",{"type":3728,"attrs":6313,"content":6314},{"params":2658},[6315],{"text":6316,"type":3016},"\u002F\u002F next.config.js\n\nmodule.exports = {\n  images: {\n    domains: [\"images.ctfassets.net\"],\n  },\n};",{"type":3012,"content":6318},[6319],{"type":3607,"attrs":6320},{"alt":2824,"src":6321,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot-2021-06-14-at-23-34-18-https-foxy-contentful-nextjs-vercel-app-1024x642.png",{"type":3018,"attrs":6323,"content":6324},{"level":3020},[6325],{"text":6326,"type":3016},"All products page",{"type":3012,"content":6328},[6329,6331,6335,6337,6340,6342,6345],{"text":6330,"type":3016},"Let’s also create a page that contains all products, which would be similar to the home page: create a ",{"text":6332,"type":3016,"marks":6333},"products",[6334],{"type":3634},{"text":6336,"type":3016}," directory under ",{"text":4152,"type":3016,"marks":6338},[6339],{"type":3634},{"text":6341,"type":3016}," , then create an ",{"text":5797,"type":3016,"marks":6343},[6344],{"type":3634},{"text":6346,"type":3016}," file that contains all products:",{"type":3728,"attrs":6348,"content":6349},{"params":2658},[6350],{"text":6351,"type":3016},"\u002F\u002F pages\u002Fproducts\u002Findex.js\n\nimport Link from \"next\u002Flink\";\nimport Image from \"next\u002Fimage\";\n\nimport { getAllProducts } from \"..\u002F..\u002Flib\u002Fapi\";\n\nexport default function AllProducts({ allProducts }) {\n  return (\n    \u003Cdiv className=\"px-16 py-10 md:px-24 lg:px-28\">\n      \u003Ch2 className=\"text-2xl mb-2\">All Products\u003C\u002Fh2>\n\n      \u003Cdiv className=\"grid md:grid-cols-2 lg:grid-cols-3 gap-10\">\n        {allProducts.map((product) => (\n          \u003Cdiv\n            key={product.slug}\n            className=\"rounded bg-white border-gray-200 shadow-md hover:shadow-xl flex justify-center flex-col px-2 pt-3 pb-5\"\n          >\n            \u003CImage\n              src={product.image.url}\n              layout=\"intrinsic\"\n              width={550}\n              height={370}\n            \u002F>\n\n            \u003Cdiv className=\"mt-4 flex items-baseline\">\n              \u003Ch1 className=\"ml-1 text-xl flex-1\">{product.name}\u003C\u002Fh1>\n              \u003Ch2 className=\"mr-2 text-lg text-gray-500\">${product.price}\u003C\u002Fh2>\n            \u003C\u002Fdiv>\n\n            \u003Cdiv className=\"mt-4\">\n              \u003Ca className=\"ml-1 bg-gray-600 rounded px-4 py-2 text-gray-100 cursor-pointer\">\n                Buy Now\n              \u003C\u002Fa>\n              \u003CLink\n                as={`\u002Fproducts\u002F${product.slug}`}\n                href=\"\u002Fproducts\u002F[slug]\"\n                passHref\n              >\n                \u003Ca className=\"ml-3 border border-gray-400 rounded px-4 py-2 text-gray-600 cursor-pointer\">\n                  Details\n                \u003C\u002Fa>\n              \u003C\u002FLink>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        ))}\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  );\n}\n\nexport const getStaticProps = async () => {\n  const allProducts = await getAllProducts();\n\n  return {\n    props: { allProducts },\n  };\n};",{"type":3012,"content":6353},[6354],{"type":3607,"attrs":6355},{"alt":2824,"src":6356,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot-2021-06-14-at-23-35-14-https-foxy-contentful-nextjs-vercel-app-1024x919.png",{"type":3018,"attrs":6358,"content":6359},{"level":3020},[6360],{"text":6361,"type":3016},"Pages for each product",{"type":3012,"content":6363},[6364,6366,6370],{"text":6365,"type":3016},"Remember we’ve configured the product description field as a rich text field in Contentful? This type of field would be returned as a object in response, so we’ll use ",{"text":6367,"type":3016,"marks":6368},"[@contentful\u002Frich-text-react-renderer](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@contentful\u002Frich-text-react-renderer)",[6369],{"type":3634},{"text":6371,"type":3016}," to parse the text content in the object:",{"type":3728,"attrs":6373,"content":6374},{"params":2658},[6375],{"text":6376,"type":3016},"npm install @contentful\u002Frich-text-react-renderer",{"type":3012,"content":6378},[6379,6381,6385],{"text":6380,"type":3016},"Create dynamic route pages for products in ",{"text":6382,"type":3016,"marks":6383},"pages\u002Fproducts\u002F[slug].js",[6384],{"type":3634},{"text":6386,"type":3016},", with an add-to-cart form inside:",{"type":3728,"attrs":6388,"content":6389},{"params":2658},[6390],{"text":6391,"type":3016},"\u002F\u002F pages\u002Fproducts\u002F[slug].js\n\nimport Image from \"next\u002Fimage\";\nimport { documentToReactComponents } from \"@contentful\u002Frich-text-react-renderer\";\n\nimport { getAllProducts, getProductBySlug } from \"..\u002F..\u002Flib\u002Fapi\";\n\nexport default function Product({ product }) {\n  return (\n    \u003Cdiv className=\"px-16 py-10 md:px-24 lg:px-28\">\n      \u003Cdiv className=\"mt-8 grid lg:grid-cols-2\">\n        \u003Cdiv>\n          \u003CImage\n            src={product.image.url}\n            layout=\"responsive\"\n            width={550}\n            height={350}\n          \u002F>\n        \u003C\u002Fdiv>\n\n        \u003Cdiv className=\"py-5 lg:px-10 lg:py-3\">\n          \u003Ch1 className=\"text-3xl\">{product.name}\u003C\u002Fh1>\n          \u003Ch2 className=\"text-2xl text-gray-600\">${product.price}\u003C\u002Fh2>\n          \u003Cdiv className=\"my-2 mx-1\">\n            {documentToReactComponents(product.description.json)}\n          \u003C\u002Fdiv>\n\n          \u003Cform>\n            \u003Cinput\n              type=\"number\"\n              min=\"1\"\n              step=\"1\"\n              defaultValue=\"1\"\n              name=\"quantity\"\n              placeholder=\"Quantity\"\n              className=\"mt-5 mb-3 border border-gray-400 rounded py-2 px-3 block\"\n            \u002F>\n\n            \u003Cbutton\n              type=\"submit\"\n              className=\"bg-gray-600 rounded py-2 px-6 text-gray-100 cursor-pointer\"\n            >\n              Add to Cart\n            \u003C\u002Fbutton>\n          \u003C\u002Fform>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  );\n}\n\nexport async function getStaticProps({ params }) {\n  const data = await getProductBySlug(params.slug);\n\n  return {\n    props: {\n      product: data?.product ?? null,\n    },\n  };\n}\n\nexport async function getStaticPaths() {\n  const allProducts = await getAllProducts();\n\n  return {\n    paths: allProducts?.map(({ slug }) => `\u002Fproducts\u002F${slug}`) ?? [],\n    fallback: false,\n  };\n}",{"type":3012,"content":6393},[6394,6396,6399],{"text":6395,"type":3016},"💡 If a page has dynamic routes and uses ",{"text":6276,"type":3016,"marks":6397},[6398],{"type":3634},{"text":6400,"type":3016}," it needs to define a list of paths that have to be rendered to HTML at build time.",{"type":3012,"content":6402},[6403,6405,6408,6409,6413,6415,6418],{"text":6404,"type":3016},"If we export an ",{"text":6270,"type":3016,"marks":6406},[6407],{"type":3634},{"text":6274,"type":3016},{"text":6410,"type":3016,"marks":6411},"getStaticPaths",[6412],{"type":3634},{"text":6414,"type":3016}," from a page that uses dynamic routes, Next.js will statically pre-render all the paths specified by ",{"text":6410,"type":3016,"marks":6416},[6417],{"type":3634},{"text":3092,"type":3016},{"type":3012,"content":6420},[6421],{"type":3607,"attrs":6422},{"alt":2824,"src":6423,"title":2824},"https:\u002F\u002Fwww.foxy.io\u002Fblog\u002Fwp-content\u002Fuploads\u002FScreenshot-2021-06-14-at-23-36-19-https-foxy-contentful-nextjs-vercel-app-1024x573.png",{"type":3018,"attrs":6425,"content":6426},{"level":3600},[6427],{"text":6428,"type":3016},"Integrate Foxy into the Next.js app",{"type":3012,"content":6430},[6431,6433,6438],{"text":6432,"type":3016},"If you haven’t already, ",{"text":6434,"type":3016,"marks":6435},"sign up for a free account at Foxy",[6436],{"type":3032,"attrs":6437},{"href":3873,"title":2824},{"text":3092,"type":3016},{"type":3012,"content":6440},[6441,6443,6446,6448,6452],{"text":6442,"type":3016},"Add a new variable for Foxy subdomain in the ",{"text":6085,"type":3016,"marks":6444},[6445],{"type":3634},{"text":6447,"type":3016}," file, with a ",{"text":6449,"type":3016,"marks":6450},"NEXT_PUBLIC_",[6451],{"type":3634},{"text":6453,"type":3016}," prefix so it’s exposed to the browser:",{"type":3728,"attrs":6455,"content":6456},{"params":2658},[6457],{"text":6458,"type":3016},"\u002F\u002F .env.local\n\nNEXT_PUBLIC_FOXY_SUBDOMAIN=",{"type":3012,"content":6460},[6461,6463,6467,6469,6473],{"text":6462,"type":3016},"We’ll need to include Foxy’s script before ",{"text":6464,"type":3016,"marks":6465},"\u003C\u002Fbody>",[6466],{"type":3634},{"text":6468,"type":3016}," tag, which should be added in the ",{"text":6470,"type":3016,"marks":6471},"_document.js",[6472],{"type":3634},{"text":6474,"type":3016}," file in Next.js:",{"type":3728,"attrs":6476,"content":6477},{"params":2658},[6478],{"text":6479,"type":3016},"\u002F\u002F pages\u002F_document.js\n\nimport Document, { Html, Head, Main, NextScript } from \"next\u002Fdocument\";\n\nexport default class MyDocument extends Document {\n  render() {\n    return (\n      \u003CHtml lang=\"en\">\n        \u003CHead \u002F>\n        \u003Cbody>\n          \u003CMain \u002F>\n          \u003CNextScript \u002F>\n\n          {\u002F* FOXYCART *\u002F}\n          \u003Cscript\n            data-cfasync=\"false\"\n            src={`https:\u002F\u002Fcdn.foxycart.com\u002F${process.env.NEXT_PUBLIC_FOXY_SUBDOMAIN}\u002Floader.js`}\n            async\n            defer\n          >\u003C\u002Fscript>\n        \u003C\u002Fbody>\n      \u003C\u002FHtml>\n    );\n  }\n}",{"type":3012,"content":6481},[6482,6484,6489],{"text":6483,"type":3016},"There are two ways to add a product to cart in Foxy – via a link or a form, then modify the URL parameters or form elements as needed. Some examples can be found on the homepage ",{"text":3029,"type":3016,"marks":6485},[6486],{"type":3032,"attrs":6487},{"href":6488,"title":2824},"https:\u002F\u002Ffoxy.io\u002F#start",{"text":3092,"type":3016},{"type":3012,"content":6491},[6492,6494,6497,6498,6501,6502,6506,6507,6510,6511,6514,6516,6520,6522,6527],{"text":6493,"type":3016},"In addition to some core product information like ",{"text":3646,"type":3016,"marks":6495},[6496],{"type":3634},{"text":3392,"type":3016},{"text":3651,"type":3016,"marks":6499},[6500],{"type":3634},{"text":3392,"type":3016},{"text":6503,"type":3016,"marks":6504},"quantity",[6505],{"type":3634},{"text":3392,"type":3016},{"text":3634,"type":3016,"marks":6508},[6509],{"type":3634},{"text":3392,"type":3016},{"text":3607,"type":3016,"marks":6512},[6513],{"type":3634},{"text":6515,"type":3016},", we can also add a ",{"text":6517,"type":3016,"marks":6518},"quantity_max",[6519],{"type":3634},{"text":6521,"type":3016}," parameter that indicates the product’s current inventory to prevent oversell. A complete list of product parameters can be found ",{"text":3029,"type":3016,"marks":6523},[6524],{"type":3032,"attrs":6525},{"href":6526,"title":2824},"https:\u002F\u002Fdocs.foxycart.com\u002Fv\u002F2.0\u002Fproducts#a_complete_list_of_product_parameters",{"text":3092,"type":3016},{"type":3018,"attrs":6529,"content":6530},{"level":3020},[6531],{"text":6532,"type":3016},"Buy Now button",{"type":3012,"content":6534},[6535,6537,6541,6543,6546],{"text":6536,"type":3016},"A Buy Now button often refers to skipping the shopping cart and going to checkout directly. In Foxy, we can do this by attaching a ",{"text":6538,"type":3016,"marks":6539},"&cart=checkout",[6540],{"type":3634},{"text":6542,"type":3016}," parameter to the purchase link. So, modify the ",{"text":3738,"type":3016,"marks":6544},[6545],{"type":3634},{"text":6547,"type":3016}," attribute in the Buy Now buttons on the featured products page and all products page to this:",{"type":3728,"attrs":6549,"content":6550},{"params":2658},[6551],{"text":6552,"type":3016},"\u002F\u002F pages\u002Findex.js && pages\u002Fproducts\u002Findex.js\n\n\u003Ca\n  href={`https:\u002F\u002F${process.env.NEXT_PUBLIC_FOXY_SUBDOMAIN}.foxycart.com\u002Fcart?name=${encodeURIComponent(product.name)}&price=${product.price}&image=${encodeURIComponent(product.image.url)}&code=${encodeURIComponent(product.slug)}&quantity_max=${product.inventory}&cart=checkout`}  \n  className=\"ml-1 bg-gray-600 rounded px-4 py-2 text-gray-100 cursor-pointer\"\n>\n  Buy Now\n\u003C\u002Fa>",{"type":3012,"content":6554},[6555,6557,6561],{"text":6556,"type":3016},"💡 Wrapping the URL parameters in ",{"text":6558,"type":3016,"marks":6559},"encodeURIComponent()",[6560],{"type":3634},{"text":6562,"type":3016}," encodes them so that they get passed to Foxy correctly.",{"type":3012,"content":6564},[6565],{"text":6566,"type":3016},"🔐 You may be thinking “Wait a minute, those values can be changed by a website visitor!” Don’t worry. We’ll lock things down a little further down the page.",{"type":3018,"attrs":6568,"content":6569},{"level":3020},[6570],{"text":6571,"type":3016},"Add-to-cart form",{"type":3012,"content":6573},[6574,6576,6580,6581,6585,6587,6591],{"text":6575,"type":3016},"For a purchase form, besides adding the ",{"text":6577,"type":3016,"marks":6578},"action",[6579],{"type":3634},{"text":3655,"type":3016},{"text":6582,"type":3016,"marks":6583},"method",[6584],{"type":3634},{"text":6586,"type":3016}," attributes to the ",{"text":6588,"type":3016,"marks":6589},"form",[6590],{"type":3634},{"text":6592,"type":3016}," element, we also need some elements to pass the product details to the cart, so the add-to-cart form on the product page will look something like this:",{"type":3728,"attrs":6594,"content":6595},{"params":2658},[6596],{"text":6597,"type":3016},"\u002F\u002F pages\u002Fproducts\u002F[slug].js\n\n\u003Cform\n  action={`https:\u002F\u002F${process.env.NEXT_PUBLIC_FOXY_SUBDOMAIN}.foxycart.com\u002Fcart`}\n  method=\"POST\"\n>\n  \u003Cinput type=\"hidden\" name=\"name\" value={product.name} \u002F>\n  \u003Cinput type=\"hidden\" name=\"price\" value={product.price} \u002F>\n  \u003Cinput type=\"hidden\" name=\"quantity_max\" value={product.inventory} \u002F>\n  \u003Cinput type=\"hidden\" name=\"image\" value={product.image.url} \u002F>\n  ...\n\u003C\u002Fform>",{"type":3018,"attrs":6599,"content":6600},{"level":3020},[6601],{"text":6602,"type":3016},"Mini-cart",{"type":3012,"content":6604},[6605],{"text":6606,"type":3016},"Let’s also add a quick link in the navbar to open the cart and indicate the product quantity in cart:",{"type":3728,"attrs":6608,"content":6609},{"params":2658},[6610],{"text":6611,"type":3016},"\u002F\u002F components\u002Flayout.js\n\n\u003Ca\n  href={`https:\u002F\u002F${process.env.NEXT_PUBLIC_FOXY_SUBDOMAIN}.foxycart.com\u002Fcart?cart=view`}\n  className=\"mr-5 text-xl font-medium hover:underline cursor-pointer\"\n>\n  Cart (\u003Cspan data-fc-id=\"minicart-quantity\">0\u003C\u002Fspan>)\n\u003C\u002Fa>",{"type":3018,"attrs":6613,"content":6614},{"level":3600},[6615],{"text":6616,"type":3016},"Add Foxy HMAC cart validation",{"type":3012,"content":6618},[6619,6621,6627,6629,6635],{"text":6620,"type":3016},"You probably know how easy is to modify the HTML on a webpage using the browser’s dev tools, which means there is a possibility that someone can modify the product price on your site and checkout without any issues. This sounds a nightmare to merchants, but the good news is, Foxy provides a ",{"text":6622,"type":3016,"marks":6623},"HMAC cart validation",[6624],{"type":3032,"attrs":6625},{"href":6626,"title":2824},"https:\u002F\u002Fdocs.foxycart.com\u002Fv\u002F2.0\u002Fhmac_validation",{"text":6628,"type":3016}," functionality, and with ",{"text":6630,"type":3016,"marks":6631},"the official Foxy SDK",[6632],{"type":3032,"attrs":6633},{"href":6634,"title":2824},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-sdk",{"text":6636,"type":3016}," released recently, this can be done in just a few more steps.",{"type":3012,"content":6638},[6639,6641,6647,6653,6658],{"text":6640,"type":3016},"💡 Though the Foxy SDK can ",{"text":6642,"type":3016,"marks":6643},"sign entire HTML pages via the ",[6644],{"type":3032,"attrs":6645},{"href":6646,"title":2824},"https:\u002F\u002Fsdk.foxy.dev\u002Fclasses\u002F_backend_index_.signer.html#signhtml",{"text":6648,"type":3016,"marks":6649},"signHtml",[6650,6652],{"type":3032,"attrs":6651},{"href":6646,"title":2824},{"type":3634},{"text":6654,"type":3016,"marks":6655}," method",[6656],{"type":3032,"attrs":6657},{"href":6646,"title":2824},{"text":6659,"type":3016},", that’s not as easy to do in this Vercel + Next.js build, so we’ll take a more targeted approach, below.",{"type":3018,"attrs":6661,"content":6662},{"level":3020},[6663],{"text":6664,"type":3016},"Implement using Foxy SDK",{"type":3012,"content":6666},[6667,6669,6673],{"text":6668,"type":3016},"Head to ",{"text":3708,"type":3016,"marks":6670},[6671],{"type":3032,"attrs":6672},{"href":3712,"title":2824},{"text":6674,"type":3016}," in the Foxy admin and enable cart validation by checking the “would you like to enable cart validation?” option. Then look for the “store secret” field, click the “Show” button, and copy the value in the text box.",{"type":3012,"content":6676},[6677,6679,6682],{"text":6678,"type":3016},"Add a new variable for Foxy store secret in the ",{"text":6085,"type":3016,"marks":6680},[6681],{"type":3634},{"text":6683,"type":3016}," file, and paste the value we just copied from the Foxy admin:",{"type":3728,"attrs":6685,"content":6686},{"params":2658},[6687],{"text":6688,"type":3016},"\u002F\u002F .env.local\n\nFOXY_STORE_SECRET=",{"type":3012,"content":6690},[6691,6693,6697],{"text":6692,"type":3016},"Install Foxy SDK. We’ll use the ",{"text":6694,"type":3016,"marks":6695},"Signer",[6696],{"type":3634},{"text":6698,"type":3016}," object to generate signed links and forms.",{"type":3728,"attrs":6700,"content":6701},{"params":2658},[6702],{"text":6703,"type":3016},"npm i @foxy.io\u002Fsdk",{"type":3012,"content":6705},[6706,6708,6712,6714,6717,6719,6723,6724,6728,6730,6733],{"text":6707,"type":3016},"Create a new file named ",{"text":6709,"type":3016,"marks":6710},"foxy-signer.js",[6711],{"type":3634},{"text":6713,"type":3016}," in the ",{"text":6125,"type":3016,"marks":6715},[6716],{"type":3634},{"text":6718,"type":3016}," folder, which includes two helper functions (",{"text":6720,"type":3016,"marks":6721},"getFoxyLink",[6722],{"type":3634},{"text":3655,"type":3016},{"text":6725,"type":3016,"marks":6726},"getFoxyForm",[6727],{"type":3634},{"text":6729,"type":3016},") that return a Foxy purchase link or form, and have it signed only if the ",{"text":4103,"type":3016,"marks":6731},[6732],{"type":3634},{"text":6734,"type":3016}," environment variable is set:",{"type":3728,"attrs":6736,"content":6737},{"params":2658},[6738],{"text":6739,"type":3016},"\u002F\u002F lib\u002Ffoxy-signer.js\n\nimport * as FoxySDK from \"@foxy.io\u002Fsdk\";\n\nconst signer = new FoxySDK.Backend.Signer(process.env.FOXY_STORE_SECRET);\n\nexport function getFoxyLink(product) {\n  const link = `https:\u002F\u002F${process.env.NEXT_PUBLIC_FOXY_SUBDOMAIN}.foxycart.com\u002Fcart?name=${encodeURIComponent(product.name)}&price=${product.price}&image=${encodeURIComponent(product.image.url)}&code=${encodeURIComponent(product.slug)}&quantity_max=${product.inventory}&cart=checkout`;\n\n  return process.env.FOXY_STORE_SECRET ? signer.signUrl(link) : link;\n}\n\nexport function getFoxyForm(product) {\n  const formHtml = `\n    \u003Cform action=\"\u003Chttps:\u002F\u002F$>{process.env.NEXT_PUBLIC_FOXY_SUBDOMAIN}.foxycart.com\u002Fcart\" method=\"POST\">\n      \u003Cinput type=\"hidden\" name=\"name\" value=\"${product.name}\" \u002F>\n      \u003Cinput type=\"hidden\" name=\"price\" value=\"${product.price}\" \u002F>\n      \u003Cinput type=\"hidden\" name=\"quantity_max\" value=\"${product.inventory}\" \u002F>\n      \u003Cinput type=\"hidden\" name=\"image\" value=\"${product.image.url}\" \u002F>\n      \u003Cinput type=\"hidden\" name=\"code\" value=\"${product.slug}\" \u002F>\n\n      \u003Cinput\n        type=\"number\"\n        min=\"1\"\n        step=\"1\"\n        value=\"\"\n        name=\"quantity\"\n        placeholder=\"Quantity\"\n        class=\"mt-5 mb-3 border border-gray-400 rounded py-2 px-3 block\"\n      \u002F>\n\n      \u003Cbutton\n        type=\"submit\"\n        class=\"bg-gray-600 rounded py-2 px-6 text-gray-100 cursor-pointer\"\n      >\n        Add to Cart\n      \u003C\u002Fbutton>\n    \u003C\u002Fform>\n  `;\n\n  return process.env.FOXY_STORE_SECRET ? signer.signHtml(formHtml) : formHtml;\n}",{"type":3012,"content":6741},[6742,6744,6747],{"text":6743,"type":3016},"Since the HTML in this file includes Tailwind CSS, we’ll need to add this folder to the ",{"text":5756,"type":3016,"marks":6745},[6746],{"type":3634},{"text":6748,"type":3016}," option in the Tailwind config file:",{"type":3728,"attrs":6750,"content":6751},{"params":2658},[6752],{"text":6753,"type":3016},"\u002F\u002F tailwind.config.js\n\nmodule.exports = {\n  purge: [\".\u002Fpages\u002F**\u002F*.js\", \".\u002Fcomponents\u002F**\u002F*.js\", \".\u002Flib\u002F**\u002F*.js\"],\n  ...\n};",{"type":3012,"content":6755},[6756],{"text":6757,"type":3016},"Then, we can replace all Foxy purchase links and forms in the pages with the functions:",{"type":3728,"attrs":6759,"content":6760},{"params":2658},[6761],{"text":6762,"type":3016},"\u002F\u002F pages\u002Findex.js\n\n...\nimport { getFoxyLink } from \"..\u002Flib\u002Ffoxy-signer\";\n\nexport default function Home({ featuredProducts }) {\n  return (\n    ...\n    \u003Ca\n      href={product.foxyBuyLink}\n      className=\"ml-1 bg-gray-600 rounded px-4 py-2 text-gray-100 cursor-pointer\"\n    >\n      Buy Now\n    \u003C\u002Fa>\n    ...\n  );\n}\n\nexport const getStaticProps = async () => {\n  const featuredProducts = await getFeaturedProducts();\n\n  \u002F\u002F Add a foxyBuyLink property for the generated link\n  return {\n    props: {\n      featuredProducts: featuredProducts.map((product) => {\n        return {\n          ...product,\n          foxyBuyLink: getFoxyLink(product),\n        };\n      }),\n    },\n  };\n};\n\n\n\u002F\u002F pages\u002Fproducts\u002Findex.js\n\n...\nimport { getFoxyLink } from \"..\u002F..\u002Flib\u002Ffoxy-signer\";\n\nexport default function AllProducts({ allProducts }) {\n  return (\n    ...\n    \u003Ca\n      href={product.foxyBuyLink}\n      className=\"ml-1 bg-gray-600 rounded px-4 py-2 text-gray-100 cursor-pointer\"\n    >\n      Buy Now\n    \u003C\u002Fa>\n    ...\n  );\n}\n\nexport const getStaticProps = async () => {\n  const allProducts = await getAllProducts();\n\n  return {\n    props: {\n      allProducts: allProducts.map((product) => {\n        return {\n          ...product,\n          foxyBuyLink: getFoxyLink(product),\n        };\n      }),\n    },\n  };\n};\n\n\n\u002F\u002F pages\u002Fproducts\u002F[slug].js\n\n...\nimport { getFoxyForm } from \"..\u002F..\u002Flib\u002Ffoxy-signer\";\n\nexport default function Product({ product, foxyForm }) {\n  return (\n    ...\n    \u002F\u002F replace the whole \u003Cform \u002F> with this \u003Cdiv \u002F>\n    \u003Cdiv dangerouslySetInnerHTML={{ __html: foxyForm }}>\u003C\u002Fdiv>\n    ...\n  );\n}\n\nexport async function getStaticProps({ params }) {\n  const data = await getProductBySlug(params.slug);\n\n  \u002F\u002F Add a prop for the form HTML\n  return {\n    props: {\n      product: data?.product ?? null,\n      foxyForm: getFoxyForm(data?.product),\n    },\n  };\n}\n\n...",{"type":3018,"attrs":6764,"content":6765},{"level":3600},[6766],{"text":6767,"type":3016},"We did it! 🎉",{"type":3012,"content":6769},[6770],{"text":6771,"type":3016},"Congratulations! You’ve successfully built your own ecommerce website in JAMstack!",{"type":3012,"content":6773},[6774,6776,6780,6781,6786,6788,6794],{"text":6775,"type":3016},"To bring it further, you can deploy it to your preferred static site hosting platform like ",{"text":4016,"type":3016,"marks":6777},[6778],{"type":3032,"attrs":6779},{"href":4020,"title":2824},{"text":3392,"type":3016},{"text":4734,"type":3016,"marks":6782},[6783],{"type":3032,"attrs":6784},{"href":6785,"title":2824},"https:\u002F\u002Fwww.netlify.com\u002F",{"text":6787,"type":3016}," or ",{"text":6789,"type":3016,"marks":6790},"Cloudflare Pages",[6791],{"type":3032,"attrs":6792},{"href":6793,"title":2824},"https:\u002F\u002Fpages.cloudflare.com\u002F",{"text":6795,"type":3016},". Comment the deployed link down below to show what you’ve built (or email us if you’re being shy)!",{"type":3009,"content":6797},[6798],{"type":3012,"content":6799},[6800],{"text":6801,"type":3016},"In this step-by-step guide, we show you how to build an ecommerce website from scratch using Next.js, Contentful, and Foxy.",{"id":6803,"alt":2658,"name":2658,"focus":2658,"title":2658,"source":2658,"filename":6804,"copyright":2658,"fieldtype":2660,"meta_data":6805,"is_external_url":2700},57772,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fd19be49ea4\u002Fjamstack.jpg",{},[6807],{"name":2847,"created_at":3438,"published_at":3318,"updated_at":3439,"id":3440,"uuid":1801,"content":6808,"slug":3444,"full_slug":2846,"sort_by_date":2824,"position":3330,"tag_list":6809,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3446,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":6810,"default_full_slug":2824,"translated_slugs":2824,"_stopResolving":2790},{"_uid":3442,"name":2847,"component":3307,"description":3443},[],[],"build-a-jamstack-ecommerce-website-with-next-js-contentful-and-foxy","blog\u002Fposts\u002Fbuild-a-jamstack-ecommerce-website-with-next-js-contentful-and-foxy",190,[],"fb57b75f-2450-45df-bece-4001225d2f02","2021-11-03T13:03:12.000Z",[],1775716911,[6820,6824,6828,6832],{"name":2871,"created_at":3301,"published_at":3302,"updated_at":3303,"id":3304,"uuid":1798,"content":6821,"slug":3309,"full_slug":2870,"sort_by_date":2824,"position":3310,"tag_list":6822,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3313,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":6823,"default_full_slug":2824,"translated_slugs":2824},{"_uid":3306,"name":2871,"component":3307,"description":3308},[],[],{"name":5469,"created_at":5470,"published_at":3318,"updated_at":5471,"id":5472,"uuid":1813,"content":6825,"slug":5475,"full_slug":5476,"sort_by_date":2824,"position":5477,"tag_list":6826,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":5479,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":6827,"default_full_slug":2824,"translated_slugs":2824},{"_uid":5474,"name":5469,"component":3307,"description":2658},[],[],{"name":2847,"created_at":3438,"published_at":3318,"updated_at":3439,"id":3440,"uuid":1801,"content":6829,"slug":3444,"full_slug":2846,"sort_by_date":2824,"position":3330,"tag_list":6830,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3446,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":6831,"default_full_slug":2824,"translated_slugs":2824},{"_uid":3442,"name":2847,"component":3307,"description":3443},[],[],{"name":2736,"created_at":3317,"published_at":3318,"updated_at":3319,"id":3320,"uuid":1807,"content":6833,"slug":3324,"full_slug":2735,"sort_by_date":2824,"position":2962,"tag_list":6834,"is_startpage":2700,"parent_id":3312,"meta_data":2824,"group_id":3326,"first_published_at":3314,"release_id":2824,"lang":2830,"path":2824,"alternates":6835,"default_full_slug":2824,"translated_slugs":2824},{"_uid":3322,"name":2736,"component":3307,"description":3323},[],[],[],{"age":6838,"cache-control":6839,"connection":6840,"content-encoding":6841,"content-type":6842,"date":6843,"etag":6844,"per-page":6845,"referrer-policy":6846,"sb-be-version":6847,"server":6848,"strict-transport-security":6849,"total":6850,"transfer-encoding":6851,"vary":6852,"via":6853,"x-amz-cf-id":6854,"x-amz-cf-pop":6855,"x-cache":6856,"x-content-type-options":6857,"x-frame-options":6858,"x-permitted-cross-domain-policies":6859,"x-request-id":6860,"x-runtime":6861,"x-xss-protection":6862},"4570","max-age=0, public, s-maxage=604800, stale-if-error=3600","keep-alive","gzip","application\u002Fjson; charset=utf-8","Thu, 09 Apr 2026 15:20:49 GMT","W\u002F\"bb647f496cda33420f0afcdbb0333a33\"","9","strict-origin-when-cross-origin","5.711.0","nginx\u002F1.29.1","max-age=31536000","246","chunked","Origin,Accept-Encoding, Origin","1.1 58c3ce6e485adff4a9658be41214af94.cloudfront.net (CloudFront)","XTOudPlhZ9UFeuT5zxvuxe5ThS17-BWPq-nIUwziNlnK1sJKEyKlWA==","IAD55-P10","Hit from cloudfront","nosniff","SAMEORIGIN","none","5f70fb8b-c768-4870-b062-4280fa283bd5","0.054823","0",9,246,{},1775752618824]