【问题标题】:BigCommerce add products to cart programmatically and redirect to checkouts pageBigCommerce 以编程方式将产品添加到购物车并重定向到结帐页面
【发布时间】:2014-07-01 08:18:19
【问题描述】:

我正在为 Bigcommerce 应用商店构建一个应用,我需要以编程方式将产品添加到用户的购物车并将他/她重定向到结帐页面以进行付款处理。

我对产品页面进行了一些修改,以获取传递给构建购物车的表单数据。这在尝试使用 curl 或 Chrome 中的 Postman 时效果很好。但是,当以编程方式尝试相同的事情时,它会给出一个跨域访问被拒绝的错误。

有什么方法可以让它工作吗?

【问题讨论】:

  • 你的意思是这部分/cart.php?action=add&product_id=给你一个跨域错误?

标签: api checkout bigcommerce


【解决方案1】:

您应该能够在 Stencil 主题中使用一些与 stencil-utils API 配对的 javascript。该代码的语法示例如下:

/*  
* Import all product-specific js 
*/
[...]
import utils from '@bigcommerce/stencil-utils';
[...]
addProductToCart() {
  utils.hooks.on('cart-item-add', (event) => {
    event.preventDefault();
  });
}

这与以下 html 和数据标签交互:

<form class="form" method="post" action="{{product.cart_url}}"
enctype="multipart/form-data" data-cart-item-add>

在 Blueprint 或 Stencil 中,您可以使用 site.com/cart.php?action=add&amp;sku=INSERT-SKU-HERE 构建一个 URL 以将商品添加到购物车。然后,您可以检查引荐网址并根据该引荐来源执行 javascript 重定向以结帐。

if (document.referrer == "site.com/cart.php?action=add&sku=INSERT-SKU-HERE") {
window.location.href = "site.com/checkout.php";
}

【讨论】:

    【解决方案2】:

    您可以在这种情况下使用 Javascript:

    var productId = '112';
    location.href = '/cart.php?action=buy&product_id='+productId;
    

    这会将产品添加到购物车并将客户重定向到结帐页面。

    【讨论】:

      猜你喜欢
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 2018-03-31
      • 2022-11-18
      • 2011-07-03
      • 1970-01-01
      相关资源
      最近更新 更多