gocart-ui

1.0.0 • Public • Published

gocart-ui

The Redux implementation for GOCart.

Installation

npm install gocart-ui gocart-theme-bananas

Usage

var actions = require('gocart-ui').actions
var Bananas = require('gocart-theme-bananas')
var connect = require('gocart-ui').connect
var createElement = require('react').createElement
var Provider = require('react-redux').Provider
var render = require('react-dom').render
var store = require('gocart-ui').store

store.dispatch(actions.reset(YOUR_DATA))
render(createElement(Provider, { store: store }, createElement(connect(Bananas))), htmlElement)

License

See LICENSE.

gocart-client

A browser client for GOCart.

Installation

npm install gocart-client

Usage

var gocart = require('gocart-client').create({
    host: 'your-gocart-server.com',
})
gocart.getStatus()
    .then(function (status) {})
    .caught(function (err) {})

API Reference

Client.create(options)

Creates the client.

var client = Client.create(options)
options Object
  • host String

    The host. Required.

  • pathname String

    The pathname. Default '/'.

Client Instance Methods

client.createCharge(options)

Creates the charge.

client.createCharge(options)
    .then(function (payload) {})
options Object
  • email String

    The email. Required.

  • metadata Object

    Metadata about the charge. Default undefined.

  • sku String

    The SKU. Should correspond to a key in the Products Object. Required.

  • token String

    The Stripe token. Required.

License

See LICENSE.

gocart-server

A standalone web server for GOCart.

Installation

npm install gocart-server

Usage

The server requires the following environment variables:

CORS_ORIGINS=["https://your-origin.com"]
PORT=8000
SCHEMA_URI=https://your-origin.com/gocart.json
STRIPE_SECRET_KEY=your_stripe_secret_key

Then run:

node ./node_modules/gocart-server/start

License

See LICENSE.

hapi-gocart

A hapi plugin for GOCart.

Installation

npm install hapi-gocart

Usage

var GOCart = require('hapi-gocart')

server.register({
  register: GOCart,
  options: options,
}, function (err) {})

options Object

License

See LICENSE.

gocart-schema

A JSON schema utility for GOCart.

Installation

npm install gocart-schema

Usage

var schema = require('gocart-schema')
var validation = schema.validate(yourObj)

validation.value // the result (with defaults populated)
validation.error // the error (`null` if `yourObj` is valid)

Specification

Schema

GOCart Object

This is the root object for the specification.

Fixed Fields
Field Name Type Description
info Info Object Required.
products Products Object Required.
server Server Object Required.
stripe Stripe Object Required.

Info Object

Defines additional data about the store.

Fixed Fields
Field Name Type Description
name String Required.
description String
Patterned Objects
Field Pattern Type Description
^x- Any

Products Object

Patterned Fields
Field Pattern Type Description
{id} Product Object Required.

Product Object

Defines a product. In addition to the subset specified below, can contain the types specified in Stripe Object (these values will override the global Stripe configuration).

Fixed Fields
Field Name Type Description
amount Number Required.
description String
images [String]
metadata Any
name String
plan String
Patterned Fields
Field Pattern Type Description
^x- Any

Server Object

Defines the GOCart server configuration.

Fixed Fields
Field Name Type Description
host String Required.
pathname String

Stripe Object

Defines the global Stripe configuration. Values can be overriden by individual Product Objects.

Fixed Fields
Field Name Type Description
allowRememberMe Boolean
billingAddress Boolean
bitcoin Boolean
capture Boolean
currency String
image String
name String
panelLabel String
publishableKey String Required.
receiptEmail Boolean
shippingAddress Boolean billingAddress must be set to true.
zipCode Boolean

License

See LICENSE.

gocart-service

The core GOCart service.

Installation

npm install gocart-service

Usage

var handleRequest = require('gocart-service')(yourStripeSecretKey, yourSchemaUri)

handleRequest(payload).then(function (res) {})

createHandler()

createHandler(stripeSecretKey: string, schemaUri: string): (payload: object) => Promise

The shape of the payload object is specified in lib/validate.

License

See LICENSE.

gocart-aws

A GOCart service for AWS.

Usage

Deploy to AWS

Verify the endpoint

Replace {YOUR_REST_API_ID} and {YOUR_REGION}.

curl https://{YOUR_REST_API_ID}.execute-api.{YOUR_REGION}.amazonaws.com/gocart/ \
    -H 'Content-Type: application/json' \
    -d '{ "email": "hello@world.com" }' \
    -v

License

See LICENSE.

Readme

Keywords

none

Package Sidebar

Install

npm i gocart-ui

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

303 kB

Total Files

46

Last publish

Collaborators

  • ericbaranowski