Category Archives for "Config"

Unlocking Users

DAP has a feature where if a user logs in from more IP addresses than what you’ve configured as DAP Admin (default: 5) under “Setup > Config > Advanced > Max. # of User Logins From Different IP’s” , then the user’s account automatically gets “Locked”, and both the user and you (the admin) will get an email notifying you that the user’s account has been locked.

You could then unlock them yourself, or wait for the user to send you an email and ask to be unlocked.

How to Unlock Users

  1. Search for the User by email on the “Users > Manage” screen
  2. Click on the name or user id. You will now be taken to the “Edit User” screen where you can see the user’s full details
  3. Next to user’s name, you should see a button called “Unlock User” (you will see this only if the status of the user is “Locked”, and won’t see it for other regular users).
  4. Click on the “Unlock User” button. That’s it. When you click the “Unlock User” button, the user’s login records are deleted, and the previously recorded IP addresses are deleted. So user basically starts with a fresh, new login count.

TIP: If your users are getting locked out too frequently, and you don’t want the hassle of unlocking them regularly, simply set the count to a higher number – like 20. Or you can also disable login IP check for individual users, or for your entire web site as a whole.


Cancellations and Refunds

Cancellation Of Ongoing Subscription

DAP employs a very unique “Pay As You Go” model.

It’s very similar to the “Pay As You Go” model used by cell phone companies.

You pay first, then new content (or “cell phone minutes” in the mobile world) gets released to you. You stop paying, you don’t get new content (minutes).

So let’s say a member (Joe Customer) joined your membership site this month, and this is January. So he’s on Month #1 in January.

When he first signs up (free or paid trial, or actual 1st month’s subscription), then his start and end dates in DAP on your site look like this:

Start date: Jan 1, 2009
End date: Jan 31, 2009

(Of course, DAP uses actual dates like “01/01/2009”, but “Jan 1, 2009” is easier to read for most people, especially an international audience – so using the above date format just for the purposes of this post).

Then, let’s say, his February subscription payment comes in. Now DAP “extends” his access to your content by a month. So now the dates look like this:

Start date: Jan 1, 2009
End date: Feb 28, 2009

Now your member Joe has access to all content from Jan 1 to Feb 28 (meaning, about 60 days worth of “dripped content”).

Then end of February, he decides to cancel his membership for whatever reason (or his credit card gets declined or rejected while processing payment for Feb). So no payment comes in for March.

Now because no payment came in, DAP doesn’t really do anything about his access dates. So they continue to stay at:

Start date: Jan 1, 2009
End date: Feb 28, 2009

So any content that you have configured to be dripped on, say, Day #61 (which is Month #3), won’t be available to Joe, even though he continues to remain an “Active” member within DAP, and continues to get your autoresponder and br0adcast emails, and even continues to have access to your affiliate program and continues to earn commissions.

