Package: jazkarta.shop
An e-commerce shopping cart and checkout forPlone, optimized for use in the US and Canada.FeaturesShopping CartUsers can add items to their cart while browsing products on the website. They can then click the cart icon to view
and adjust the contents of their shopping cart.Pluggable Payment ProcessorsCurrently available:Stripe (Stripe Elements)Authorize.net SIM (legacy)Authorize.net Accept.jsPluggable Shipping ProvidersCurrently available:USPSUPS (Python 2.x only)Pluggable Sales Tax APIsFor calculating US state and local taxes. Currently available:Washington state handlerTaxjar handler (a commercial service for automated sales tax calculation based on address)NoTax handler for disabling sales tax calculation entirelyPurchasable Content TypesTypes can be Dexterity or Archetypes. Make your own content type purchasable using a behavior or schema extender.
(Note: Archetypes support in Python 2.x only)Recommended productsA product can have other products related to it so that they can be recommended at the time of purchase. When users review their cart, they will be presented with a list of recommended products populated from the Recommended Products fields of all the products they’re about to purchase.Cart Stored in ZODBShopping cart data is stored in the ZODB rather than in sessions even for anonymous users. This makes it easier to deploy when running multiple Zope instances.PloneFormGen IntegrationProvided by jazkarta.pfg.jazshop.Compatible WithPlone 4.3Plone 5.0.x, 5.1.x on Python 2.7Plone 5.2.x on Python 2.7, 3.6, 3.7, 3.8TranslationsThis product has been translated intoEnglish (U.S.)InstallationInstall jazkarta.shop by adding it to your buildout:[buildout]

...

eggs =
    jazkarta.shopand then running:bin/buildoutIntegrating the Package with Your ContentAdd the “Jazkarta Shop Product” Dexterity behavior to each content type that you wish to use with jazkarta.shop,
either through the web or programmatically in your code.To add the schema extender on Archetypes content types,  programmatically implement the
interfacejazkarta.shop.interfaces.IATProducton your content class or otherwise provide the interface
on individual instances.When creating instances of your content type, make sure to set the weight and unit price on each one.
This is will appear under the “Shop” fieldset when adding/editing your object.Minimal configuration/QuickstartProceed to the “Jazkarta Shop Settings” to configure a payment processor, optional shipping method API keys,
shipped from address details as well as a recepit email message.Proceed to the “Jazkarta Shop Shipping Methods” to setup a shipping method.
Destinations are grouped by shipping zones
“Alaska, Canada, East, Hawaii, International, Midwest, US, West”It is important to select at least one shipping zone for your shipping method(s) to show up once the
shipping address has been entered during the checkout process.Currently available zones can be seen in detail here:WEST = {
    'AZ', 'CA', 'CO', 'ID', 'MT', 'NV', 'NM', 'OR', 'UT', 'WY', 'WA'
}

MIDWEST = {
    'AL', 'AR', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'MI', 'MN', 'MS',
    'MO', 'NE', 'ND', 'OH', 'OK', 'SD', 'TN', 'TX', 'WI',
}

EAST = {
    'CT', 'DE', 'FL', 'GA', 'ME', 'MD', 'MA', 'NH', 'NJ', 'NY', 'NC',
    'PA', 'RI', 'SC', 'VT', 'VA', 'WV'
}AdministrationThree control panels are provided.Jazkarta Shop SettingsThis control panel allows configuration of:Which payment processor to usePayment processor keys or login information for development and production useSubject and introduction for receipt emailsProduct categoriesMinimum stock levelShipped from name and addressShipping handler keys or login informationWhich tax handler to useOptional Taxjar API tokenOptional after-checkout callback URLjazkarta.shop requires the environment variableJAZKARTA_SHOP_ENVto be set toproductionwhen it is running in production mode.Jazkarta Shop Shipping MethodsNamed shipping methods can be added and edited. Each shipping method specifies the geographical areas it is used for, the shipping fee calculation method, minimum and maximum weights, and optionally a minimum purchase amount.If using UPS or USPS shipping methods, please make sure the revelevant API keys are added in the “Jazkarta Shop Settings” control panel.Jazkarta Shop OrdersThis control panel provides a table of order information such as date, items, shipping information and price.Future WorkPromo CodesPromotional codes for discounts can be defined and applied to a shopping cart.
Currently a promo code widget is visible on the Shopping cart (review-cart) view, however this functionality is not complete.ContributeIssue Tracker:https://github.com/jazkarta/jazkarta.shop/issuesSource Code:https://github.com/jazkarta/jazkarta.shopLicenseThe project is licensed under the GPLv2.CreditsBuilt byJazkarta.AuthorsDavid Glick (initial author)Carlos de la GuardiaAlec MitchellWitekFulvio CasaliSilvio TomatisAlessandro Ceglie