Entries Tagged 'Integration with Shopping Carts' ↓

DAP Plugin Framework

How To Setup Notifications/Triggers From DAP to 3rd Party APIs

We have now created a plugin framework that will allow DAP to trigger calls to 3rd party services when a user is added to a product (subscription/registration event) or when a user loses access to product (unsubscribe/unregister event).

In fact, we used the same framework to develop DAP -> Mailchimp integration in DAP 4.1.

Here’s the steps :

1) If you want DAP to trigger calls to the APIs/methods you wrote upon an addUserToProduct event or removeUserFromProduct event in DAP, then in the DAP products page – > notify plugin field, use the following format to integrate the APIs/class files.  You can integrate multiple systems with DAP using this framework.

Say you want to integrate classname1 (that has the necessary APIs to register/unregister users to 3rd party service like Mailchimp ) and classname 2 (that has the necessary  APIs to register/unregister users to another 3rd party service like GetResponse), then use this format in the notify plugins field above.

classname1:VALUE 1 you want to pass to the api: VALUE 2 you want to pass to the api: VALUE 3 you want to pass to the api

If you want DAP to call multiple APIs/ Classes, then just create a comma seperated list of classes that DAP should notify.
classname1:VALUE 1 you want to pass to the api: VALUE 2 you want to pass to the api: VALUE 3 you want to pass to the api,
classname2:VALUE 1 you want to pass to the api: VALUE 2 you want to pass to the api,
classname3:VALUE 1 you want to pass to the api

Whatever values (VALUE1, VALUE2.. ) you put next to the class name (all values should be “:” separated), DAP will forward those params/values to your APIs when a user is added to product or user is removed from product.

To integrate say classname1 which consists of the methods/apis to talk to your 3rd party services, create a folder called classname1 under /dap/plugins folder. Then under the classname1 folder, create a php script called classname1.class.php  (just the way you notice a folder called mailchimp and under mailchimp a class file called mailchimp.class.php).

So you will have something like this:

/dap/plugins/classname1/classname1.class.php

Here’s what you need to have in classname1.class.php ( skleton class implementation ) :

< ?php

class classname1 {

function classname1() // constructor
{ }

//======== USER REGISTRATION===========

// this function is called by dap when a user is added to a product

function register($userId, $productId, $params) {

logToFile(“classname1.class.php: register(): “, LOG_INFO_DAP);
$dapuser = Dap_User::loadUserById($userId);
$email = trim($dapuser->getEmail());
$username = trim($dapuser->getUser_name());
$firstname = trim($dapuser->getFirst_name());
$lastname = trim($dapuser->getLast_name());

$data = explode(“:”,$params);

}

function unregister($userId, $productId, $params)
{
logToFile(“classname1.class.php: register(): “, LOG_INFO_DAP);

$dapuser = Dap_User::loadUserById($userId);
$email = trim($dapuser->getEmail());

$data = explode(“:”,$params);

}

}
?>

NOTE:

You MUST have same name methods (called register() and unregister() ) and the exact method signature as you see above.

You can  call other methods/functions from register/unregister and/or

You can call 3rd party APIs from register/unregister methods and/or

You can include other class files.

Whatever values you pass (VALUE1, VALUE2 etc) via notify plugin, you can access those values in these methods. The values are available in the $params array.

That’s it.

You can add a test user to a product in DAP (via dap admin -> add users) and see if things work as expected.

E-Junkie Integration

Customer Flow

  1. Buyer comes to your web site and clicks on your buy button and is taken to e-junkie to checkout
  2. Buyer finishes paying, and then they are redirected to a static page on your site that says something to the effect of “Thank you for your purchase. Please check your email id that you just used during purchase, for information about how to login and access the product you just purchased.”
  3. While this is happening, in the background, e-junkie would’ve already notified DAP via their back-end notification process called “Common Notification”, and DAP would’ve already created an account for the buyer, and emailed the buyer the login details.
  4. Buyer checks their email id, and they see the email from you giving them their login details.
  5. They login to your site using that information.

That’s the big picture. Now for the specifics on how to integrate DAP & e-Junkie.

E-Junkie Integration with DAP

1) Create a product in DAP that you want to be able to sell via e-junkie
2) Create a product in e-junkie with exactly the same name as the DAP Product name, and create a buy button for it.
3) Go to the e-junkie Seller Admin > Edit Account Preferences > Common Notification URL field
Set it to point to…

http://yoursite.com/dap/dap-ejunkie.php
(replace yoursite.com with the name of your site)

4) Go back to DAP Setup -> config -> payment processing section.
Look for these config items:

Merchant’s Payment Gateway API Login ID
Merchant’s Payment Gateway Transaction Key

And set these to match your ejunkie merchant login Id and password. This is needed for security validation.

That’s it!

Go ahead and test your purchase and see if it makes it to DAP Payment/Coupons => Orders page and if the users get added.

Paypal Integration Summary

DAP supports 3 different types of Paypal Integration.

1) Paypal Hosted Buttons
2) DAP Generated Buttons For Paypal
3) DAP Shopping Cart with Upsells

Let’s get into more details about each one of them.

1) Paypal Hosted Buttons

You generate the button within your Paypal account.

Click Here to find instructions to integrate DAP and Paypal Hosted Buttons.

