a simple e-commerce system for spip

I’m developing a plugin to integrate SimpleCart(js) [1] to SPIP

SimpleCart is a pure javascript library with support for PayPal and GoogleCheckout payments. I also add support for dineromail.com, a more popular payment system in Latinamerica [2].

It’s very beta, but you can try it through svn

http://svn.spip.org/trac/spip-zone/browser/plugins/simplecart

Here some documentation (in spanish, but understandable):

http://nqnwebs.com/blog/article/simplecart-js-para-spip


[1] http://simplecartjs.com/
[2] http://github.com/nqnwebs/simplecart-js

On Tue, Sep 14, 2010 at 3:13 AM, Martín Gaitán <gaitan@gmail.com> wrote:

I'm developing a plugin to integrate SimpleCart(js) [1] to SPIP

Hola Martin,

this looks awesome, as much as it is simple. Congratulations.

I tried to buy a DVD and I was directly sent to PayPal (I wasn't given
a choice of using Google Checkout). Was that because I already had
some paypal cookie?

PS: I could have tried to go through with payment if you had set a
more reasonable "donation price" :slight_smile:

-- Fil

On Tue, Sep 14, 2010 at 2:13 AM, Fil <fil@rezo.net> wrote:

On Tue, Sep 14, 2010 at 3:13 AM, Martín Gaitán <gaitan@gmail.com> wrote:

I’m developing a plugin to integrate SimpleCart(js) [1] to SPIP

Hola Martin,

this looks awesome, as much as it is simple. Congratulations.

I tried to buy a DVD and I was directly sent to PayPal (I wasn’t given
a choice of using Google Checkout). Was that because I already had
some paypal cookie?

PS: I could have tried to go through with payment if you had set a
more reasonable « donation price » :slight_smile:

– Fil

Hi Fil

Indeed the checkout method is set in simpleCart.checkoutTo attribute. Valid values at the moment are PayPal, GoogleCheckout and DineroMail. By default it’s PayPal.

SimpleCart has not a straight forward way to set it dinamically, to allow buyer to choice the method s/he wants but I’m implementing it in my forked version. It also could be done easily with jquery directly in spip.

thanks for the congratulations and don’t worry about the donation. It’s still in development stage ;-).

Hi Martín,

thank you for offering us such a valuable (!) tool.

Does it send a trustworty signal about the payment status to the merchant's SPIP site?

Credit card payment interfaces I know have an architecture / workflow like this:

1. Client adds item to basket
2. Client enters delivery data to merchant database
3. Client clicks on "confirm and pay now"
4. Merchant's site forwards client to payment provider (Paypal etc.) using https and a crypted string provided by the merchant's site for identification of the particular order.
5. Client pays at payment provider's site
6. Payment provider sends crypted confirmation to merchant's site through http or https
7. Merchant's site sends payment confirmation to client and changes his status in the database
8. Payment provider forwards Cliente to the merchant's site.
9. Client now has a new status and may access paid content.

Prerequisite for steps 4. ff is a secret key merchant and payment provider have agreed upon. They are using it for encrypting communication betweent their sites.

Encrypted communication using an secret key only known to merchant and payment provider makes it possible for the latter to send a trustworty payment confirmation to the merchant's site.

Is there any suche procedure in your plugin or does it just handle communication between client and payment provider ? My point is that I want to immediately send confirmations to the merchant and to the client, giving him instant access to sectors of the merchant's site containing paid content.

Excuse me for being so long, I just wanted to point out what I a m talking about. If you just answered yes oder no it would help me to understand what your plugin is about.

klaus++

Martín Gaitán wrote:

On Tue, Sep 14, 2010 at 2:13 AM, Fil <fil@rezo.net> wrote:

On Tue, Sep 14, 2010 at 3:13 AM, Martín Gaitán <gaitan@gmail.com> wrote:

I'm developing a plugin to integrate SimpleCart(js) [1] to SPIP

Hola Martin,

this looks awesome, as much as it is simple. Congratulations.

I tried to buy a DVD and I was directly sent to PayPal (I wasn't given
a choice of using Google Checkout). Was that because I already had
some paypal cookie?

PS: I could have tried to go through with payment if you had set a
more reasonable "donation price" :slight_smile:

-- Fil

Hi Fil

Indeed the checkout method is set in simpleCart.checkoutTo attribute.
Valid values at the moment are PayPal, GoogleCheckout and DineroMail. By
default it's PayPal.

SimpleCart has not a straight forward way to set it dinamically, to allow
buyer to choice the method s/he wants but I'm implementing it in my forked
version. It also could be done easily with jquery directly in spip.

thanks for the congratulations and don't worry about the donation. It's
still in development stage ;-).

------------------------------------------------------------------------

_______________________________________________
spip-en@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-en

On Wed, Sep 15, 2010 at 3:20 AM, klaus++ <klaus@spip.de> wrote:

Hi Martín,

thank you for offering us such a valuable (!) tool.

Does it send a trustworty signal about the payment status to the merchant’s SPIP site?

Credit card payment interfaces I know have an architecture / workflow like this:

  1. Client adds item to basket
  2. Client enters delivery data to merchant database
  3. Client clicks on « confirm and pay now »
  4. Merchant’s site forwards client to payment provider (Paypal etc.) using https and a crypted string provided by the merchant’s site for identification of the particular order.
  5. Client pays at payment provider’s site
  6. Payment provider sends crypted confirmation to merchant’s site through http or https
  7. Merchant’s site sends payment confirmation to client and changes his status in the database
  8. Payment provider forwards Cliente to the merchant’s site.
  9. Client now has a new status and may access paid content.

