gocart-web v1.0.0
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
Installation
npm install hapi-gocart
Usage
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
['*']
.schemaUri
String
The URI for the gocart schema. Required.
stripeSecretKey
String
The Stripe secret key. Required.
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
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.
5 years ago