Stripe Integration
DAP/Stripe Integration
Stripe is quickly gaining popularity as the go-to payment processor. It wins points for its incredible ease of use. Stripe charges a fee of 2.9% + $0.30 per successful charge.
Starting DAP v4.5, you can hook up the DAP Shopping Cart to Stripe.com for payments.
This document explains how to connect Stripe to the DAP Cart.
Please NOTE (IMPORTANT) :
1. Subscription Product:
If you sell subscription products using DAP + Stripe, you MUST define a PLAN with the EXACT same name as the DAP product, in your Stripe Account. Both the PLAN ID as well as the PLAN NAME in Stripe MUST match the DAP product name. The plan ID in stripe cannot be a number. It needs to match the product name in dap otherwise Stripe will not charge the user’s credit card automatically every recurring cycle.
2. Coupon Code
If you use coupons, make sure to create coupon codes both in DAP and in Stripe, including for one-time paid DAP products, and even if Stripe says that Coupons are for Subscriptions.
API Key & Webhooks Setup
- Go to http://stripe.com/ and sign up for a stripe account if you do not already have one.
- Login to Stripe.com and visit this page in a browser – https://manage.stripe.com/account
- Click on API Keys tab and copy the Secret Key and Publishable key and save it somewhere. You will need to update the DAP admin -> setup -> config -> Stripe section with these keys. If you want to test with Stripe in test mode, copy the test version of these keys. Otherwise copy the Live version of these keys. Please note: whenever you are ready to switch from test to live mode, you will need to use the live secret key and publishable key in DAP config.
- Click on Webhooks tab and update the webhooks URL to http://YOURSITE.com/dap/dap-stripe.php (Replace YOURSITE.com with the name of your site).
Save Stripe keys in DAP Config
One-time Product Setup
If you only want to sell one-time purchase products, then you just need to create the product as a one-time product in DAP products page (set recurring to “NO” in price&recurring tab). You do not have to create product in Stripe.
Subscription / Recurring Product Setup
If you only want to sell one-time purchase products, then you can skip this step. If you want to sell Subscription/Recurring products using Stripe, then please read this section.
- Visit the Plans page and click on NEW to setup a Subscription plan.
- Create NEW plan in Stripe :
ID/Name Both ID and Name should eXactly match the ‘Product Name’ in DAP. So if the DAP product name is GOLD SUBSCRIPTION, then the Stripe plan Id = GOLD SUBSCRIPTION and the Stripe plan name should also be GOLD SUBSCRIPTION.
If the product name in DAP is EXAMPLE SUBSCRIPTION PRODUCT, then create a plan in your Stripe account with :
Stripe plan id: EXAMPLE SUBSCRIPTION PRODUCT
Stripe plan name: EXAMPLE SUBSCRIPTION PRODUCT
The plan Id in Stripe cannot be a number. It needs to match the dap product name.
Trial Period Days: If you want to offer trial for 7 days, set trial period to 7 and set initial recurring cycle in DAP to 7 days.. The actual trial amount can be set in DAP products page -> Price tab.Interval : If you set it to monthly, set the ‘Subsequent recurring cycle’ in DAP to 30 days.Amount: This should be set to ‘Subscription / Recurring’ amount. If you want to charge a different trial / initial amount, you can set that in DAP products page -> price tab -> Trial Amount.You can’t set that in Stripe because Stripe only allows for subscription amount.But the good news is… if you use DAP with Stripe, you can set the trial / initial amount in DAP and DAP will make sure the user gets charged the trial/initial amount first and then the recurring amount will be charged at the end of trial period.Lets take a look at DAP products -> Price&Recurring tab setup for 3 usecases:
– $0 Trial + $49.99 Monthly Subscription
– $10 Trial (14 day) + $29.99 Monthly Subscription
– No Trial + $9.99 Monthly Subscription
$0 trial for 7 days + $49.99 monthly (30 day) subscription
DAP setup :
Trial Price: $0
NOTE: If you do NOT want to offer trial OR if you want to offer $0 (FREE) trial, in both cases, set the Trial price = 0. During the payment button generation, you will be asked if the trial amount is set to 0 because it’s a FREE ($0) trial or if there is NO Trial. The button will be generated based on your input.
Recurring Price: $49.99
Recurring Count: 999
NOTE: The recurring count should be 999 or more (unlimited) because Stripe does not support limited recurring.
Recurring Cycle #1 : 7
NOTE: Set Recurring Cycle #1 (initial) to 7 for a ‘7 day’ trial. If there is no trial, then if you want to charge users every 30 days, set it to 30.
Subsequent Recurring Cycles: 30
Set subsequent recurring cycle to 30 for billing every 30 days (month)
$10 trial for 14 days + $29.99 monthly (30 day) subscription
DAP setup :
Trial Price: $10
Recurring Price: $29.99
Recurring Count: 999
NOTE: The recurring count should be 999 or more (forever/unlimited) because Stripe does not support limited recurring. The user will be charged every month until cancellation.
Recurring Cycle #1 : 14
Subsequent Recurring Cycles: 30
No Trial + $9.99 Monthly Subscription
DAP setup :
Trial Price: $0
If there is NO trial and you want to charge the user $9.99 upfront + 9.99 every month, then set trial price = 0 and during button generation when you are prompted with ‘do you want to offer free trial’, you can say NO and button will be setup correctly.
Recurring Price: $9.99
Recurring Count: 999
NOTE: The recurring count should be 999 or more (forever/unlimited) because Stripe does not support limited recurring. The user will be charged every month until cancellation.
Recurring Cycle #1 : 14
Subsequent Recurring Cycles: 30
Please NOTE: Make sure to first test each payment button before you go live.
DAP Cart Installation
Please read this document on DAP Cart Installation.
Generate Payment Button
You can generate ‘BuyNow’ button OR generate ‘AddToCart’ button.
If you want to allow users to purchase individual products directly, create Buy-Now button.
If you want to allow users to purchase add multiple items to a CART first and then checkout, use Add-To-Cart button.
Please see this document for more on buynow button generation.
Please see this document for more on add-to-cart button generation.
What makes DAP->Stripe integration unique?
1) Trial Amount allowed
Normally Stripe prevents users from setting a trial amount that is different from ‘Subscription amount’. If you want to sell a subscription product where say your users pay $100 upfront and then $30 every month, you cannot do that with Stripe. Normally you only have 2 options with Stripe –
Free trial followed by subscription payments
OR
No trial, just subscription payments.
So you can do $0 for 30 days and then $30/month OR you can do $30 every month including first month.
But the GOOD NEWS is that with DAP -> Stripe integration, we will make it possible to do Trial + Subscription. You can do $0 free trial or you can do a trial with ANY AMOUNT of your choice for your subscription products. The ‘trial amount’ can be different from the ‘subscription amount’ because dap will make it possible.
2) Instant Charge
If you sell subscription products with Stripe, Stripe will store the credit card info and ensure it can be charged before returning a response. BUT it can take up to one hour for the invoice to be actually charged. If you have a membership site where you want to allow INSTANT access to content after purchase and you want to make sure you received payment BEFORE you allowed access, then DAP will make it possible with Stripe by making sure the users are charged the first/initial fee INSTANTLY without delay before the access is granted to the product/content.
3) Access extended only upon successful subscription payment
DAP uses pay-as-you-go-model with Stripe. Users get access only to what they paid for. If it’s a monthly subscription, they will get access only to the first month’s content upon initial payment. DAP integrates with Stripe Webhooks for subscription payments. When the next subscription payment goes through successfully, dap will automatically extend access by another 30 days (recurring cycle).
If a user cancels payment, DAP will no longer extend access as no more payments will come in, so the user will automatically lose access to product/content at the end of current recurring cycle.
4) Coupons
You can use the DAP Cart’s coupon feature and integrate it with Stripe coupons so users will see the discounted amount in the shopping cart after they apply a coupon and then Stripe will charge the correct discounted amount. You just have to match the coupon names and discount amounts in DAP and in Stripe. The DAP cart will support coupons for both multiple-items purchase (add-to-cart button) as well as single-item purchase (buy-now button).
5) Unlimited 1-click upsells / downsells
You can do an Unlimited number of Upsells and Downsells, and increase your sales by up to 30% with your existing products. Easy to configure. This feature offers Unlimited options and potential to grow your business.
6) Payment on your site
Users will stay on your site for Credit Card Payments. They will not get transferred to another site to make the payment.
7) PCI Compliance
DAP does not store the Credit Card information on your site so you do not have to worry about PCI compliance issues.
8) Paypal Integration
Integrated Credit Card (via Stripe) and Paypal (via Paypal Standard) payment option on the Checkout page. The users can pay using their Paypal account or using their Credit Card. So you will not lose sales from people that do not want to pull out a Credit Card for making the payment.
9) Pick your password
Allow your buyers to pick their OWN password for their membership account before purchase. DAP will use the user-picked password instead of generating a password for them.
10) Pre-registration / Capture email
Allow Pre-Registration (User account will be created with a status of “P”) even if the payment fails so you will still have a way to communicate with these users.
11) Automated card expiration email
The email will get sent ‘configured number of days’ before the card expires. DAP will now allow you to proactively communicate with a customer when their card is about to expire. DAP will pre-determine when a card is going to expire and send an automated e-mail to inform the member it is time to update their credit card info on file.
12) Customer facing interface for “Update CC and Billing”
Your users can update their Credit Card and Billing Info themselves without having to hand it to you to update. It will take you just a couple minutes to set this up on your site.
13) Single and Multiple item purchases
Multiple items can be added to cart (via Add-To-Cart button) before final checkout. Or you can create simple buy now buttons for single-item purchases.
14) Custom fields
Add any number of Custom Fields to your Checkout Page. As long as these fields have been defined as custom fields in DAP, you can capture them in the checkout page. It will be stored in the user’s profile.
15) Automated login
Users do not have to wait for ‘welcome email’ for their login / download credentials. They will get auto-logged-in to the member’s area upon purchase, and can be sent straight to the downloads page or welcome page.
16) Existing users login
Allow existing users to ‘log in’ on the checkout page itself, so the new product purchase can be attached to their existing membership account. Their existing billing and profile info gets pre-populated on the checkout page upon login.