If the integration is not working, Click Here to find troubleshooting instructions.

Note: you only need to set the following config items for Paypal hosted buttons.

a) If you want to use Paypal Sandbox for testing, then set the following to “Y”.
DAP Setup -> Config -> Paypal -> Use Paypal Sandbox: For initial testing only

If you want to connect to your Paypal live account, then set it to “No”.

b) If your site has trouble connecting to Paypal via CURL and you see this error in DAP orders page => Check Product and Price(Reprocessible), then update the config below to FOPEN.

DAP Setup -> Config -> Paypal -> 4) Paypal Communication Protocol: How DAP connects to and communicates with Paypal on the back-end.

That’s it.

The following config items are NOT needed if you use the Paypal hosted buttons.

Paypal API Username - Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.
Paypal API Password - Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.
Paypal API Signature – Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.
Paypal API Endpoint - Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.

Paypal Business Email ID - Only needed if you use the DAP generated button for Paypal (DAP Payments/Coupons -> Generate paypal button)

Merchant Payment Gateway API Login ID
: Only needed if you use e-junkie or the DAP upsell tree plugin for Authorize.net
Merchant Payment Gateway Transaction Key: Only needed if you use e-junkie or the DAP upsell tree plugin for Authorize.net

The following fields in the DAP Products page ONLY need to be set if you use DAP upsell tree plugin or the DAP generated button for Paypal.

Recurring Count, Trial Amount and Product Price

If you are using regular paypal button, you can leave these empty. Even if these are not-empty, DAP will not use it for regular paypal hosted buttons.

2) DAP Generated Buttons For Paypal

With DAP 4.0, we have added support for DAP generated buttons for Paypal. You no longer have to generate buttons within Paypal.

You can generate the button for Paypal from within your DAP Admin Panel -> Payment Processing -> Generate Paypal Button page.



Click Here
to find instructions to integrate the DAP generated button with Paypal.

3) DAP Shopping Cart / DAP Upsell Tree Plugins

1) Paypal Standard Upsell Tree Plugin
2) Paypal Payments Pro Upsell Tree Plugin / DAP shopping cart

Click Here
for details.

DAP-1SC Login Xpress

DAP Supports Login Xpress with 1ShoppingCart (What is Login Xpress?)

The documentation below will show you how to setup 1ShoppingCart and DAP, so that your buyers can be automatically logged in to your “Member’s Area” upon completion of their purchase.

Note About Processing Recurring Orders via 1SC

If you only sell ONE-TIME products at this time, then the Login Xpress flow below is all you will need to setup as far DAP & 1SC integration is concerned.

If you are selling RECURRING products via 1SC , but DO NOT WANT your users to be automatically logged in to the “Members’ Area” right after their purchase, and you prefer sending them their membership login info (email & password) via email, then you DO NOT need to read this post any further – simply head over to this post: 1ShoppingCart Recurring Payment Processing via Email

But if you sell RECURRING products via 1SC and you DO WANT also want your users to be automatically logged in to the “Members’ Area” right after their purchase, then continue reading this post for Login Xpress setup. After setting up Login Xpress, you will also need to set up the email parsing of orders to allow DAP to process RECURRING payment notifications from 1SC as described here.

Login Xpress Setup

1) 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” as your 1SC  product name.

2) Login to your 1ShoppingCart admin account

Go to Products > Manage Products. Edit Product you are setting up.

Go to the “Links” tab of that Product.

Set up the Thank You URL to point to a DAP script on your site, as shown below:

http://YourSite.com/dap/dap-1shopcart.php?cartId=SecretKey

Note: YourSite.com should be replaced by the name of your site

SecretKey should be set to the same value that you set in  DAP Dashboard > Setup > Config > Payment Processing > Secret Authorization Key used when interfacing with external systems.

The secret authorization key / secret key can be set to anything. They just have to match [in both locations - DAP and 1SC].
Say you set Secret Authorization Key to COOLBEANS. Just make sure SecretKey is also set to COOLBEANS.

For ex - http://YourSite.com/dap/dap-1shopcart.php?cartId=COOLBEANS

DAP Secret Key Setup

 

3) Now open a brand new browser session where you are not logged in as DAP admin.  Complete a test purchase using an user email that is not already in your DAP.  If the integration worked correctly, then a new user account will automatically get created in DAP, and the user will also be automatically logged in to DAP.  After auto-login, DAP will redirect the users to whatever you configured in DAP under :

DAP Dashboard > Setup > Config > Advanced > URL to which the user is redirected to upon login.

 

DAP-Supported Shopping Carts

Direct Integration with Shopping Carts and Payment Processors

DAP directly integrates with the following Payment Processors without the need for any additional third-party shopping carts:

  • Authorize.net
  • 2Checkout.com
  • ClickBank
  • Digiresults
  • Google Checkout
  • e-Junkie (e-J does not allow recurring payments)
  • JVZoo
  • Paypal Standard
  • Paypal Website Payments Pro
  • Plimus
  • WorldPay
  • WSO Pro (Warrior Plus)

DAP also integrates with the following Shopping Carts

Indirect Integration through 3rd Party Shopping Carts

