We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

Beta Version: Digital Commerce Module

Development and Programming

Brad Street's avatar
Brad Street
239 posts
16 years ago
Brad Street's avatar Brad Street

So, as a musician and web developer, I absolutely love EE. The only issue I had with it was trying to sell my album and downloads. I didn’t want buyers to have to register to be a “member” of my site in order to purchase, and I needed to be able to sell digital downloads and have the process automated. After engineering a solution that worked for me, I decided that such functionality must be useful to others. It has taken a while, but I’ve reworked my solution into an actual module that I’ve been using on my site for the last month - the Digital Commerce Module.

Here’s an overview taken from the docs:

The Digital Commerce module allows you to sell items (both downloadable and tangible), without requiring the purchaser to first register as a member of your site. If the item is digital (downloadable), the module will email download links to the customer upon successful “completed” payment via PayPal. If used with the LinkLocker module, you may specify security parameters for the generated links in the email templates. There is no need to setup IPN with paypal, as the module will handle responses by setting up and passing in a notify_url parameter. There is also no need to encrypt your buttons, as the system does not use typical PayPal buttons. The buttons post to a link created on your site that creates the POST to PayPal instead of passing the parameters via a URL or hidden form fields. The store admin can optionally be copied on emails sent to customers.

Because the system is based on the ExpressionEngine idea of weblogs, it is very easy to use. Simply add your store items to the Digital Commerce Store weblog (created automatically for you), then display them as you would any other weblog with an {exp:weblog:entries} tag pair. For store functionality, use the {exp:digital_commerce:paypal} tag pair. The only required parameter for the digital commerce tag pair is the entry_id. We use this to get all of the information we’ll need for PayPal, such as item price, tax, shipping, etc. You can optionally specify an btn_dir parameter with this tag pair, which would be a directory containing images (besides the defaults) that you’d prefer to use for PayPal image links.

You can also accept donations using the Digital Commerce module. Currency specified in the sitewide configuration is used. Success and Cancel URLs specified in sitewide config will be used unless passed in as success or cancel parameters. See the “DONATE PARAMETERS” section for documentation and usage instructions.

It is worth noting that this module requires the Ioncube PHP Loader to be installed. By default, it is available on many web hosts and doesn’t cost anything. Please feel free to play with the module and let me know what you think. Currently, this demo will only function in test mode, so you may use the PayPal sandbox for testing. Once the module is available for purchase, if you choose to purchase Digital Commerce, you may enter a license key and you will not lose any of the information you’ve entered.

Update 12/09/08 By popular request, I have made the module open so that you may examine the inner workings of the module and modify it as you see fit. For the moment, the control panel will remain encrypted until I can figure out a better way to do licensing. Please post your thoughts on the module, and any bugs you may turn up. The module is packaged with ioncube files (just in case you find it isn’t supported on your server). Otherwise, there’s no need to put the ioncube folder on your site.

The module may be downloaded from here.

Update 1/29/09 - .zip containing screenshots attached below.

       
Ingmar Greil's avatar
Ingmar Greil
29,243 posts
16 years ago
Ingmar Greil's avatar Ingmar Greil

Sounds like an interesting solution, but encrypted PHP? Call me paranoid, but do I really want to run a php script I can’t see? I think I’ll pass for now.

       
Werner Gusset's avatar
Werner Gusset
122 posts
16 years ago
Werner Gusset's avatar Werner Gusset

Sounds interesting to me too.

It is worth noting that this module requires the Ioncube PHP Loader to be installed.

Disappointing. I will never spend money on an encrypted script.

       
Mark Bowen's avatar
Mark Bowen
12,637 posts
16 years ago
Mark Bowen's avatar Mark Bowen

Sounds nice Brad. Is there any reason why the script is encrypted though?

What I’m interested in most though is the fact that you use the entry_id to then create a POST which gets sent off to PayPal thus eliminating the need for secure links to send off the details.

Could this be done with more than one item at a time or would you still have to add in each item you want to pay for one at a time? Also (excuse my ignorance here as forms and POST data are not my strong point) but could someone not create such a form and send off hooky details in some way. I’m probably wrong on that one because as soon as I wrote it it sounded wrong but before I wrote it I had something in my head telling me that you could so will let people tell me wrong on that one! 😉

Sounds useful though but I think I would prefer to see what I am running also although I am interested in the sending details to PayPal without the need for encryption part as that sounds great.

Best wishes,

Mark

       
Brad Street's avatar
Brad Street
239 posts
16 years ago
Brad Street's avatar Brad Street
Sounds like an interesting solution, but encrypted PHP? Call me paranoid, but do I really want to run a php script I can’t see? I think I’ll pass for now.

Yes, as I stated above, this module is encrypted. With the LinkLocker module, I had lots of folks asking if they could “demo” the product before purchasing. There really is no way to do that with either that script or this one. My only solution was to choose between giving away the script, encourage them to purchase just to try it out, or offer an encrypted demo.

Disappointing. I will never spend money on an encrypted script.

To be quite clear, you aren’t spending money on anything. The module isn’t yet even available for purchase. Please see the below quote.

