Stripe
A secure client library for Stripe's API
Install
npm install @appstitch/stripeInstall Peer Dependencies
npm install @appstitch/core
npm install @appstitch/typesUsage
Apart from a few exceptions, this library mirror Stripe's API. You can use Stripe's Docs for reference.
import { createSubscription } from "@appstitch/stripe";
// OR
import * as stripeClient from "@appstitch/stripe";Create a customer
import * as stripe from "@appstitch/stripe";
const createCustomer = () => {
stripe.createCustomer({
email: "[email protected]"
})
.then((res) => {
if (res.object === "customer") {
// success
}
})
}Create a subscription
import * as stripe from "@appstitch/stripe";
const createSubscription = () => {
stripe.createSubsciption({
customer : "cus_ABC123456",
items:[{price : "price_XYZ123456"}],
})
.then(result => {
if(result.object === "subscription")
{
// Success
}
})
}Create a Payment Intent
import * as stripe from "@appstitch/stripe";
const createPaymentIntent = () => {
stripeClient.createPaymentIntent({
customer: "cus_abc123"
amount : 2500, // $25.00
currency:"usd",
confirm:true
receipt_email: "[email protected]"
})
.then(result => {
if(result.object === "payment_intent")
{
// Success
}
})
}
Stripe Connect Options
All requests can be made on behalf of another Stripe Account. Here's how you do it
import * as stripe from "@appstitch/stripe";
const createPaymentIntent = () => {
stripe.createPaymentIntent({
customer: "cus_abc123"
amount : 2500,
currency:"usd",
confirm:true
receipt_email: "[email protected]"
// Stripe Account ID
stripeAccount : "act_xyz890"
})
.then(result => {
if(result.object === "payment_intent")
{
// Success
}
})
}Exceptions
For Retrieve, Delete and Update requests, Stripe Api look something similar to this
// Update a customer
customers.update(id, {
...options
})After consideration, we went for chose to go for this approach instead. Notice the invoice id is passed with the update options
// Update a customer
updateInvoice({
id,
...options
})Reference Stripe's Docs
Last updated
Was this helpful?