Since DAP integrates with Shopping carts like 1SiteAutomation.com (our white label of 1Shoppingcart), e-Junkie, Premium Web Cart and Infusionsoft, that means that it also integrates (albeit indirectly) with all of the Payment processors and gateways that these carts support. So, or example, since DAP works with 1SiteAutomation, it essentially integrates with all payment providers supported by 1SiteAutomation, like:

2CheckOut.com (direct integration too)
Authorize.net (direct integration too)
Bank of America
BluePay
Concord EFSNet
Cybercash
DPI Merchant Services
e-Commerce Exchange
Echo Inc.
ECX QuickCommerce 3.0
Epoch Systems
eProcessing Network
EPS SecureNet
EWAY (Australia)
FastTransact
Firepay
Google Checkout (direct integration too)
GoRealTime/EPP
GoRealTime
iBill
IntelliPay ExpertLink
IONGate (Costco)
iTransact RediCharge
LinkPoint Secure
MCPS WebLink
MerchantPartners
Moneris
NETbilling
Network Merchants
Paradata
PayCom Processing
Paymentech (direct integration via Authorize.net)
PayPal (direct integration too)
PayPal Payflow Pro (via e-Junkie)
PayReady
Planet Payment
PRIGate
PSiGate
RightConnect
RTWare WebLink
Shift4
SkipJack
StrataPay
Surepay
TrialPay (via e-Junkie)
TrustCommerce
USAEpay
uSight
VeriPayment
VeriSign PayFlow Pro
ViaKlix (Nova Systems)
WorldPay (direct integration too)
YourPay

For the full list and more details, click here

1-Click Upsells

If you use DAP as a shopping cart, then you can do 1-Click Upsells/Downsells like the pros, without the need for any external shopping cart or upsell service provider.

DAP directly allows you to do 1-Click Upsells using Authorize.net, Paypal Website Payments Pro and Paypal Standard. Upsell-Tree plugin for Authorize.net and Paypal Website Payments Pro is included for free along with your purchase of DAP. However, the Upsell-Tree plugin for Paypal Standard is sold separately.

Of course, if you need advanced shopping cart features – like ability to calculate shipping, tax, and coupons, then you’re better off using 1SiteAutomation.com.

1ShoppingCart & GoDaddy

If you want automated recurring order processing using 1ShoppingCart (1SC) or 1SiteAutomation.com, then DAP needs to be able to process the recurring email notifications sent by 1ShoppingCart, which it does on the back-end when the DAP Cron Job runs every 10 minutes.

However, if you’re using Godaddy as your web host, then because GoDaddy disables a mandatory PHP library (“imap”) on all their servers for some reason, DAP is unable to process the recurring order email notifications from 1ShoppingCart.

This is not an issue if you are using GoDaddy as just your domain name registrar, and using some other service like Dreamhost or Hostmonster as your web host.

But if you’re using 1SC & GoDaddy hosting, you will have to end up doing manual cancellations if any member cancels their subscription, or if their credit card fails and their recurring payments don’t get processed.

Please note that 1ShoppingCart order processing works great with all other (non-GoDaddy) hosts.

Cancellation or Refund Requests

The Question

How does a customer, once they have signed up and become a member, cancel their membership (or get for a refund)?

Cancellations

If it’s Paypal, they could go into their Paypal account, and cancel their subscription themselves.

If it’s ClickBank, they can log in to their CB account, and cancel their subscription themselves.

If it’s any other payment processor or cart – like 1SiteAutomation.com, Authorize.net, Paypal Payments Pro, etc – then they have to ask you (the membership site owner) to cancel.

Refunds

Except with CB, in all other cases, they have to ask you for a refund

Action Steps For DAP Admin

Whether it’s a cancellation or a refund, log in to your Payment Processor (1shoppingcart, Authorize.net, etc), and make sure you perform the cancellation or refund there. DAP does not store any of the payment information of your subscriber. So both cancellations and refunds have to be performed at your Payment Processor.

Now that you’ve cancelled the actual charging of the customer at the payment processor level, you have to also take care of the customer within DAP – only for refunds.

Cancellation Of Ongoing Subscription in DAP

If this is the cancellation of an ongoing subscription, then no action required within the DAP Dashboard as far as the User is concerned. DAP already does “Pay As You Go” processing – which means, their account will automatically expire at the end of the current recurring period (eg., end of current month). The “Access End Date” of the user’s access to the Product will automatically expire if no new payments come in. And then they’ll automatically lose all access to the content that is part of that Product.

However, if this is the cancellation of a “trial”, where if the user comes back and signs up again for another trial a few weeks or months later, then you want the user to start all the way AT THE BEGINNING. So if it’s the cancellation of a “trial” then you must manually remove the user’s access to the product. So for that, follow the process below.

Refunds (and Cancellation of Trial) in DAP

If it’s a refund of just one recurring payment, or the cancellation of a trial, then you can go into the “Users > Manage” screen, search for the user, and do a “Rollback Access for Selected User(s) to the Product by 1 Recurring Cycle“.

If it’s a refund of the entire purchase, then…

  • Search for that user by email on the “Orders” page, which will bring up their Order (a.k.a “Transaction”)
  • Click on the “Refund” button on that screen. That will create a new negative transaction in the Orders table. Then it also roll-backs any affiliate commissions earned on that sale and make a negative entry in the database for that affiliate. Then it rolls back user access by the number of days entered in one of the “Recurring Cycles” entered on that Product’s page (depending on how far along they were in as a member).
  • Now search for that user by email on the “Users > Manage” screen. Make sure that they no longer have access to the Product.