Currently, this demo will only function in test mode, so you may use the PayPal sandbox for testing. Once the module is available for purchase, if you choose to purchase Digital Commerce, you may enter a license key and you will not lose any of the information you’ve entered.

The paid version of the module will most certainly be unencrypted to allow modification and viewing of the inner workings of the module. The CP would likely remain encrypted to facilitate appropriate licensing, unless I can find another way around the issue.

What I’m interested in most though is the fact that you use the entry_id to then create a POST which gets sent off to PayPal thus eliminating the need for secure links to send off the details. Could this be done with more than one item at a time or would you still have to add in each item you want to pay for one at a time?

The POSTs go through one at a time - the buyer may “buy now” or “add to cart”. If adding to a cart, the module uses the PayPal shopping cart.

…could someone not create such a form and send off hooky details in some way.

I don’t think I follow you. The way it works is when they click a button, “buy now” for instance, there isn’t the typical post to PayPal. They are posting the item id to an action link (www.mysite.com?ACT=123&item=32). This way, they are simply passing the weblog entry_id to this function, which gets the info from the database and creates its own post to PayPal - thereby thwarting any attempts to mess with the PayPal variables. In short, it is quite secure.

Feel free to post with any further questions, or for those who actually demo the module, any bugs you may uncover.

       
Mark Bowen's avatar
Mark Bowen
12,637 posts
16 years ago
Mark Bowen's avatar Mark Bowen

Hi Brad,

Yep that last bit about my asking if people could post hooky data did sound a bit off when I wrote it 😉 not too sure what I was thinking there. Sounds really great this one.

The only thing I would really want is to be able to send off more than one item at once to PayPal like a shopping cart. I made my own plugin to handle this sort of thing which you can see on this site here (Live site so please don’t anyone post any actual checkout forms 😉 Feel free to add items to the cart though).

Would be great if you could do something like this to enable items to be added to a cart and then all sent off to PayPal at once. Do you think that would be possible?

Best wishes,

Mark

       
Brad Street's avatar
Brad Street
239 posts
16 years ago
Brad Street's avatar Brad Street

Perhaps, but would have to wait until after initial beta testing is done with this module. Wouldn’t want to add any more variables to the equation just yet. I suspect it would require a bit of work, as a shopping cart would need to be built that could display on the site. Other than allowing the display on the actual site, rather than a PayPal popup cart, is this alternative any better than the PayPal cart?

       
Mark Bowen's avatar
Mark Bowen
12,637 posts
16 years ago
Mark Bowen's avatar Mark Bowen

Hi Brad,

Well I do actually already have a shopping cart which I created as an ExpressionEngine plugin which allows people to add items as they go around the site. These items can then all at once be added to a shopping cart so I already have that part working. The thing that I don’t like about the Add To Cart PayPal buttons are that you add the items one at a time so you keep on getting a PayPal window popping up every time. Just something that I don’t think is very user friendly being taken away from the main site all the time.

Would be great to be able to add items all to a shopping cart at once and then send them all off at once to PayPal, that would be great.

Best wishes,

Mark

       
Brad Street's avatar
Brad Street
239 posts
16 years ago
Brad Street's avatar Brad Street

By popular request, I have made the module open so that you may examine the inner workings of the module and modify it as you see fit. For the moment, the control panel will remain encrypted until I can figure out a better way to do licensing. Please post your thoughts on the module, and any bugs you may turn up. The module is packaged with ioncube files (just in case you find it isn’t supported on your server). Otherwise, there’s no need to put the ioncube folder on your site.

The updated module may be downloaded from the link in the first post of this thread.

       
Brad Street's avatar
Brad Street
239 posts
16 years ago
Brad Street's avatar Brad Street

Well, just thought I’d post to see if anyone has any feedback regarding the module. After about two weeks and 50 downloads I suspected someone would have a bug, question, or comment. Anyone?

       
Ryan M.'s avatar
Ryan M.
1,511 posts
16 years ago
Ryan M.'s avatar Ryan M.

May be giving this a try shortly.

       
mooo's avatar
mooo
168 posts
16 years ago
mooo's avatar mooo

Any chance this plugin will be out of beta soon? I’m working on a site that this would be perfect for.

       
Brad Street's avatar
Brad Street
239 posts
16 years ago
Brad Street's avatar Brad Street

Mooo,

Though there have been many, many downloads of this module, I’ve receive absolutely no feedback regarding it and there have been no bugs reported - though I’ve discovered one in the shipping charges that I need to address. I put it out there limited to running in test mode (using PayPal sandbox), in hopes of soliciting some feedback to aid in improving the module. Have you had a chance to install and test the module yet?

       
mooo's avatar
mooo
168 posts
16 years ago
mooo's avatar mooo

I haven’t had a chance to test it yet-I’m still fighting with the PayPal Sandbox. I’m hoping to test it in the next couple days.

       
james Brown's avatar
james Brown
492 posts
16 years ago
james Brown's avatar james Brown

any chance you could post up some control panel screen shots Brad? I don’t have a need for it at the present time but I have had a need for something like this in the past and in the future I’m sure.

       
1 2 3

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.