Prerequisite for steps 4. ff is a secret key merchant and payment provider have agreed upon. They are using it for encrypting communication betweent their sites.

Encrypted communication using an secret key only known to merchant and payment provider makes it possible for the latter to send a trustworty payment confirmation to the merchant’s site.

Is there any suche procedure in your plugin or does it just handle communication between client and payment provider ? My point is that I want to immediately send confirmations to the merchant and to the client, giving him instant access to sectors of the merchant’s site containing paid content.

Excuse me for being so long, I just wanted to point out what I a m talking about. If you just answered yes oder no it would help me to understand what your plugin is about.

klaus++

Hi klaus

SimpleCart, the original, is very simple (and not full featured) by design, and it’s hasn’t order controls, stocks, etc. (for which a database is required) because doesn’t interact with the server by itself. It’s just client-side javascript.

So the process at the moment is as short as this:

  1. Client adds item to basket
  2. Client clicks on « checkout »
  3. Merchants site (simplecart) forwards client to payment provider (Paypal etc.)
  4. Client pays
  5. Optionally, the payment provider forward the client to a given success/error url.

you can check the official demo at http://simplecartjs.com

I’ve done a few hacks to the original javascript code (i.e. add dineromail support) but it’s essentially that.

So, the « control » at this state of the art is not automatic and it’s at the checkout provider side, which send and store the description and state of the transaction in both seller and buyer accounts. In others words: the sellers effectively sells something when PayPal/others says (by email and in the account history) what, when and who.

One important missing step (which I must to solve at spip layer) is that client give the shipping data before to be redirected.

this example (a demo of the analogous wordpress plugin) could be a guide.
http://www.chris-wallace.com/simplecart/

thanks for the feedback.

pour info, simplecart est maintenant en traduction dans trad-lang

-- Fil

Wow ! Tu fais ca aussi pour les extensions de SPIP?
C'est un peu gênant de devoir traduire dans le code PHP les trucs qui font partie de chaque SPIP livré au "consommateur".
Merci !
klaus++

Fil wrote:

pour info, simplecart est maintenant en traduction dans trad-lang

-- Fil

Wow ! Tu fais ca aussi pour les extensions de SPIP?

il faut le faire, c'est sûr ; et jamais traduire "dans le php" !

-- Fil

Je voulais bien sûr dire "dans les fichiers de langue" (qui sont des arrays php).
klaus++

Fil wrote:

Wow ! Tu fais ca aussi pour les extensions de SPIP?

il faut le faire, c'est sûr ; et jamais traduire "dans le php" !

-- Fil

Ah. Tu veux dire qu'il existe des extensions qui ont des fichiers de
langue, et qui ne sont pas encore gérées par salvatore ?? Dans ce cas
il faut les ajouter tout de suite à salvatore/traductions.txt :wink:

2010/9/16 klaus++ <klaus@spip.de>:

Je voulais bien sūr dire "dans les fichiers de langue" (qui sont des arrays
php).

\trac\spip\branches\spip-2.1\extensions\porte_plume\lang
etc.

klaus++

Fil wrote:

Ah. Tu veux dire qu'il existe des extensions qui ont des fichiers de
langue, et qui ne sont pas encore gérées par salvatore ?? Dans ce cas
il faut les ajouter tout de suite à salvatore/traductions.txt :wink:

2010/9/16 klaus++ <klaus@spip.de>:

Je voulais bien sūr dire "dans les fichiers de langue" (qui sont des arrays
php).

Je viens de re-véfifier. Quand je cherche porte ou plume dans SPIP je trouve rien.

Fil wrote:

Ah. Tu veux dire qu'il existe des extensions qui ont des fichiers de
langue, et qui ne sont pas encore gérées par salvatore ?? Dans ce cas
il faut les ajouter tout de suite à salvatore/traductions.txt :wink:

2010/9/16 klaus++ <klaus@spip.de>:

Je voulais bien sūr dire "dans les fichiers de langue" (qui sont des arrays
php).

2010/9/15 Fil <fil@rezo.net>

pour info, simplecart est maintenant en traduction dans trad-lang

btw, how often salvatore commits changes to svn ? there is a couple of translation in trad-lang which aren’t at the zone.

btw, how often salvatore commits changes to svn ? there is a couple of
translation in trad-lang which aren't at the zone.

It's done manually, when I think about it or when someone reminds me to do it :slight_smile:

-- Fil

Can you please send the address to download the plugin?
Thank you
Kamran

Hi,
I think the easiest download method is svn :
svn://zone.spip.org/spip-zone/_plugins_/simplecart

If you don't use it already (and if you use MS-Win) simply install tortoise svn, create a local directory and make a right-click to import the above link.

klaus++

kamran Mir Hazar wrote:

Can you please send the address to download the plugin?
Thank you
Kamran

------------------------------------------------------------------------

_______________________________________________
spip-en@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-en

Le 01/10/10 08:29, klaus++ a écrit :

I think the easiest download method is svn :
svn://zone.spip.org/spip-zone/_plugins_/simplecart

you also can download the plugin by http (simplier) :

Hi,

Trac can generate zip files. Clic on the link below to get it :Zip Archive

.Gilles

On Fri, Oct 1, 2010 at 8:29 AM, klaus++ <klaus@spip.de> wrote:

Hi,
I think the easiest download method is svn :
svn://zone.spip.org/spip-zone/plugins/simplecart

If you don’t use it already (and if you use MS-Win) simply install tortoise svn, create a local directory and make a right-click to import the above link.

klaus++

kamran Mir Hazar wrote:

Can you please send the address to download the plugin?
Thank you
Kamran



spip-en@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-en


spip-en@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-en