For a big-picture view, also see Cancellations & Refunds

Troubleshooting 1ShoppingCart Integration

There are a few different reasons why this may not be working.

1. Check if Cron is running

The DAP email-processing cron that processes the 1SC emails may not be running. Check your webhost control panel -> Cron job settings. Make sure dap-emailorder.php is setup to run once every 10 minutes.

2. Incorrect Setup of Billing Email Id

The billing email id you have entered in DAP at Setup > Config > Payment Processing , should be entered into the “Order Notice Email – Primary Destination” field in your 1SiteAutomation/1Shoppingcart account, on the Setup > Orders > Notifications section. If by chance you enter it into the “Order Notice Email – Primary Destination” field, it WILL NOT WORK.

3. No Notification Emails from 1SC

The DAP cron is running but 1SC payment notification emails are not reaching your mail server. Check the email account where you expect to receive your 1SC payment notification emails and see if the order notification email from 1SC is in that mail box.

4. Incorrect Mail Server Settings

The cron is running and the 1SC order notification email is reaching your mail server – but you did not configure the mail server settings correctly in DAP Dashboard -> Setup -> Config -> Payment Processing.

Email Server Where Order Emails Come In
Email Server User Name
Email Server Password

5.”Read” Or Deleted Emails

DAP only processes order notification emails that are in the “Unread” status, to prevent previously processed emails and other non-DAP emails from being repeatedly processed.

Also, if you “pop” off the emails from that mail box (means, your email client like Outlook or Thunderbird or Gmail is “removing” your emails from the server when it retrieves them), it means that when DAP logs in to that billing email address, there are no emails there to be processed – the mailbox is empty, or the 1SC payment notification emails have somehow gotten deleted from that mailbox.

So it is possible that DAP is able to connect to your email server, but DAP is not finding any “unread” emails. Please login to your email server and mark all the payment emails that you want DAP to process… as “unread”. And also make sure that your email client does not remove the emails from that mail box.

6.Product Name Mismatch

There might be a “Product Name” mismatch. The product name has to be EXACTLY the same (including case, spaces, etc) in both DAP as well as in 1ShoppingCart. So if you have created a product by name “Widget A”, make sure your 1shoppingcart product also has the exact same name “Widget A”.

If everything is setup correctly, DAP cron will run every 10 minutes and try to process all 1SC emails.

The next time the DAP cron will run (every 10 minutes), it will pick up all the unread payment emails from 1SC.

7. Empty “Thankyou-Email Body/Subject”

Welcome email is not getting sent.

Select the product, and make sure there is some text in the “Thankyou-Email Subject” and “Thankyou-Email Body”. Whatever is in these fields is what gets sent immediately after someone purchases that product (or right after you give them access from the backend).

Now go to DAP Dashboard -> Users -> Add .

Select the product and manually add user. Now see if the thankyou email gets sent to that email id. If it got sent, then your product setup is correct.

Also check the DAP Dashboard -> Orders . Search for all orders, look up the order for the particular user in question by email.

Check the payment status and make sure there is no error there.

If you did all this and things are still not working, please do this:

1. Set DAP Dashboard > Setup Config -> Basic > Log Level = 5
2. Re-run the 1SC test purchase
3. Check the DAP Logs (DAP Dashboard > System > Logs) and send us the log text in there for troubleshooting by pasting it into a new support ticket.

8. Sending Email & Password To Buyer

Make sure you have set the thank-you message with the right merge tags for Email and Password.

9. Manually Running Cron

First set DAP Dashboard > Settings > Config > Log Level = 5

If you feel that the orders were not processed in dap, then just login to the 1SC email account where the sales/payment notification emails are sitting, and mark those orders/emails as UNREAD that you want dap to process.

Then manually run the cron script dap-emailorder.php cron by visiting the following link in the browser.

http://www.yoursite.com/dap/dap-emailorder.php

Replace yoursite.com with the name of your site.

It will just display an empty screen when complete.

Then check “Users > Manage” to see if user has been created.

- Veena Prashanth

1-Click Upsells With Paypal Standard

1-Click Upsells, Downsells and OTO’s are now extremely simple to implement using the new “Upsell Tree” plugin for DAP.

And this particular plugin works with Paypal Standard! Which means you don’t need a merchant account any more.

All you need is a regular Paypal Business Account.

Please note that this is not “True 1-Click”, like you can do with a real merchant account – because of the very fact that Paypal expects your buyers to log in at least once into their paypal account through Paypal.com, and then at the end of the Upsell-flow, there is one final confirmation page. So it’s more like “2-Click Upsells” really.

If you want true 1-Click Upsells, then you need to have a merchant account through Paypal Website Payments Pro or Authorize.net.

