1.0.0 • Published 6 years ago

hapi-gocart v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

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 NameTypeDescription
infoInfo ObjectRequired.
productsProducts ObjectRequired.
serverServer ObjectRequired.
stripeStripe ObjectRequired.

Info Object

Defines additional data about the store.

Fixed Fields
Field NameTypeDescription
nameStringRequired.
descriptionString
Patterned Objects
Field PatternTypeDescription
^x-Any

Products Object

Patterned Fields
Field PatternTypeDescription
{id}Product ObjectRequired.

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 NameTypeDescription
amountNumberRequired.
descriptionString
images[String]
metadataAny
nameString
planString
Patterned Fields
Field PatternTypeDescription
^x-Any

Server Object

Defines the GOCart server configuration.

Fixed Fields
Field NameTypeDescription
hostStringRequired.
pathnameString

Stripe Object

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

Fixed Fields
Field NameTypeDescription
allowRememberMeBoolean
billingAddressBoolean
bitcoinBoolean
captureBoolean
currencyString
imageString
nameString
panelLabelString
publishableKeyStringRequired.
receiptEmailBoolean
shippingAddressBooleanbillingAddress must be set to true.
zipCodeBoolean

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.