gocart-web
v1.0.0
Published
The Redux implementation for GOCart.
Readme
gocart-ui
The Redux implementation for GOCart.
Installation
npm install gocart-ui gocart-theme-bananasUsage
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-clientUsage
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
hostStringThe host. Required.
pathnameStringThe pathname. Default
'/'.
Client Instance Methods
client.createCharge(options)
Creates the charge.
client.createCharge(options)
.then(function (payload) {})options Object
emailStringThe email. Required.
metadataObjectMetadata about the charge. Default
undefined.skuStringThe SKU. Should correspond to a key in the Products Object. Required.
tokenStringThe Stripe token. Required.
License
See LICENSE.
gocart-server
A standalone web server for GOCart.
Installation
npm install gocart-serverUsage
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_keyThen run:
node ./node_modules/gocart-server/startLicense
See LICENSE.
hapi-gocart
Installation
npm install hapi-gocartUsage
var GOCart = require('hapi-gocart')
server.register({
register: GOCart,
options: options,
}, function (err) {})options Object
corsOrigins[String]Sets the CORS headers for your routes. Default
['*'].schemaUriStringThe URI for the gocart schema. Required.
stripeSecretKeyStringThe Stripe secret key. Required.
License
See LICENSE.
gocart-schema
A JSON schema utility for GOCart.
Installation
npm install gocart-schemaUsage
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-serviceUsage
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
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": "[email protected]" }' \
-vLicense
See LICENSE.