IMPORTANT: What you need before you can use this plugin

  1. You need a Paypal (Standard) Business or Premier account
  2. You must have SSL (secure server) enabled on your web site. Ask your web host to enable SSL for your site.
  3. You must have a working version of DAP 3.7+
  4. You cannot sell a “Recurring” product as an Upsell – recurring products have to be the first product in the flow.
  5. Here’s what you CAN do: You can have a recurring product as the very FIRST product that they purchase (when they first click on the “Buy” button on your main sales page, and then you can offer any number of “One-Time” Products as upsells or downsells.
  6. Here’s what you CANNOT do: Offer a “One-Time” product as your first product that they buy, and then try to upsell them to a “Recurring” Product. Unfortunately, this is a Paypal problem at this time.

Installation & Setup of UpsellTree For Paypal Standard

  1. You need to be running at least DAP v3.7 for this plugin to work
  2. Purchase the UpsellTree plugin if you haven’t already done so, login to your DAP account and download the plugin zip file, PaypalStandardUpsellTree.zip .
  3. Unzip the file to your desktop. That will create a new folder on your desktop, called “PaypalStandardUpsellTree” which will have all of the files inside.
  4. Upload all the files inside, directly to your “dap” folder on your web site.
  5. DO NOT upload the folder itself. Just the files inside.
  6. Installation of Paypal Upsell-Tree Plugin is complete.
  7. Next, log in to your Paypal account.
  8. Click on “Profile”
  9. Click on “Request API Credentials” (under ‘Account Information’ section). It will bring you to the API access page.
  10. Under Option 2, click on “Request API credentials” to create your own API username and password.
  11. Click on “Request API signature”
  12. Click on “Agree & Submit”
  13. Note down the following pieces of information:
    * API Username
    * API Password
    * API Signature
  14. That’s it as far as your Paypal account is concerned. Now back to DAP on your site.
  15. Log in to your DAP Dashboard
  16. Go to “Setup > Config“. On that page, click on the “Paypal” link in the links towards the very top of that page (or scroll down to the “Payment Processing: Paypal” section).
  17. Enter the 3 pieces of information (from Step #13 above) into the Config fields 7, 8 & 9 on that screen: Paypal API Username, Paypal API Password, and Paypal API Signature. Cick  “Update” and save the changes.
  18. Generating the Paypal Upsell Buy Buttons:
    In the DAP Dashboard menu, go to Payment Processing > Generate Buy Button
    You will now see that you’re on the default tab “Paypal Standard”.
  19. So now select the DAP Product for which you’re trying to generate the buy button, from the Product list.
  20. Now, once the page has refreshed, scroll down to the bottom of this page, and you’ll see an expandable section with the heading “Paypal Standard 1-Click Upsells
    Expand that section by clicking on the “+” image.
  21. You will see the following two links in that section…Generate Paypal Standard 1-Click Primary Button
    Generate Paypal Standard 1-Click Upsell ButtonThe first one is for generating the buy-button code for your primary product (the very first product in the flow). The second one is for all upsells.So if this is the first time you’re doing this, and for your main product, click on the first link.
  22. If all of your Product’s settings are correct, then you’ll see a small popup that contains the buy-button HTML code. Paste this code into a blank notepad (or text editor) window.
    So let’s say this is what the code you got looks like…<form name=”generate_paypal” method=”post” action=”/dap/PaypalSetExpressCheckout.php”>
    <input type=”hidden” name=”item_name” value=”Facebook Secrets Subscription”/>
    <input type=”hidden” name=”description” value=”This is a Subscription Product with a monthly subscription – payments every 30 days.” />
    <input type=”hidden” name=”amount” value=”10.00″ />
    <input type=”hidden” name=”trial_amount” value=”0.00″ />
    <input type=”hidden” name=”total_occurrences” value=”9999″ />
    <input type=”hidden” name=”is_recurring” value=”Y” />
    <input type=”hidden” name=”recurring_cycle_1″ value=”365″ />
    <input type=”hidden” name=”recurring_cycle_2″ value=”365″ />
    <input type=”hidden” name=”recurring_cycle_3″ value=”365″ />
    <input type=”hidden” name=”payment_succ_page” value=”https://YourSite.com/dap/continue.php?url=/dap/upsell1-paypalstandard-sample.html” />
    <input type=”hidden” name=”payment_err_page” value=”https://YourSite.com/dap/paymentError.php” />
    <input type=”hidden” name=”payment_cancel_page” value=”https://YourSite.com/dap/cancel.php” />
    <input type=”hidden” name=”payment_gateway” value=”paypal” />
    <input type=”hidden” name=”is_submitted” value=”Y” />
    <input type=”image” src=”/dap/images/btn_xpressCheckout.gif” align=”left” width=”200″ height=”50″ style=”margin-right:7px;” value=”Submit” alt=”Submit”>
  23. Look at the payment_succ_pagetag in the generated button code and have it point to your sales page for your upsell.In the above example, the upsell page is called upsell1-paypalstandard-sample.htmland it’s under the dap folder.Put this HTML code on the primary product’s sales page. This is the first product in the flow.
  24. Now, you need to generate a button for your upsell product. So go back to Payment Processing > Generate Buy Button . This time, pick the Upsell product from the list.
  25. Now scroll down to the bottom of this page, expand the section “Paypal Standard 1-Click Upsells” , and this time, click on the second link there, because you’re now generating a buy-button for the Upsell product.Generate Paypal Standard 1-Click Primary Button
    Generate Paypal Standard 1-Click Upsell Button
  26. Say this is the button code you get this time…<form name=”generate_paypal” method=”post” action=”/dap/PaypalAddToCart.php”>
    <input type=”hidden” name=”item_name” value=”Upsell 1″/>
    <input type=”hidden” name=”description” value=”This is a dummy Subscription Product with a monthly subscription – payments every 30 days.” />
    <input type=”hidden” name=”amount” value=”10.00″ />
    <input type=”hidden” name=”trial_amount” value=”0.00″ />
    <input type=”hidden” name=”total_occurrences” value=”9999″ />
    <input type=”hidden” name=”is_recurring” value=”Y” />
    <input type=”hidden” name=”recurring_cycle_1″ value=”365″ />
    <input type=”hidden” name=”recurring_cycle_2″ value=”365″ />
    <input type=”hidden” name=”recurring_cycle_3″ value=”365″ />
    <input type=”hidden” name=”payment_succ_page” value=”/dap/PaypalCheckoutConfirm.php” />
    <input type=”hidden” name=”payment_gateway” value=”paypal” />
    <input type=”hidden” name=”is_submitted” value=”Y” />
    <input type=”submit” value=”AddToCart” />
    </form>
  27. Now again, notice the payment_succ_page in the generated button code. You will see its pointing to /dap/PaypalCheckoutConfirm.php.
    a) If this is the last upsell, then leave it pointed to /dap/PaypalCheckoutConfirm.php.
    b) If this is NOT the last upsell, then update it to point to the url of the 2nd Upsell page (like we did for the primary product to point to the first Upsell sales page) and repeat the process above for the next upsell page.Bottom-line: Make sure that both the buy-button code as well as “No Thank You” link on the last upsell or downsell page, points to /dap/PaypalCheckoutConfirm.php
  28. When your buyer reaches the final checkout confirmation page (PaypalCheckoutConfirm.php) then they can review all of the products in their “Upsell Cart”, and buy them all instantly and all together, without having to go back to Paypal ever again.
  29. Things To Note:
    a) If you’re doing upsells, the only thing you need to do is, look for the “payment_succ_page” field in the above form. By default it will point to:
    https://www.example.com/dap/continue.php?url=/dap/upsell1.html
    b) Modify the file upsell1.html within your dapfolder, to create your 1-Click Upsell offer. Or if you don’t wish to use 1-Click upsells, you can make just about any kind of upsell offer on that page. The upsell1.html that comes with the plugin has a sample upsell page already created for you, just so you get an idea of what that will look like.b) On the upsell page, if you want to upsell say, Product B, then make sure you set up “Product B” ahead of time in DAP, and set up the price and recurring options.
    c) Then for upsell products only, click on the “Generate Authnet 1-Click Upsell” link to generate the 1-Click Upsell Buy button code, as the upsell buy button is slightly different than the ‘regular’ buy button code. Now take the upsell buy button code like you did before, and paste it in upsell1.html.Repeat this process for unlimited upsells, downsells and one-time offers. No limits.

