Naphthalene Possum Management
    Have ideas to improve npm?Join in the discussion! »

    netlify-commerce-js

    3.6.1 • Public • Published

    Netlify Commerce JS

    This is a JS client library for Netlify Commerce API.

    It lets you signup and authenticate users and is a building block for constructing the UI for signups, password recovery, login and logout.

    Usage

    import NetlifyCommerce from `netlify-commerce-js`;
     
    const commerce = new NetlifyCommerce({
      APIUrl: "https://commerce.netlify.com"
    });
     
    commerce.addToCart({
        path: '/producs/book-1/',
        quantity: 2,
        meta: {
        // You can add anything in metadata and use it in your checkout ui
            photo: "/images/mugs/netlig-01.png"
        }
    }).then((lineItem) => console.log(lineItem));
     
    console.log(commerce.getCart());
    /*
    {
      items: [{
       title: "Netlify Mug",
       sku: "netlify-mug-01",
       description: "A mug with a netlify sticker!",
       price: {amount: "49.00", "currency": "USD", cents: 4900},
        tax: {amount: "0.00", currency: "USD", cents: 0},
       quantity: 2,
       metadata: {
       photo: "/images/mugs/netlig-01.png" // You can add anything in metadata
       }
      }],
      subtotal: {amount: "98.00", "currency": "USD", cents: 9800},
      taxes: {amount: "0.00", "currency": "USD", cents: 0},
      total: {amount: "98.00", "currency": "USD", cents: 9800}
    }
    */
     
    commerce.updateCard("netlify-mug-01", 3); // Set to 0 to remove
     
    commerce.order({
      email: "matt@netlify.com",
      shipping_address: {
        first_name: "Matt",
        last_name: "Biilmann",
        company: "netlify", // Optional
        address: "610 22nd Street",
        city: "San Francisco",
        state: "CA",
        country: "USA",
        zip: "94107"
      }
      /* You can optionally specify billing_address as well */
    }).then(({cart, order}) => {
      return commerce.payment({
        // Get a token from Stripes button or a custom integration
        "stripe_token": TOKEN_FROM_STRIPE_CC_FORM,
        // The commerce API will verify that the amount and order ID match
        "amount": cart.total.cents,
        "order_id": order.id,
      })
    }).then((transaction) => {
      console.log("Order confirmed!")
    });
     
    commerce.clearCart(); // Will be called automatically after a successful order

    You can change country (for VAT calculations) or currency at any time:

    commerce.setCountry("USA");
    commerce.setCurrency("USD");
    

    You can use Netlify Commerce JS together with authlify to let users log in and claim view order history.

    authlify.login(email, password).then((user) => {
      commerce.setUser(user);
     
      commerce.order({
        email: user.email,
        shipping_address_id: "some-previously-generated-address"
        /* Normal order details */
      });
     
      commerce.orderHistory().then((orders) => {
        console.log(orders);
      });
    });

    Keywords

    none

    Install

    npm i netlify-commerce-js

    DownloadsWeekly Downloads

    4

    Version

    3.6.1

    License

    MIT

    Last publish

    Collaborators

    • avatar