Actually, it gets even better – just because Joe’s end date expired, he basically now has NO access to ANY content on your web site (even Month #1’s content).

[Note: Just so you know, DAP does have a feature to enable “Access to Previously Paid-for Content”. Keep reading for details.]

Now all Joe has lost is just the “access to the content”.

So let’s say you exchange emails with him, ask him why he wanted to cancel, and try to convince him to come back (or get him to use a new, valid credit card).

Now remember that Joe is still at the end of February’s content (Month #2). So whenever the next payment comes in (be it in March, April, or 1 year later), Joe now gets access only to the 3rd month’s content, and not, say, the 10th month content.

So even though it is now say, May, because Joe’s next payment came in just now, his access dates now look like this:

Start date: Jan 1, 2009
End date: March 31, 2009

So that’s how DAP takes care of your content and makes sure that when members cancel or their payment doesn’t come in for whatever reason, your content cannot be accessed by unauthorized users.

But let’s say you want to be really fair and look like a “generous, honest” guy to your members. In that case, you want to make sure that if someone cancels their subscription 6 months after being with you, you don’t want to ‘screw’ them just because they stopped paying you. Who knows, they’ll probably come back if you keep showing to them what kind of content you’re building. Or they may buy your other products.

So now you want to make sure that they get access to the last 6 months worth of content, for which they have actually paid for.

There is a Configuration element in DAP where you can just turn this feature on, and members can instantly start access all “Previously Paid-for Content”.

So that’s how DAP puts a unique twist on cancellations.


Cancellation Of Trial

There is a small twist to the cancellation of a free or paid “Trial”. Consider the following example:

  • User made the purchase on 2011-09-16.
  • Because you have set it up as a 14-day trial, User gets 14 days of access.
    So at this time the user’s access start date = 2011-09-16 and user’s access end date = 2011-09-29  (14 days access).
  • He then asks you to cancel his trial. So you go into your payment processor back-office, and cancel his future payments.
  • In this case, because it’s a “trial”, if he ever decides to come back down the road and sign up for a trial again, you need him to start all the way AT THE BEGINNING.
  • Which means, you must completely remove this person’s access to the product in DAP.
  • If you don’t do it, then if he does come back later, then DAP will think he’s an existing user who wants to RESUME his subscription, and will move him past the trial into the next payment period meant only for people who actually stayed past the trial.



“Refunds” are a slightly different animal than “Cancellations”. While a subscription “Cancellation” means you only have to stop access going forward, a “Refund” means you have to actually roll-back existing access.

So, doing a refund takes a few steps.

  1. Go into your payment processor (like,, etc) and refund the actual payment
  2. Now log into the DAP Dashboard on your site
  3. Go to the “Orders” page, search for all of the user’s transactions by her email id
  4. Click on the “Id” link for the transaction that you wish to refund
  5. On the transaction details page, you will see a “Refund” button. Click on that.
  6. That will mark that transaction as a refund, and also create a new transaction with a negative value (same as value of original transaction, except negative in value)
  7. DAP then rolls-back access for that user by one payment period (or “Recurring Cycle #3” from the Product page). So if member is still in month 1, then user will lose complete access to the product. But if member is on month 3, then since only one payment is being refunded, only the last month’s access (month #3’s access) will be rolled back – so now they only have access till month 2.
  8. Go back to “Manage > Users” screen, search for user by email, and make sure access is either rolled back, or access has been completely removed for that member.
  9. All Affiliate commissions credited to affiliates for this particular purchase will be automatically and completely rolled back. So the affiliate who referred this purchase, will see a negative commission credited to their account, that cancels out the positive commission credited earlier. So that in effect zeroes out their commissions.

Creating A Login Page Within WordPress

Now DAP already provides you with a built-in, out-of-the-box login form, at . But if you want to put this form “within” your WordPress blog, so as to give your login form the same Look & Feel as the rest of your blog, then do this…

1) Create a WordPress Page (not “Post”) with the text %%LOGIN_FORM%% in the body of the page, and a title of say, Login, and save the new page. If you used the text “Login” for the title, then the actual link to this page would be

2) This page now shows up as “Login” along with the rest of your “pages” on your blog.

3) Go to DAP Admin > Setup > Config . Scroll down to the field Login URL

In the text box, enter the full link to your login page from Step 1:

Or if your blog is in the root, then…

That’s it! When someone clicks on the “Login” link that now shows in your “Pages” menu, they will now see a nicely formatted login form.

Related: Where is the Logout Link?


Using Sneak-Peek For Blog Posts

By default, none of the posts or pages you have protected in DAP will be visible in any of the WP menus (not even in custom menus).

Which means, as far as your visitors (or search engines) are concerned, those posts/pages don’t even exist in your blog – until the content “drips” on them.

Some DAP users want it that way, and some don’t.

Also, from an SEO perspective, if your visitor (who is not a member, and one who is not logged in) can’t even see the post, then neither can Google. This means, if you do a blog-and-ping, when Google arrives at the permalink of your new post, because the post is protected, DAP will redirect Google to your login page. This means, you don’ get the benefit of SEO for your new post.

Also, from a “Curiosity” standpoint, if you protect all of the posts, then your visitor will only see a handful of non-protected blog posts, and logged-in members will see only content that has already dripped on them (accessible to them).

Giving them a “sneak-peek” of the protected content is a great way to get them excited about your content.

So for example, you could have a blog post that talks about a video, and goes into detail about everything that they can learn from watching the video – but the content ends just before the video, and where the video would’ve normally appeared, there appears a “Login Form” that asks them to login first before they can view the content, or purchase access if they wanted to see the video.

How to turn on Sneak-Peek

Go to DAP Dashboard > Config > WordPress Sneak-Peek

It is set to “N” (no) by default. Change this to “Y” and click on the “Update” button to save the change.

And then when they click on the “more” button to read the rest of the post, the full post is protected anyway, and they are presented with a login screen.


As soon as you turn on Sneak-Peek, DAP will show all content from your blog posts, but only up to the “More” tag. This means, if you don’t have a “More” tag in any of your content, then all of your blog posts will show to all users, regardless of whether they have access or not.

So, the most important thing here is this:


If you do sneak-peek, you MUST include a “More” tag.

So when you create a WordPress blog post, split the post into two parts using the “More” tag. This creates a “public preview” portion of the actual post, that shows up on your blog’s home page and in the permalink when that post is displayed. To read the rest of the post, your visitor has to click on the “More” link, and that’s when depending on whether the user has access, the rest of the post will be displayed.


1ShoppingCart Email Order Processing

If you’re using 1ShoppingCart or (our private label of 1SC), if you want your users to be automatically logged in to their DAP membership area upon completion of purchase, then refer to this documentation on how to setup Login Xpress with 1ShoppingCart.

If you only sell one-time products, then the 1SC Login Xpress is the only thing you will need to integrate DAP and 1SC.

However, if you sell RECURRING products via 1SC, then you need to set up the email parsing of orders to allow DAP to process recurring payment notification from 1SC, as described below.

The reason for this, is that 1ShoppingCart, while very robust as a cart, does not trigger payment notification messages on the backend (like Paypal can do with IPN) when recurring payments comes in for a member.

So, we at DAP have created an exclusive “Email Order Processing” feature, where DAP will log in to your billing email inbox (where your 1SC email notifications come in) and then check your emails as if it were your personal assistant, and then process any orders that match your DAP Product names.

That is how DAP is able to do automated processing of Cancellations and Failed Recurring Payments.

For 1ShoppingCart and ClickBank, DAP does “Email Parsing” of orders.

Setting Up “Email Parsing”

Basically all you will be doing here is telling DAP where your payment notification emails from 1SC come in, and how to go fetch those emails so the recurring payments can be processed automatically, without you having to lift a finger.

1. Log in to your 1SC account. Then go to “Setup > Orders”. Copy the email id that you have entered into the “Order Notice Email – Primary Destination” field. Please note that 1SC DOES NOT send recurring billing notifications to the email id in the “Secondary Destination”. So be sure you use the email id from the “Primary Destination” field.

So let’s say you have set the primary destination email currently, to point to say ‘’. Now make sure that the emails in your inbox remain in ‘Unread‘ status, because when DAP logs in to check your recurring notifications, it will be looking at only Unread emails. It will not touch the ones that are already read.

2. Go to DAP Admin Dashboard > Setup > Config > Payment Integration .

3. On this screen, configure the following fields…

Email Server Where Order Emails Come In :

Email Server Protocol (pop3/imap) : imap (no need to change this)

Email Server Port : 143 (probably won’t need to change this)

Email Server Protocol (ssl/nossl) : nossl (probably won’t need to change this)

Email Server User Name : (enter email id copied from Step #1 above)

Email Server Password : yourpassword (the password to your email inbox for the above email address)

That’s it as far as setup is concerned.

Additional Notes

4. Set up your sales page as you would normally do when accepting payment through 1ShoppingCart. The only thing you need to make sure is to use the exact same “Product Name’ in your cart as well as within DAP.

So, if you set up a product called “My Membership Site” within DAP, then use the same name “My Membership Site” in your 1SC product name.

5. During installation, a Cron job (dap-emailorder.php) would have already been set up in your web hosting cpanel, to run every 10 minutes. So, every 10 minutes, DAP will automatically check the email id specified in Email Server User Name (the email id from Step 1).

If there is a payment notification (first time or recurring payment) for a product name that matches a product name in DAP, then it will automatically add that customer to DAP as a member if they’re a new member, or if they’re an existing member and it was a recurring payment notification, then DAP will “extend” their membership access by a month (or whatever your recurring cycle is), so that they will continue to get access to your membership site until the next payment comes in.


Try out some test purchases first. Make sure you try out the full purchase and full user experience, end-to-end.

WARNING 1: If you ever change the name of your product in 1ShoppingCart, or within DAP, make sure that both DAP and 1SC Product names are in sync.

WARNING 2: Do not use SKU in 1SC while defining the product. DAP will not parse the emails correctly if you use SKU.

More: Troubleshooting 1ShoppingCart Integration


Modifying Config

The Configuration data of your DAP installation can be customized online.

  1. Log in to DAP as admin at:
  2. Click on the “Config” link in the nav bar at the top.
  3. You will see a drop-down (showing “Basic” by default). You can modify option by option (“Basic”, “Payment Processing”, etc) or view them all together at one time (“All”).
  4. WARNING: Save each modified config field individually. This means, every time you modify one row of config data, hit the “Save” button at the end of that row. You will not be able to change multiple rows and have all of them saved all at once. It has to be saved row by row*.
  5. Modify fields like “Site Name”, “Admin Name”, “Admin Email” etc.

NOTE: The reason why we allow only one row to be “Saved” at a time, is to prevent you from messing up (by accident) config stuff that was already working. So, this way, you can mess up only one row at a time 🙂

See more details about the config screen below.

Config Screen Details

Config > Basic


1. Site Name:

This is where you put in the descriptive name for your web site. When sending emails, you may sometimes wish to use a “name” for your site rather than just a domain name. “Welcome to Digital Access Pass”, you can say.

2. Admin Name:

This is the “from name” used in outgoing emails.

3. Admin Email:

This is the “from email” used in outgoing emails.

4. DAP Log Level:

When set to “Log All Activity”, it logs all kinds of verbose details to the logs, to help during installation and troubleshooting. When set to “Log Errors Only” it logs only major errors and issues.

So during installation and setup, set this field to “Log All Activity”. Once everything is up and running and you are ready to launch your site, turn this up to “Log Errors Only”.

Config > Payment Processing


The first 7 fields on this page are required ONLY if you are going to be using a) (incl. private labels) or b) ClickBank.