“No, Thank You” Buttons & Links

On every upsell page, you must also include a “No, Thank You” button or link that will allow your buyer to skip your upsell or downsell, and go to the next part of the sale.

For all upsells that are not the last upsell, you can link this button or link to the next upsell in the chain. So basically, on Upsell 1, they can either take the upsell1 (whatever your offer is) by clicking on the buy button, or click on the “No, Thank You” button/link, and you could then either taken them to the URL of Upsell2, or Downsell 1, or if this is the last upsell in the flow, then you could send them directly to the Paypal Upsell Summary Page /dap/PaypalCheckoutConfirm.php

Creating a “No, Thank You” button

Button to take them to next Upsell/Downsell:

<form name=”nothankyou”>
<input type=”button” name=”nothankyoubutton” value=”No, thank you, I wish to skip this incredible offer” onClick=”location.href=’https://YourSite.com/dap/continue.php?url=/dap/upsell2.html‘;”>
</form>

Feel free to copy the above HTML button code for the no-thankyou button. However, paste it into a text editor and be careful and don’t delete any of the HTML code, and only change actual URL’s or the button’s value (which is the text your buyer will see on the button).

Button to take them to final Checkout Summary page:

<form name=”nothankyou”>
<input type=”button” name=”nothankyoubutton” value=”No, thank you, please complete my order” onClick=”location.href=’/dap/PaypalCheckoutConfirm.php‘;”>
</form>

Creating a “No, Thank You” link

Link to take them to next Upsell/Downsell:

<a href=”https://YourSite.com/dap/continue.php?url=/dap/upsell2.html“>No, thank you, I wish to skip this incredible offer</a>

Link to take them to final Checkout Summary page:

<a href=”/dap/PaypalCheckoutConfirm.php“>No, thank you, please complete my order</a>

That’s it.

While it looks like a LOT of steps, that is only because we have to explain the steps in detail so they are clear. In reality, it is very simple to set up, and starting from scratch, if you have DAP & SSL already installed, it shouldn’t take you more than 1/2 hour to set up your 1-Click Upsells/Downsells/OTO’s. And if you’re not using Upsells/Downsells, then it can be done even faster.

If you have any further questions, feel free to open a support ticket, and we will assist you in getting this going.

 

Click here to buy our Paypal Upsell-Tree Plugin

