⚡️ One-click moltin purchasing with Stripe
Asynchronous microservice that enables one-click purchasing with moltin and Stripe. Built with Micro 🤩
- Add the product to a cart
- Checkout the cart (create an order)
- Pay for the order (using the Stripe token)
Try out the demo app using this service here.
npm install
npm run dev
Create a .env
at the project root with your moltin client_id
.
MOLTIN_CLIENT_ID=
Both a moltin and Stripe account are needed for this to function. Be sure that your Stripe keys are attached to your moltin store. Learn more about that here.
This service exposes a single POST
endpoint which expects the following payload 👇
{
"token": "tok_visa",
"product": "648a0eb5-329b-4475-bd8e-5eed12d27b2c",
"customer": "ec1332a3-7579-4129-90b1-4f0d2c4e38b5",
"billing_address": {
"first_name": "Jonathan",
"last_name": "Steele",
"line_1": "2nd Floor British India House",
"line_2": "15 Carliol Square",
"city": "Newcastle Upon Tyne",
"postcode": "NE1 6UF",
"county": "Tyne & Wear",
"country": "United Kingdom"
}
}
You can also pass an optional shipping_address
object. If this omitted then billing_address
value will be passed to the API.
"shipping_address": {
"first_name": "Jonathan",
"last_name": "Steele",
"line_1": "2nd Floor British India House",
"line_2": "15 Carliol Square",
"city": "Newcastle Upon Tyne",
"postcode": "NE1 6UF",
"county": "Tyne & Wear",
"country": "United Kingdom"
}
If a customer record does not exist, you can instead pass a customer object.
"customer": {
"name": "Jonathan Steele",
"email": "jonathan@moltin.com"
}
If a product record does not exist, you can instead pass a product object.
"product": {
"name": "MULTI-VIBE 2",
"sku": "MULTI-VIBE-MK2",
"description": "Abstract, sculptural, refined and edgy with a modern twist.",
"quantity": 1,
"price": {
"amount": 50000
}
}
Learn more at the moltin API reference.