The 7 fields are:

1. “Should DAP process Customer Emails even when the Product names don`t match?”

2. “Email Server Where Order Emails Come In”

3. “Email Server Protocol (ssl/nossl)”

4. “Email Server Protocol (pop3/imap)”

5. “Email Server Port”

6. “Email Server User Name”

7. “Email Server Password”

If you are going to be using or ClickBank, then read the explanation for the fields below. But Iif you are going to be using Paypal, then you can skip reading the explanation for these 7 fields.

So here is the documentation for the Payment Processing tab, which includes the 7 fields.

The way DAP integrates with 1ShoppingCart (1SC) and ClickBank (CB) is via Email. Whenever someone makes a purchase through 1SC or CB, they send you the site owner – what is called a “Payment Notification Email”. This email lets you know that someone just purchased one of your products, and contains the buyer information like name, email address, mailing address, etc.

We call this the email id at which you receive these payment notification emails – as the “Billing Email”. So all you need to do to set up integration between DAP and 1SC/CB, is to tell DAP what this billing email id is, and how to access it, so that DAP can log in to this email, look at all the payment notification emails, pick out the ones you want it to process, automatically create an account for your member on your membership site, and send them an email notifying them how to log in to their account on your membership site and access the product that they just purchased from you.

1. “Should DAP process Customer Emails even when the Product names don`t match?”

Now, you may have multiple web sites with multiple products, and you may be receiving payment notifications for many web sites at one single “Billing Email”. But you don’t want to add them all to your membership site, right? You just want to add those who purchase a specific product, to your membership site. So this field is where you tell DAP whether it should add ALL buyers to your membership site, or just those who purchased a specific product. By default, this is set to “N”, which means, DAP will ONLY process emails where the Product name you created in DAP exactly matches the Product name in the billing email. If you still don’t understand this, watch the videos, and just leave this at the default “N” for now until you understand more.

2. “Email Server Where Order Emails Come In”

This usually looks like “”. You can find this info in your web host control panel, on the “Emails” tab, where you would normally create new email ids for your web site.

3. “Email Server Protocol (ssl/nossl)”: Leave this at the default, which is “nossl”.

4. “Email Server Protocol (pop3/imap)”: Leave this at the default, “imap”.

5. “Email Server Port”: Leave this at the default, “143”.

6. “Email Server User Name”:

This is the actual billing email id. Ex: or whatever email id it is where you get the Payment Notification Emails from 1SC/CB.

7. “Email Server Password”:

This is the password to check that email id.

The following fields apply to everyone, not just to users of 1SC/CB.

8. “How long does user have from date of purchase to get a refund? (in days)”

“60” is recommended and is the default. But you can change this to any number you want.

9. “Enter the symbol of the currency in which you are accepting payments”

Default is “$”. If you are going to be using any other currency, then enter the symbol here.

10. “This is for Paypal Mass Pay – if you picked “$” as your currency symbol, enter “USD” here

If you are going to be paying your affiliates in US dollars, and picked the “$” in field #9 above, then enter USD here.

Config > Advanced


1. “Should Affiliate Section be displayed on User `Home` Page? (If using ClickBank, set this to `N`) 

If you are in a mom-and-pop, or non Internet Marketing Niche, where you dont want to confuse users by displaying the affiliate section on the default user home page, then set this to “N”. All users will be signed up as affiliates by default they just wont see their affiliate link and affiliate stats on their user home page.