Buy Buttons, 1-Click Upsells, Downsells & OTO’s using Authorize.net

Selling through Authorize.net, 1-Click Upsells, Downsells and One-Time Offers (OTO’s) are all now extremely simple to implement using the new Shopping Cart Plugin for DAP.

This post explains how to create buy buttons for selling through Authorize.net.

Your site visitors never have to leave your site in order to make a purchase, if you are selling through Authorize.net. DAP itself will act as your shopping cart, and buyers can checkout and make purchases by staying right on your web site.

The DAP Shopping Cart itself is your actual shopping cart that connects to Authorize.net. You need to install this plugin whether you wish to accept one-time or subscription payments via Authorize.net, or whether you wish to do Upsells, and Downsells.

What you need before you can use this plugin

  1. You need an Authorize.net merchant account
  2. If you want to sell subscription-based products, then you also need Automated Recurring Billing (ARB) enabled in your Authorize.net account.
  3. You must have SSL (secure server) enabled on your web site. Ask your web host to enable SSL for your site.
  4. You must have a working version of DAP 3.5+.

Installation & Setup of UpsellTree

  1. You need at least DAP v3.5 for this.
  2. Follow standard procedure for installing DAP (OR) upgrading your DAP & LiveLinks versions. Nothing different there.
  3. Log in to our member’s area and download the plugin file, DAPShoppingCart.zip .
  4. Unzip DAPShoppingCart.zip to your desktop. It will unzip the files to a new folder on your desktop, called “DAPShoppingCart”.
  5. Upload ALL of the files inside, DIRECTLY to your “dap” folder on your web site. DO NOT upload the folder itself.
  6. Log in to your Authorize.net account, go to the “Settings” page.
  7. Click on the “Silent Post URL”.
    authnet_silentpost
  8. Change it to:  http://YourSite.com/dap/dap-silentpost.php . Be sure to change the text “YourSite.com” to your actual domain name.
    authnet_silentpost_submit
  9. On the same settings page, click on the “API Login ID and Transaction Key” link towards the bottom, and make a note of your “API Login ID” and “Transaction Key” on a piece of paper. That page also lets you create a new Transaction key or modify your existing one.
    authnet_settings
    That’s it from the Authnet side.
  10. Now log in to your DAP Dashboard and go to “Config > Payment Processing“.
  11. Enter the “API Login ID” and “Transaction Key” that you noted down earlier (Step #9 above) into the respective fields, and click  “Update” next to the fields to save the changes.
    authnet_dap_config
  12. This step applies to you only if you are already using 1ShoppingCart with DAP (if not, skip to next step):
    Be sure to remove the “Email Order” cron job from your web hosting control panel (“Cron Jobs” screen), because you don’t want your orders to be double-processed.
  13. Go to the “Products” page. You will now see a few new fields (some because of of DAP 3.5, some because of the new plugin).
    newproductspage
    A) Product Price: For a 1-time purchase product, this is the product’s purchase price. For a recurring product, this is the “recurring” price (what the customer gets charged month after month).
    B) Trial Amount: This is only if there’s a trial amount. If no trial, leave this empty.
    C) Recurring Count: How long is your subscription? If you said “Forever”, then enter the number 9999 here. If it ends after 6 months, then enter 6 here.
  14. Set these fields to valid values.
  15. NOTE: The DAP Authorize.net allows 1 trial. So in the recurring cycle fields, make sure “Payment/Trial Period #2″ and “Payment/Trial Period #3″ are both the same (set to same number of days: like 30). Example below shows the setting for a “7 day” trial period, followed by recurring payments every “30 days”.
    authnet_recurring_cycle
  16. If you are not offering a trial, then just set the Trial Amount to $0.00. But if you really wanted to offer a FREE TRIAL, then you must set the Trial Amount to at least $0.01 (1 penny).
  17. Once you’ve saved the product, you can now click on any of the two new “Generate… Button Code” links that are located right below the product list combo box.
    newproductspage2
  18. “Generate Authnet Buy Button” link:
    This generates the buy button HTML code for your product, which you can then directly paste into your sales page. When you click on this link, you will get a pop-up that shows the actual HTML code for your button. The price, trial price, and recurring options are all taken from your Product settings. So make sure you have saved your Product changes before you click on this link.
    authnet_buybutton_code
  19. Here’s what the HTML code looks like:
    <form name="generate_authnet" method="post" action="https://www.contentresponder.com/dap/buy.php">
    <input type="hidden" name="item_name" value="Example Subscription Product"/>
    <input type="hidden" name="description" value="This is a dummy Subscription Product with a monthly subscription - payments every 30 days." />
    <input type="hidden" name="amount" value="1.00" />
    <input type="hidden" name="trial_amount" value="0.01" />
    <input type="hidden" name="total_occurrences" value="9999" />
    <input type="hidden" name="is_recurring" value="Y" />
    <input type="hidden" name="recurring_cycle_1" value="30" />
    <input type="hidden" name="recurring_cycle_2" value="30" />
    <input type="hidden" name="recurring_cycle_3" value="30" />
    <input type="hidden" name="payment_succ_page" value="https://www.contentresponder.com/dap/continue.php?url=/dap/upsell1.html" />
    <input type="hidden" name="payment_gateway" value="authnet" />
    <input type="hidden" name="is_submitted" value="Y" />
    <input type="submit" value="Buy Now" />
    </form>
  20. If you’re doing upsells, the only thing you need to do is, look for the “payment_succ_page” field in the above form. By default it is pointing to:
    https://www.contentresponder.com/dap/continue.php?url=/dap/upsell1.html
  21. Modify the “upsell1.html” file within your dap folder, to make your 1-Click Upsell offer. Or if you don’t wish to use 1-Click upsells, you can make just about any kind of upsell offer on that page. The upsell1.html that comes with the plugin has a sample upsell page already created for you, just so you get an idea of what that will look like.
  22. On the upsell page, if you want to upsell say, Product B, then make sure you set up “Product B” ahead of time in DAP, and set up the price and recurring options. Then for upsell products only, click on the “Generate Authnet 1-Click Upsell” link to generate the 1-Click Upsell Buy button code, as the upsell buy button is slightly different than the ‘regular’ buy button code. Now take the upsell buy button code like you did before, and paste it in upsell1.html. That’s it.
  23. You can repeat this process for unlimited upsells, downsells and one-time offers. No limits.

