Checkout
Take payments with Stripe, Polar, PayPal, NOWPayments or Razorpay, and run coupons, sales and points.
Checkout is set up under Settings > Checkout. Turn on at least one payment gateway and products with a price can be bought from the store.
How a Purchase Works
- The customer adds products and addons to the cart, or clicks Buy Now.
- Prism works out the price with any sale, coupon and points, then opens the gateway's checkout.
- The gateway calls Prism's webhook when the payment completes.
- Prism issues a license for each product, or adds the addons to the customer's existing license.
- The customer lands on
/checkout/successwith their downloads.
A product that costs 0, or an order paid entirely with points, skips the gateway. The customer must be signed in to claim it.
General
| Setting | What it does |
|---|---|
| Store Currency | The currency every price is charged in. |
| Primary Gateway | The gateway used when the customer does not pick one. |
| Enable Shopping Cart | Lets customers add several products before paying. Off means Buy Now only. |
| Enable Addons | Lets customers buy addons. Off hides them everywhere. |
| Addons Selection | Tickboxes on the product page, or a popup when adding to the cart. |
| Require Terms of Service | Customers must tick a box before paying. Set the Terms of Service URL it links to. |
Gateways
Each gateway needs a webhook pointing at Prism so purchases are fulfilled. Use your site address, or your API address if it has its own domain:
https://shop.example.com/api/v1/checkout/webhook/<gateway>| Gateway | Keys | Webhook | Event |
|---|---|---|---|
| Stripe | Secret key, publishable key, webhook secret | /api/v1/checkout/webhook/stripe | checkout.session.completed |
| Polar | Access token, organization ID, webhook secret | /api/v1/checkout/webhook/polar | order.paid |
| PayPal | Client ID, client secret, webhook ID | /api/v1/checkout/webhook/paypal | CHECKOUT.ORDER.APPROVED |
| NOWPayments | API key, IPN secret | Set for you on each invoice | finished |
| Razorpay | Key ID, key secret, webhook secret | /api/v1/checkout/webhook/razorpay | payment_link.paid |
Stripe and Polar can open as an Embedded Component Checkout on your site or send the customer to a Hosted Page. The others always use a hosted page. PayPal and NOWPayments have a Sandbox Mode for testing.
Coupons
Under Coupon Codes, add codes customers enter at checkout.
| Field | What it does |
|---|---|
| Coupon Code | What the customer types. Not case sensitive. |
| Discount Type | A percentage off, or a fixed amount off the order. |
| Discount Value | The percentage or amount. |
| Minimum Spend | The smallest order it works on. 0 for none. |
| Maximum Uses | How many times it can be used in total. 0 for unlimited. |
Each completed order that used a code counts as one use.
Sales
Sale Events takes a percentage off across the store. Pick a seasonal preset or set your own:
| Field | What it does |
|---|---|
| Event Name | Shown next to sale prices. |
| Discount Percentage | How much is taken off. |
| Applies To | All items, products only or addons only. |
| Show Site Banner | A banner across the top of the store with your text, a badge and a link. |
Sale prices show on product cards and pages with the original price crossed out, and are what the customer pays.
Points
With the Points System on, customers earn points on what they buy and spend them for discounts.
| Setting | What it does |
|---|---|
| Points Earned per $1 | Points given for each unit of currency spent. Default 100. |
| Points Needed per $1 | Points needed to take one unit of currency off. Default 1000. |
| Points Calculation Mode | Global rates for everything, or per-product overrides from each product's Points Earned and Points Price. |
Customers see their balance in the account menu and choose how many to spend at checkout. Points spent on part of an order earn proportionally fewer points. You can change anyone's balance under Users.