2. “Max. # of User Logins From Different IP`s”

This is a security feature. This is where you restrict the number of different IPs that a user can log in to their account on your membership site. This is to prevent password sharing, so if you see the email id being used to log in from more IPs than the above limit, then DAP will automatically lock their account, and send them and you an email notifying you both that the account has been locked. You can then either wait for them to contact you by email to get their account unlocked, or if you trust/know the user, you can unlock the account yourself on the “Edit User” screen. Once you unlock the user, both you and the user will get an email notifying you both that the account has been unlocked.

You can customize the content of the lock and unlock notification emails on the Templates page.

3. “Allow access to previously-paid-for content even after subscriber cancels?”

Set to “N” by default. If you want people who have cancelled their account, or unsubscribed from your membership site to have access to content that they had access previously, then set this to “Y”.

NOTE: If you set this to “Y”, then remember this: Say you are offering a free 1 month trial. And you are giving them access to a few videos or blog posts, then even if they cancel their free trial, then they will continue to have access to the 1st months content. If you had set this to “N”, then at the end of the 1st month, if they cancel their trial, then they wont be able to access 1st months content. Thats the difference.

4. “Force 3rd-Party Form (eg., Aweber integration) fill-up during Account Activation”

This is for advanced users only, if you are planning to use Aweber, and want every new member who signs up for a membership in DAP, to also be automatically added to your Aweber account. This requires some advanced set up, which is explained at . This is not something you should be looking to set up when youre first trying to set up DAP. This is a power-user feature, and you should get back to this towards the end of your membership setup, rather than at the beginning.

5. “Self-Service: Allow members to use credits and choose products a-la-carte.”

This is for those who have purchased the “Self-Service Store” (SSS) plugin only. If you dont have this, then skip ahead to the next one.

If you have purchased SSS, then set this to “Y” to enable your Self-Service Store where users can cash in their credits and buy the products they want for this month, rather than you (as the site owner) deciding what content they get this month.

6. “Self-Service: How to order the products displayed in your Self-Service Store?”

Again, this is for those who have purchased the “Self-Service Store” (SSS) plugin only. If you dont have this, then skip ahead to the next one.

This setting allows you to control how the products in your SSS are displayed Most popular first, Ascending order by name, etc.

7. “Location of your login page (eg., if using WordPress). Should start with a forward slash (`/`)”

By default, your membership site login page is:

Instead of sending them to this page, you can put the login form on a “WordPress Page” within your own blog, so that the look and feel is always the same, and your member never has to leave the familiar look and feel of your blog just to login.

So if you put the login form on a WP page (not post) called “Login”, then your full link to your login page would be:

So to change the login page from the default page, and point it to your custom login page, just remove the domain name section from the above WP login page link, and paste the remaining text in this field. So you would enter”¦


“¦in this field.

8. “URL to which User is redirected to, right after log in. Default: /dap/index.php”

After your member logs in, by default, theyre redirected to

You can change this to whatever URL you want (just leave out the domain name from the link).

9. “WordPress Sneak Peek: Show snippets of post (upto the `More` break) even for protected posts?”

With this turned off (set to “N” by default), when someone visits your blog, they will ONLY see posts that they are “eligible” to view. This applies to your blogs main page as well as individual posts. For instance, if you have 100 posts, and have protected 95 of them, then on your blogs home page, your casual visitor will see only 5 blog posts in TOTAL. They wont even see the titles or bodies of the protected posts until they become a member.

If set to “Y” (Show snippets even of protected blog posts), then your users will see content from each blog post of even protected posts, but only up to the “More” button. Clicking on the “More” link would then ask them to login first before they can access the remainder of the content.

So when Googles spider (or your visitor) arrives at your blog after you publish a new post, it/they will see a summary of the post, instead of being redirected to a login page. This is extremely powerful from an SEO perspective.

10. “Use Double Opt-in? If “Y”, then user has to click link to activate a/c. “N” means single-optin.”

By default, “Double Optin” is set to “Y”. It means, when your member first joins your membership site (she doesnt have an account so far), then only the very first time when an account is being created using her email address, then an “Activation Email” (customize on Templates page) with an activation link is sent to your member. They have to click on the activation link to set their account status to “Active”. This process also records their IP address, in case you need them for as “Anti Spam” proof.

But if you set this to “N”, then whenever their account is first created, their account is directly activated by DAP, and no activation link is required to be clicked, and no activation email is sent to your member.

– Ravi Jayagopal