That’s it.

While it looks like a LOT of steps, that is only because we have to explain the steps in detail so they are clear. In reality, it is very simple to set up, and starting from scratch, if you have DAP & SSL already installed, it shouldn’t take you more than 1/2 hour to set up your 1-Click Upsells/Downsells/OTO’s. And if you’re not using Upsells/Downsells, then it can be done even faster.

If you have any further questions, feel free to open a support ticket, and we will assist you in getting this going.

How Do Members Get Added To Your Membership Site

(OR) How do members get access to the content

(OR) How does someone become a member?

With DAP, you can add users to your membership site in 3 different ways.

1.  PURCHASE: Someone buys your product or subscribes (“Paid” member with access to both free and paid content)

2.  FORM SIGNUP: Someone signs up through a signup form (“Free” members with access to only free content)

3. ADMIN ADDED: You add them as a member directly through the DAP Admin Control Panel (you can mark them as either “free” or “paid”)

All three are explained in detail below.

1. PURCHASE

*You first create a “Sales Page”.

On your sales page, depending on which payment processor you use, you go to Paypal/1ShoppingCart/ClickBank and create a new product with the EXACT same name as the product you created within DAP, and get the ‘Buy Button’ link from your Payment Processor. Publish this “Buy Button” on your sales page.

* Your visitor goes to your sales page

* They purchase your product

* Your payment process (Paypal/1ShoppingCart/ClickBank) notifies DAP that you have a new purchase.

* If the product names match, DAP automatically creates an account for them, generates a random password, and sends them an email with their email/password. You can customize the contents of this email on the “Templates” screen in your DAP Admin Control Panel. Integration with your shopping cart explained elsewhere (see documentation for setup).

That’s it!

That’s how “buyers” get added to your membership site and get access to the product they just purchased.

2.  FORM SIGNUP:

You wish to give someone a “Free” membership.

NOTE: “Free” members who do not have a payment associated in DAP (which means they have not purchased anything) will have access only to content that you have marked as “Free”.

Once you have created a Product in DAP, and have added content (blog post/page links, links to files, etc), and have saved it, on the Product page, below the Product name list, you will see a link called “Direct Signup HTML”. (See image below). You must first select a Product before you can copy the correct form HTML.

Fig 1. Direct Signup Link on Products page

dap-direct-signup

Fig 2. Form HTML that you get on clicking the Direct Signup Link


dap-direct-signup-onclick

This HTML gives you the full HTML form code that you can publish on any page of your web site. This form only collects an email address and a first name.

Take this HTML code and publish it on page of your web site where you want sign up users. This could be a WP page or post too.

Note: When you see the above HTML code, there’s a field in there that looks like this:

<input type=”hidden” name=”redirect” value=”http://YourSite/Your-login-page-link/?msg=Success!%20Your%20membership account%20has%20been%20created.%20%20Check%20your%20email%20address%20in%20a%20few%20minutes%20for%20your%20password“>

Don’t forget to change the text above, where it says “http://YourSite/Your-login-page-link/?…” to point to your actual domain name and to your actual login page (if you have customized it).

Then, when someone enters their email address and first name and signs up through the signup form, DAP creates an account for them using that email address, creates a random password, and sends them an email with their email/password.

After that, you can drip any content or emails on them that are marked as “Free” (when adding content or emails).

At some later point, if they purchase any of your “Paid” products (see the “1. Purchase” section above), then as long as they use the same email id during purchase, DAP will automatically give them access to all of the “Paid” content in the Product that they just purchased.

3. ADMIN ADDED:

If you wish to directly give someone access to a Product and all its content and emails, you can add them directly from the DAP Admin screen (Users > Add/Edit).

You just need their email id and their first name (both of which they can change subsequently) to add them to a Product.

While adding them, you have the option of marking them as a “Paid” user by checking the “Mark as Paid” checkbox.

If you don’t check this check box, then they will be added as a “Free” user and get access only to “Free” resources (content/emails).

But if you check the “Mark as Paid” checkbox, then they will get access to all “Paid” content and emails, just like someone who is actually a “Paid” member.