Les étapes du processus de paiement pour un développeur PayPal Express Checkout

SandboxExpressCheckoutFlow
Le diagramme des traitements des processus marchands du côté de l’institution financière a été copié dans une image jointe au logiciel. « Express Checkout flow.png » (« PayPal Sandbox User Guide » (en anglais) p41 :  « Testing PayPal NVP APIs ») version 2.3

C’est PayPal Express Checkout Name-Value Pair (NVP) API en cURL qui est utilisé.
Basiquement, il y a 3 fonctions (mis dans des fichiers du même nom) :
– SetExpressCheckout : Définir les informations pour le paiement
– GetExpressCheckout : Obtenir des informations sur l’acheteur
– DoExpressCheckoutPayment : Exécute le paiement et Obtenir confirmation de l’exécution du paiement

1. L’acheteur séléctionne une commande. Les informations du formulaire (montant + devise + langue) ainsi que les informations du vendeur (API_username, API_password, API_signature) sont injectés dans le SetExpressCheckout à destination de la plateforme de paiement (en cURL).

2. Le ACK du SetExpressCheckout est un succès ou un échec.

3. Si le ACK du SetExpressCheckout est un succès, l’acheteur est redirigé vers la plateforme de paiement (en spécifiant le Token du ACK dans l’url) via une redirection HTTP (JavaScript ou html). L’acheteur se logue et confirme sa commande. (L’acheteur paye sur le PSP)

4. L’acheteur est ensuite redirigé (grâce à une adresse de retour fourni dans le SetExpressCheckout) sur la plateforme de ecommerce. L’ url fournit par le PSP contient un token et le PayerID.

5. Le token peut servir à récupérer les informations de la transactions définie dans le SetExpressCheckout. Les informations sont ensuite injecté dans un GetExpressCheckout,

6. puis dans un DoExpressCheckoutPayment.

7. Si le ACK du DoExpressCheckoutPayment est un succès, les traitements du vendeur s’exécutent.

Les status / états d’une transaction : 2 : validé (Processed), 1 : test , 0 : en attente (Pending), -1 : annulé (Cancelled), -2 : Échoué (Failed ), -3 : Retour arrière (Chargeback)
Optionnel :
– Enregistrer les réponses du PSP dans un table. (KISS : Keep it Simple, Stupid)
– Pour changer la devise : définir le CURRENCYCODE dans SetExpressCheckout et DoExpressCheckoutPayment
– La langue locale est définie uniquement dans le SetExpressCheckout. (AU,DE,FR,GB,IT,ES,JP,US accepté par le PSP)


Le script ne prend en compte que les champs obligatoires par mesure de simplification. Pour ce qui est des champs facultatifs : se référer à la documentation officielle.

source :

https://developer.paypal.com/

http://developer.paypal-portal.com/pdn/board?board.id=fr

http://sourceforge.net/projects/paybook/

http://paybook.sourceforge.net/

PayBook : Alternative Trading System (ATS) with Paypal Express Checkout Guide Dev FR ( version chrysoberyl )


PayBook : Alternative Trading System (ATS) with Paypal Express Checkout Guide Dev FR

( version chrysoberyl
)
Slides :
Guide utilisateur :
Guide du développeur :
La version française est la source primaire pour toutes les traductions. Pour les non francophone ou les non anglophones, il existe des outils de traductions comme Google translate (http://translate.google.fr/translate_t#) pour lire des documents dans votre langue.
Problématique & Vision :Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies, réduire la mortalité et aller vers des principes.

Le changement de paradigme

Le paradigme existant permet de résoudre certain problèmes, c’est pourquoi il a été accepté par le
passé. Cependant, en ce moment, il ne répond pas à la demande de tout le monde. Donc, il y a eu
une remise en question et une demande de changement.

J’ai étudié le marché des solutions existantes. N’étant pas satisfait (car si j’étais satisfait la problématique aurait été déjà résolue), j’ai donc décidé de créer ce logiciel. Car, à mon avis, il faut retirer progressivement les barrières qui entravent les échanges. (réf Traité instituant la Communauté européenne, 1957)

Le logiciel PayBook est conçu pour construire un marché financier alternatif aux marchés financiers existants. Le logiciel est spécialisé dans la levée de fonds en ligne. Il facilite le libre échange dans l’économie internationale. Ce logiciel a été crée pour répondre au besoin de financement des agents économiques au niveau européen et mondial pour pouvoir financer, en autre chose, la recherche, l’éducation et l’innovation.

Principes & Qualités :

– Liberté, Citoyenneté, Responsabilité, Égalité, Solidarité,
– Ouvert, Réglementé, Prévisible, Non discriminatoire

Objectif :

Faire un projet pilote (fonctionnel, gratuit dans sa mise en place et dans son utilisation, légal, disponible (7/7j, 24/24h) et reposant sur une situation gagnant-gagnant) d’une plateforme de trading internationale à partir d’une API de paiement (Paypal Express Checkout) et de Give1Get2 pour permettre d’augmenter le solde des participants.

Réalisé :

Le logiciel a été testé dans la « PayPal Sandbox » avec des comptes premier pour les 3 cas possibles d’achat (inférieur, égal et supérieur) : et dans chacun des cas, cela à fonctionné parfaitement.

Exemple simple : lorsqu’ 1 Euro est envoyé, 2 Euros sont reçus (facteur 2 : 1*2=2). Le montant de départ est choisi par l’utilisateur et il peut utiliser le système autant de fois qu’il veut. exemple : 1234 Euros envoyé -> 2468 Euros reçus.

Cible :

Cible Utilisateur : Ce logiciel est été mis en oeuvre en ciblant principalement les utilisateurs du PSP utilisé parlant français ou anglais et ayant un minimum de compétences en finance (PayPal enregistre 141 millions de clients, selon PayPal). L’objectif n’étant pas de ce limiter à cette catégorie mais de pouvoir toucher le plus grand nombre d’ utilisateurs.

Cible Développeur : Les personnes ciblé pour le téléchargement et l’installation du logiciel sont les programmeurs (développeur web de préférence) et/ou entreprises voulant mettre en place une plateforme de trading.

La plateforme ne prend pas de pourcentage sur les fonds qu’elle lève. En ce sens, une organisation qui l’utiliserait pourrait être du type organisation à but non lucratif.

Les stratégies pour faire du business

Il existe 3 stratégies possibles pour 2 personnes : Perdre, pas de deal ou gagner. (soit 9
combinaisons en tout)

Cas pratique : Je ne veux pas perdre d’argent (destruction d’argent) Je ne veux pas perdre d’argent pour que quelqu’un en gagne. (un vol d’argent) Je veux changer. Je ne veux pas gagner d’argent pour que quelqu’un en perde. (un vol d’argent) Je ne veux pas gagner d’argent tout seul. (faux billet) Je veux gagner de l’argent et que quelqu’un d’autre en gagne aussi.

La seule solution qui me semble réalisable est donc : la stratégie gagnant-gagnant.

Business Model d’une plateforme de Trading en ligne avec une stratégie Gagnant-Gagnant :

5 parties : Fournisseur, Consommateur, Concurrent, Partenaire et Soi-même.

Fournisseur :
– Les prestataires de services de paiement (PSP) ont un business model qui fonctionne par les commissions (partie fixe et variable) sur les transactions de leur clients (environ 2%). Pour que leur profit augmente, ils veulent augmenter leur volume de transactions et à ce que les clients envoient de plus grosse somme.
– Leur principaux partenaires sont les marchands et les plateforme de trading qui leur permet d’accroitre leur volume de transactions et les montants via les utilisateurs qui les utilisent. Ceci se fait par l’augmentation de leur nombre de clients qui est proportionnel à l’accès de leur système d’informations : l’API (Application Programming Interface) qui permet à quiconque d’automatiser les paiements.
– Leur fournisseurs sont une ou plusieurs banques. Les messages financiers sont géré électroniquement par la banque. Le PSP reçoit des confirmations via une API.

Consommateur :
– Les utilisateurs de l’internet veulent répondre à leur besoins. Les besoins de l’humanité sont récurrent (doivent être satisfait tout les jours). Ce besoin est soit un produit ou service, soit de l’argent. Les produits se trouvent chez les marchants en ligne (e-commerce). L’argent facilement gagné se trouve sur les plateforme de trading.
– Pour envoyer de l’argent, l’utilisateur à besoin d’un PSP. Et son PSP lui demande d’avoir un compte bancaire pour remplir son portefeuille électronique. Comparativement au PSP, l’internaute gagne plus par transaction si le profit est à sa valeur par défaut (maximum).

Concurrent, Partenaire et Soi-même :
– Le business model de la plateforme de trading est soit le même que celui du PSP (commissions par transactions), soit des frais d’entrée, soit des frais mensuels, soit des primes de parrainages (lien avec id) ou soit gratuit. (L’argent est gagné de la même manière que les utilisateurs.)
– Les fournisseurs des plateformes de trading sont les PSP avec leur API. (le logo est mis en évidence)
– Les utilisateurs consomment un service qui leur permet de déplacer de l’argent. La stratégie de déplacement de l’argent est définie soit par la plateforme de trading soit par les utilisateurs euxmême.
(dépend de la politique interne de la plateforme de trading)
– La plateforme de trading est une couche logiciel au dessus du PSP. La conception et l’évolution de ce produit informatique peut être en partie externalisé auprès d’une ou plusieurs personnes qui s’occupe d’un logiciel libre de plateforme de trading ce qui permettrait de réduire les coûts et le temps de développement.

Interopérabilité : Comment savoir si l’API du porte monnaie électronique d’une institution
financière est compatible avec le FSX de FreePay ?

Sur l’institution financière :

1. Il faut pouvoir créer un compte.

2. Approvisionnement : L’utilisateur peut approvisionner son compte avec différents moyens de paiement (chèque, carte de crédit, transfert bancaire etc) et en retirer.

3. Il faut avoir un minimum de fonds sur son compte (solde à minimum 1 euros). (il faut aussi prendre en compte les frais de l’institution financière)

Facultatif (mais vivement recommandé) : Agrément financier : L’institution financière doit être
agréé par au moins une autorité de régulation.

Séparation des tests et du réel : Les transferts entre client normaux et client de test sont interdits.

Sur le FSX :

1. Il faut pouvoir passer un ordre sur le FSX et arriver sur la plateforme de paiement. (POST ou
GET)

2. B2B, B2C,C2B & C2C : Il faut que les paiements fonctionne dans les 2 sens (marchand-marchand
tout en étant accessible client-client, marchand-client et client-marchand), brièvement permettre le P2P. Le droit de rétractation dépend du status des personnes effectuant les transactions ensemble et, cela est défini sur le site du PSP.

2 bis. (optionnel : mais c’est mieux de le faire) Il faut pouvoir activer l’automatisation des processus. (en xml)

3. XML : Il faut que le site source (marchand / FSX) puisse obtenir une trace de la transaction de la part de la plateforme de paiement. (xml envoyé et enregistrable dans la base de donnée dans des tables sql)

Pourquoi une relation avec un PSP :

La division des rôles : Le logiciel peut être vu comme un plugin qui interagit avec le logiciel principal (l’institution financière) pour lui apporter une nouvelle fonctionnalité. Le logiciel est un système ouvert qui envoie des informations à l’intérieur (historique) et à l’extérieur (ordre).

– L’institution financière transforme les capitaux entrant en monnaie électronique, fais les paiements et fais les conversion de chèques.
– Le logiciel permet de passer des ordres de paiement, d’échanger des ordres de paiement et permet de faire des demandes de paiement.

Dépendance : Le logiciel va vers la simplicité puisque, par rapport à la version précédente (FreePay), il soustraite les processus nécessaire à la gestion de l’argent. Ce logiciel permet d’économiser le coût du capital initial (1 million d’ Euros) nécessaire à la création d’une institution financière émettrice de monnaie électronique (en : E-money issuer) au sein de l’ Union Européenne. (ref : Article 4 paragraphe 1 de la Directive 2000 46 CE).

Indépendance : Chaque organisation qui met en place le logiciel Give1Get2 est autonome des autres organisations. Elle n’est dépendante que de l’institution financière qui permet de faire les paiements (Relation 1 à plusieurs).

Le Choix du PSP :

On ne devrait pas effectuer un transfert d’argent (une transaction) avant d’avoir vérifié que l’on peut en sauvegarder la trace. Car sinon, la personne sera déçue d’avoir payé sans obtenir sa contrepartie.

Au vu de l’évolution rapide des systèmes de paiements, il est préférable que l’API gère les versions afin que les anciennes versions fonctionnent toujours.

La problématique de sécurité a aussi été un critère décisif.

L’API PayPal Express Checkout a été choisi car il repecte des contraintes.
http://www.paypal.fr/presentation

Paypal SandBox API : https://developer.paypal.com/

Il faut surclasser le compte pour acheter et vendre avec le système : Surclasser son compte > choisir Compte Premier (ou compte business).

Pour obtenir les informations d’identifications à l’API :
– Cliquer sur Préférences > Accès à l’API > Demander des informations d’authentification API > Demandez une signature API
(en anglais : My Acount > Profile > API Access > Request API Credentials > API Signature > Agree and Submit)
– Copier-Coller l’ Username, le Password et la Signature pour vous authentifier sur la plateforme.

== PayPal Sandbox ==

identifiant email paypal sandbox : me@mypreferedhost.com
mot de passe paypal sandbox : a

== alice (premier) ==

email PayBook : alice@mypreferedhost.com
mot de passe PayBook : ab

email Paypal : alice_1234524871_per@mypreferedhost.com
mot de passe Paypal : abc

Identifiant API :    alice_1234524871_per_api1.mypreferedhost.com
Mot de passe API :    PSHQHGQGRDMH2Y7F
Signature : Ajd8FF2KxieV-6BxPDy4odWHclXnAjl3TA568AvD4KSTbwfGqKT84ljS

== bob (premier) ==

email PayBook : bob@mypreferedhost.com
mot de passe PayBook : a

email Paypal : bob_1228753395_per@mypreferedhost.com
mot de passe Paypal : ab

Identifiant API :      bob_1228753395_per_api1.mypreferedhost.com
Mot de passe API :     5396CWRJP62HES74
Signature :     AFcWxV21C7fd0v3bYYYRCpSSRl31AXl353cqalhXTzu4SnL2g5ZYdjTa 

Le diagramme des traitements des processus marchands du côté de l’institution financière a été
copié dans une image jointe au logiciel. « Express Checkout flow.png » (« PayPal Sandbox User Guide » (en anglais) p41 :  « Testing PayPal NVP APIs ») version 2.3

Pour collecter de l’argent sur son compte paypal :
Se loger > page principale > Mon activité récente > état de la demande / action > Collecter / capturer > collecte par lots > tout afficher rechercher > tout cocher > vérifier les éléments sélectionnés > Collecter > Collecte par lot envoyée > Mon compte

L’institution financière peut laisser des contraintes sur l’intégration visuelle de ses logos relatif a la page d’accueil, au différents mode de paiements et aux options supplémentaires.
https://www.paypal.com/fr/cgi-bin/webscr?cmd=xpt/Marketing/general/AcceptanceMarkLogos-outside

Qu’est-ce que « PayBook » ?

Le système de trading repose sur une stratégie gagnant-gagnant. La plateforme de trading est un lieu de confrontation de l’offre de titres financiers et de la demande d’argent en application de la pensée du laissez-faire économique. Il n’y a pas de marchandises échangé sur le système. C’est un jeu à somme nulle du point de vue de la plateforme de paiement mais pas du système de trading (1 euro titrisé symbolique émit pour l’amorçage, échange +1 +1 pour chaque partie à chaque transaction). C’est un cercle vertueux. Il n’y a pas de droit d’entrée. C’est un système de personne à personne (P2P) complémentaire qui permet aux utilisateurs de passer des ordres sur une plateforme de paiement. Cela a été conçu de tel manière qu’il n’y a pas de risque de variation inverse. Puisqu’il n’y a pas d’ordre de vente, il ne peut pas y avoir de crack boursier. Tout les utilisateurs du système peuvent s’enrichir, mais pas au même moment. L’utilisateur peut donc devenir, selon ce qu’il en fait, un trader. (fr : Opérateur de marché)

Le profit est aussi paramétrable (de 0 à 100 %, exemple : 25 euros réel deviennent à 100% -> 50 euros titrisés). Cela permet à l’utilisateur de spéculer ou de ne pas le faire. Ce qui permet à l’utilisateur de transformer ses capitaux en plus de capitaux représenté par les titres. (Et ensuite transformer ses titres en capitaux par l’acte de vente, exemple : 50 euros titrisés -> 50 euros réel). Finalement : 25 euros réel -> 50 euros réel. Ce qu’il fallait démontrer.

Explication Économique : Le logiciel n’a pas pour but de créer de l’inflation.

D’après ce que je sais, il existe deux types d’inflation :

– L’inflation du niveau des prix : Une hausse des prix des biens et des services durant une période de temps donné. (source : Wikipédia) Le revenu augmente moins vite que la hausse des prix des produits. → diminution du pouvoir d’achat. Ce qui est problématique. Or, ce que propose Give1Get2, c’est d’augmenter le revenu des acteurs du système, d’où une augmentation du pouvoir d’achat. Il n’y a pas de services en vente sur la plateforme et l’utilisation y est gratuite.

Les « produits » financiers en vente sont des demandes de paiements. Le prix d’achat est fixé par les acheteurs eux-même. S’ils décident d’acheter plus cher, c’est pour gagner plus.

– L’inflation de la masse monétaire : Lorsque la masse monétaire mondiale subit une création monétaire. L’argent en circulation augmente via les taux d’intérêts. Or, le logiciel Give1Get2 n’a pas vocation d’augmenter la masse monétaire ni de la diminuer. Il n’y a pas de taux d’intérêts non plus dans ce système. Car c’est uniquement du ressort des banques.

Le logiciel permet la circulation de la monnaie entre les acteurs économiques.

Explication financière :

Bob envoie de l’argent à Alice. Bob est le débiteur. Alice est le créditeur. Si les frais variables et les frais fixes sont supérieur à ce qu’à reçu Alice, Bob et Alice sont chargé négativement donc c’est donc une situation perdant-perdant.
Pour obtenir une situation perdant-gagnant, on peut mettre en place un quota d’argent minimum automatique à définir dans les paramètres pour tout achat via l’API.

Le processus marchand fonctionne de la manière suivante : Le vendeur échange un bien contre l’argent de l’acheteur. Le vendeur du bien ne le fait que contre une somme supérieur à ce que cela lui à coûté en premier lieu auprès de ces fournisseurs.

De la même façon, lorsque que une personne A fait une demande de paiement et reçoit l’argent d’une personne B. Cela agit comme un mécanisme de compensation qui permet à B placer à son tour une demande de paiement pour un prix à une valeur égale ou supérieur à ce que cela lui a coûté auprès de son prédécesseur.

Traditionnellement, c’est une relation à 2 personnes uniquement. Ce qui pose problème si l’une des 2 partie ne peut prêter ou rembourser. ( Relation 1 à 1) Avec ce logiciel de marché alternatif, il y a de multiples offreurs et de multiples demandeurs. (Relation de plusieurs à plusieurs) Donc, cela diminue le risque (relation 1 à plusieurs dans les 2 sens) et il y a d’avantage de possibilités de succès.

Comme je viens de le démontrer, nous pouvons transformer une stratégie perdant-gagnant en une
stratégie gagnant-gagnant. C’est ce que nous allons faire maintenant.

Télécharger

Le logiciel se base sur une politique de transparence et de développement durable. La licence
choisie est la GNU GPL. C’est un logiciel libre. De ce fait, il a été mis à disposition gratuitement
sur SourceForge.net pour être téléchargé et installé sur des serveurs en ligne.


Installation du logiciel 1. Acheter un nom de domaine (maplateformedetradingdexemple.com) chez un Registrar.

2. Obtenir un hébergement contenant un espace suffisant (environ : 60 Mo) et une bande passante suffisante (plusieurs Giga) en fonction du nombre d’utilisateur prévu. (et POP3, FTP et MySQL inclus)

3. Dé-compacter les fichiers précédemment téléchargé. (procédure ci-dessus)

4. Modifier le fichier ‘scripts sql tables & champs.sql’ :
– remplacer email dans la table freepay_titre
– remplacer les informations client dans la table freepay_client

5. Créer une base de données « paybook » (sans les doubles quotes) dans votre panneau
d’administration (généralement à l’URL http://maplateformedetradingdexemple.com/phpmyadmin/)
– Créer un utilisateur et lui donner les droits d’accès à la base de données en lecture et écriture. (si
ce n’est pas déjà fait automatiquement).

6. Cliquer sur l’onglet SQL, copier-coller les données du fichier ‘scripts sql tables & champs.sql’ dans le champ de saisie et cliquer sur Exécuter. Aucun message d’erreur ne doit s’afficher.

7. Modifier les valeurs par défaut par celles qui ont été fournies par l’hébergeur dans le fichier ‘params.php’ (sans les simple quotes) hôte, utilisateur, mot de passe,base de données.

8. Sur le serveur web, copier-coller la source modifié (avec les paramètres par défauts) en 7z et zip. Créer aussi un dossier /paybook/ . Importer les fichiers via un FTP (ex fireFTP, une extension de Firefox) avec les paramètres de l’hébergeur (‘params.php’) dans le répertoire précédemment crée.

9. Lancer dans le navigateur http://maplateformedetradingdexemple.com/paybook/. La page d’index doit s’afficher sans message d’erreurs. Les sources (7z et zip) doivent pouvoir être téléchargeable à partir d’un onglet ‘documentation’ ou ‘téléchargement’.

10. Référencer votre site sur les moteurs de recherche (ex : http://www.google.com/addurl/?continue=/addurl)

11. Générer un sitemap XML, et le mettre à la racine (ex : http://www.xml-sitemaps.com/ )

12. Optimiser votre site (ex: avec Google Webmaster Tools https://www.google.com/webmasters/tools )

Pré-requis :

Utilisateur :
– Le seul matériel nécessaire est un pc, un système d’exploitation, une connexion à Internet et un
navigateur web.
– Multi-Plateforme : fonctionne sous Windows ou Linux avec Internet Explorer ou Firefox.
– La formation est gratuite. Elle constitue la documentation.

Développeur :
– Conçu en XHTML, CSS, JavaScript, PHP et SQL (CRUD).
– Nécessite un MySQL, phpMyAdmin, POP3 pour les mails, FTP et un navigateur web.
– A été testé et fonctionne avec Apache (>= 1.3.33), Mysql (>= 4.1.9), PHP (>= 4.3.10) avec l’extension cURL installé et PhpMyAdmin(>= 2.6.1).

L’architecture est en trois tiers (donnée, business logic et présentation). L’architecture se base sur
le projet Give1Get2. (http://sourceforge.net/projects/give1get2/) Pour approfondir, la documentation de Give1Get2 est à votre disposition. (http://give1get2.sourceforge.net/give1get2/nav_telechargement.php?option=documentation)

Le script ne prend en compte que les champs obligatoires par mesure de simplification. Pour ce
qui est des champs facultatifs : se référer à la documentation officielle.

Le code ISIN est de nouveau utilisé dans ce logiciel (ISO 6166). La codification mis en place est le ZZ afin de faire une distinction claire et qu’il n’y ai aucune ambiguïté avec les pays ou territoires ayant des valeurs mobilières, selon la norme ISO 3166-1.

Les status d’une transaction (états) :

2 : validé (Processed)
1 : test
0 : en attente (Pending)
-1 : annulé (Cancelled)
-2 : Échoué (Failed )
-3 : Retour arrière (Chargeback)

Le process qui explique comment passer de « Give1Get2 » vers la prochaine version « PayBook » :

Mashup Give1Get2 sans Moneybookers (pour l’architecture) + FreePay (pour les ajouts) + Paypal Express Checkout (pour l’interconnexion) = PayBook ATS


trouver un serveur de test
supprimer les bdd de test existant pour éviter les cafouillages.
créer base, utilisateur, droits
mettre a jour le logiciel ftp
créer user ftp
supprimer ftp test
créer un sous domaine.
changer le logo interne (pour ne pas modifié les autres)
Installer les scripts. + bdd
Supprimer la page par défaut si nécessaire
changer le nom du répertoire d’installation
configurer avec les paramètres (attention aux préfixes)Interface :
création de compte (email, mdp, API_username, API_password, API_signature)
importer script « client_ajouter.php » et son interface de FreePay
modifier nav haut pour le lien vers « client_ajouter.php »
ajouter à l’interface « API_username, API_password, API_signature »
modifier les traitements relatif à « API_username, API_password, API_signature »
modifier la bdd relatif à « API_username, API_password, API_signature »
ajouter
un disclaimer
informations création de compte api vérifié par paypal (en tentant une commande)
changer url absolue et relative du répertoire courant
tout les messages d’erreurs

récupération des post en cas d’erreur
afficher erreur api paypal bien formaté
fonction API paypal commune à client_ajouter.php et client_modifier.php

 

optimiser la vérification du ACK
login (email, mdp)
ajouter lien « ouvrir un compte »
modifier répertoire par défaut
vérification login et mdp freepay

déconnexion
modifier répertoire par défaut
modification du compte (mdp, api)
importer « client_modifier.php »
créer interface dans fichier séparé
modification traitement
info modification de compte api vérifié par paypal (en tentant une commande)
la personne change ses api crédentials et ça marche toujours (selon paypal, on ne peut les modifier)
optimiser la vérification du ACK
afficher erreur api paypal bien formaté
menu
changer « mb_paiement_en_attente.php » en psp_ordre_afficher.php
changer le lien du menu
JavaScript tronc commun :
validation en JavaScript inscription (EN + FR) (plus long)

validation en JavaScript connexion (EN + FR) (le même en plus court)
message Warning javascript i18N
définir l’encodage en européen pour les fichier UTF-8
suivre le guide d’intégration visuelle
changer le logo du PSP
suivre les guidelines
changer les balises méta (mot clé)
changer logo plateforme trading

 

Traitement :
créer compte paypal sandbox
créer des comptes premiers avec API
être connecté au Paypal sandbox pendant les tests
GetExpressCheckout
modifier table « freepay_achat_en_attente » avec token
modifier insertion avec token (pour le vendeur)
recuperer API_username, API_password, API_signature à partir du token (pour le vendeur)
Donner la signification de  GetExpressCheckout et DoExpressCheckoutPayment.
GetExpressCheckout : obtenir des informations sur l’acheteur
DoExpressCheckoutPayment : obtenir des informations sur le paiement
être capable d’affirmer le succès ou l’échec
enregistrer la réponse ? -> Keep simple and stupid : ne pas enregistrer
traitement (status_report.php)
cas >= :
transfert d’argent ?
changement propriétaire ?
historique ?
nouveau tarif ?
cas < :
transfert d’argent ?
déduction ancien titre et garde ancien proprio
création nouveau titre et nouveau proprio
histo nouveau titre

bdd :
table « Freepay_titre » remplacer « merchand id » par info des API (username, password, signature)
modifier champs de la table
modifier requête
redirection vers Paypal

 

CP : lecture des répertoires pour la documentation (plus rapide que de taper à la main)
déplacer documentation officiel du PSP dans le répertoire « paypal » du projet
renommer les fichiers pour les conventions d’écritures
inclure aussi la doc de source externe citée dans la doc interne avec respect du copyright
document photo sur la fin de la pauvreté (trop lourd (8 Mo), abandonné)

supprimer :
mb_afficher
.php
nav_transaction.php
services/ISIN/ISIN_verif.php
support/plan.php
support/moneybookers.php

vérifier : pas d’erreurs ne doit s’afficher quand on tape le nom de la page dans le navigateur
paiement/titre/titre_acheter_interface2.php
paiement/titre/titre_acheter_interface.php
support/client/client_modifier_interface.php
support/client/client_modifier.php
support/client/client_ajouter_interface.php
support/client/client_ajouter.php
support/client/connexion_interface.php
support/client/connexion.php
pay/status_report.php
titre/titre_consulter.php

tester :
succes >
succes =
succes <

écrire la documentation Give1Get2 (Dev, User, Slides)
– Guide utilisateur : faire les captures d’écran
EN
FR
– Guide Dev
– Slides

– changer le nom du projet pour la conformité
– mettre les fonctions paypal dans des fichiers séparés.

– Changer la devise : définir CURRENCYCODE=EUR dans SetExpressCheckout et DoExpressCheckoutPayment
– que ce passe t-il si celui qui paye sur le psp n’est pas celui authentifié sur le FSX ? A reçoit l’argent. B paye. B ne reçoit rien. C ne recoit la demande de paiement et ne paye rien.
– Spécifié que c’est le Name-Value Pair (NVP) API en cURL qui est utilisé.

– redirection sur le PSP avec la langue locale (FR ou EN)
– guide user avec screenshot en anglais
– respecter les conventions graphiques de la présentation des documents (Guide User EN et FR)

Marketing :
– PayPal training library
– s’inscrire sur guru.com
– répondre aux questions sur les forums

Web Performance Best Practices :
Optimize images
Serve resources from a consistent URL
Avoid CSS expressions
Combine external CSS
Specify image dimensions
Minimize redirects
Put CSS in the document head
Use efficient CSS selectors

L’architecture

Le code source est en français. Les commentaires du code source sont en français aussi. Sauf pour les standards financiers qui sont en anglais. Le projet s’oriente vers une internationalisation (I18N).

Toutes les images sont dans un dossier spécifique (/images).
Tout les CSS (Feuilles de style en cascade) sont dans un dossier spécifique (/style).
Tout ce qui a attrait au support utilisateur est dans le dossier /support.
La documentation est dans le dossier /support/docs.
Tout ce qui concerne l’internationalisation est dans le dossier nommé « services/i18n ».

La programmation est de type procédurale : les méthodes sont appelés dans un ordre spécifique.

La partie visible est composé de la page principale, de l’historique et de la documentation.

L’existence d’une demande de paiement peut se vérifier via l’historique.

La limitation d’accès se fait grâce aux sessions pour la partie caché (processus de paiement).

La disponibilité d’une demande de paiement peut se vérifier en appliquant le filtre avec le numéro ISIN en paramètre.

Comme c’est un projet web, l’interface homme-machine est basé sur une architecture est de type client/serveur. Et, le serveur à une architecture en 3 tiers (base de données, traitements, présentation).

La base de donnée

Elle est composée de 4 tables par institution financière : (« scripts sql tables & champs.sql »
présent à la racine)
– freepay_achat_en_attente : liste des tentatives de transactions. (`num_transaction ,`num_titre`, `valeur_titre`, `profit_titre`, `date_attente`, `mail_acheteur`, `mail_vendeur`, `status`, `token`)
– freepay_client : information API client (`mailcli, `mdpcli, `API_username`, `API_password`, `API_signature`, `datecreationcompte`)
– freepay_titre : liste des titres en vente dans leur états actuels. (  `numtitre`, `datetitre`, `valeurtitre`, `mailcli`)
– freepay_titre_transferer : liste des ordres effectués. (`datet`, `numtitre`, `mailcli`, `achattitre`, `tauxprofit` )
Les étapes du processus de paiement pour un utilisateur dans le FSX
1. L’utilisateur a crée son compte chez le PSP, l’a approvisionné, a surclassé son compte et récupéré les informations d’API.
2. L’utilisateur crée un compte. (Lien  sur la première page en haut à droite.)
3. L’utilisateur va sur la page d’achat et sélectionne un numero ISIN (définit aussi la valeur et le
profit si besoin).
L’ordre d’achat est sauvegardé et accessible via le menu du même nom. Il récapitule l’état de la
transaction (En cours / En attente, Échoue / Annulé ou Fini).
4. L’utilisateur est redirigé sur le PSP. Elle fait tout les étapes nécessaire au paiement. Et est retourné sur la plateforme de trading automatiquement.
5. L’argent a été transféré par le PSP et l’équivalent en demande de paiement aussi. (Le transfert de
possession des titres se fait compte tenu des nouveaux chiffres envoyé par l’API afin d’éviter toute tentative de fraude.) La transaction en attente « pending » passe à « done » grâce au numéro de transaction récupéré du PSP. A chaque transaction, l’argent est sauvegardé dans les comptes de l’institution financière. En cas de crise (comme une indisponibilité de la plateforme de titre), l’argent, lui, est toujours disponible.
6. L’utilisateur peut consulter ses titres et rafraichir la page (F5). Il peut aussi utiliser l’emailling
pour accélérer le processus de paiement, puis :
– Le vendeur reçoit une notification par email du FSX l’informant de la cession du titre et de la
reception de l’argent. (+ emetteur + argent + devise)
– L’acheteur reçoit une notification par email de l’institution financière. (+ argent + devise +
indicatif produit)
Le solde du compte de l’utilisateur est supérieur à ce qu’il était auparavant sans l’utilisation de la présente application. Ce qu’il fallait démontrer.Chaque utilisateur peut répéter le processus autant de fois qu’il le veut sans restrictions.

7. L’utilisateur de déconnecte de la plateforme de trading (FSX) et du PSP.
Les vues :

L’architecture des vues est commune à FreePay (header et footer en commun sur toutes les
pages).

Le Menu : Accueil, Historique des échanges, Paiement en ligne, Historique des transactions, Mes demandes de paiement, Contact, Documentation

Respect des standards du W3C : a été validé XHTML 1.0 transitionnel et CSS 2.0 sous Mozilla
Firefox, Internet Explorer et Safari.
Les contrôleurs :

Ce sont les même que ceux de FreePay. PHP et Javascript pour le côté serveur et client
respectivement.
Les transactions qui n’aboutissent pas au bout d’1 journée sont classé comme ayant échoué.
(status à -2).

 


 

Sécurité

L’application a été conçu et testé avec CAL9000 (OWASP) pour être protégé contre les attaques
de type Cross Site Scripting (XSS). Dans le Top 10 des vulnérabilités 2007 selon l’Open Web
Application Security Project (OWASP).
Test et Confirmation :

Les comptes de tests sont ouvert à l’initiative des clients. Des fonds de test sont donné gratuitement par le PSP.
Passer la séries de tests suivantes : Nécessite minimum 2 utilisateurs. (Alice et Bob) Préparatif :
Noter la situation financière existante des utilisateurs : « Solde en Euro » et « Solde ISIN » pour
chacun d’eux.
Effectuer un achat et pour les 3 cas (inférieur, égal, supérieur), vérifier :
– Le solde de l’acheteur (Alice) a t-il diminué ?
– La valeur du titre de l’acheteur (Alice) a t-elle augmenté ?
– Le solde du récepteur (Bob) a t-il augmenté ?
– Les titres du récepteur (Bob) ont-ils diminué ?
– Le récepteur (Bob) a t-il été notifié par email ?
Prochain développement de la plateforme :
FaceBook
Légalité :

Je pense que mon système est légal car j’ai fais des recherches en ce sens avant de le mettre à
disposition de tous. Je considère qu’il va dans le sens des principes de l’union européenne.
« support » > « docs » les documents de référence concernant le contexte législatif, juridique et
réglementaire qui pourrait s’y rapporter.
Le site internet de la commission européenne est très instructif sur cette question. (
européenne >Marché Intérieur > Le marché unique des services > Services financiers. Je ne suis
pas complètement d’accord sur le choix de cette rubrique puisque la plateforme de trading offre
un service gratuit (sans contrepartie) et ne gère pas d’argent (uniquement la confirmation que
l’argent a été transféré).
Fonds d’investissements > Investissements alternatifs : il existe un Projet de Directive relative
aux gérants de fonds dits ‹ alternatifs ›. Ce projet de directive peut encore être changé, et, la
version finale ne va pas forcément s’appliquer à ce cas très précis.

http://ec.europa.eu/internal_market/investment/alternative_investments_fr.htm

Services de paiement > Monnaie électronique : La plateforme de trading ne crée pas de monnaie.
Donc, cela ne concerne que le PSP.

http://ec.europa.eu/internal_market/payments/emoney/index_fr.htm

Services de paiement > e-Facturation : c’est PSP Moneybookers qui gère la facturation (il peut le
désactiver) Uniquement une copie est gardé à des fins d’archive par la plateforme de trading (ou
rien suivant le paramétrage)

http://ec.europa.eu/internal_market/payments/einvoicing/index_fr.htm

Conglomérats financiers : Selon la taille du système de trading PayBook et sa structure, il peut
entrer ou ne pas entrer dans cette catégorie. C’est au choix du/des entrepreneurs selon les
opportunités de fusion / acquisitions.

http://ec.europa.eu/internal_market/financialconglomerates/index_fr.htm

Commerce électronique : Cela dépend de ce qui est fait par les clients en contrepartie de l’argent
Copyright :
Mon droit d’auteur est garanti par la Licence publique générale GNU. http://www.gnu.org/licenses/gpl.html
Mes créations sont protégés au niveau Européen par la Directive 91/250/CEE du Conseil, du 14
mai 1991, concernant la protection juridique des programmes d’ordinateur. (http://eurlex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:FR:HTML )
Mes créations sont protégés internationalement par la Convention de Berne pour la protection
des oeuvres littéraires et artistiques (géré actuellement par l’ Organisation mondiale de la
propriété intellectuelle (OMPI), organisme spécialisé au sein de l’ONU). (source :
Clause de non responsabilité :
L’utilisation de la présente application à valeur d’acceptation de la clause de non responsabilité
suivante : L’auteur décline toute responsabilité quant aux conséquences pouvant résulter de
l’utilisation de cette application.
Script fourni sans aucune garantie.
L’ Organisation
L’ Indefinite Lifespan Foundation est un organisation de bienfaisance à but non lucratif, non gouvernementale, dédié à réduire la mortalité humaine, à encourager l’extension de l’espérance de vie et la recherche du bonheur en utilisant principalement la médecine préventive, la santé publique et l’informatique. (En phase de création)
Contact :

En tant que développeur, je recherche toujours un moyen de produire plus et à moindre coût. Ma
motivation se base sur le fait que le logiciel fonctionne et qu’il est utile. Bien que je sois d’accord pour dire que le type de communication le plus efficient est le face à face, je reconnais aussi que je ne suis pas toujours disponible et donc, j’ai mis en place une documentation écrite. Dans le cadre d’une politique de transparence, j’ai aussi mis mon cv en pièce jointe afin de pouvoir renseigner qui le souhaite sur mon identité et mes aptitudes professionnelles (ce qui laisse plusieurs moyens de me contacter). Sa lecture est facultative.
De plus, je suis ouvert à toute suggestion permettant d’améliorer le logiciel. S’il y a des bogues, pour que je puisse les corriger, il faut que j’en ai connaissance précise. D’après mon expérience, pour améliorer un système, il faut que les utilisateurs puissent contacter l’auteur car l’amélioration de la plateforme se fait grâce aux boucles de rétroaction positive à l’initiative des utilisateurs. Ce retour servira de base à l’architecture de la prochaine version (qui contiendra l’existant + les corrections).
Enfin, si vous avez un problème de nature financière relatif à votre compte PayPal, vous pouvez vous adresser au service clientèle de PayPal. (https://www.paypal.com/fr/cgi-bin/webscr?cmd=_contact-phone)

PayBook : Alternative Trading System (ATS) with Paypal Express Checkout Guide Dev EN (Chrysoberyl version)

PayBook : Alternative Trading System (ATS) with Paypal Express Checkout Guide Dev EN

(Chrysoberyl version)

The French version is the primary source for all translations. For non French-speaking or non English speaking, there are tools as Translation Google translate (http://translate.google.fr/translate_t#) to read documents in your language.
Problems & Vision: Creating a world without poverty to enable education, reducing disease, reducing mortality and move towards principles.

The paradigm shift

The existing paradigm solves some problems, so it was accepted by the past. However, at this moment, it does not meet the demand of everyone. So there was questioning and demand change.

I studied the market for existing solutions. Not being satisfied (because if I was happy the issue was already resolved), so I decided to create this software. Because, in my opinion, we must phase out barriers to trade. (ref Treaty establishing the European Community, 1957)

The software « Paybook » is designed to build a capital market alternative to existing financial markets. The software specializes in raising funds online. It facilitates free trade in the international economy. This software was created to meet the financing needs of economic agents in Europe and globally in order to finance, among other things, research, education and innovation.

Principles & Qualities:

– Freedom, Citizenship, Responsibility, Equality, Solidarity,
– Open, rule based, predictable, nondiscriminatory

Objective:

Make a pilot project (functional, no set-up fees, free to use, legal, available (7/7j, 24/24h) and based on a win-win strategy) for an international trading platform from a PSP payment API (Paypal Express Checkout) and the FreePay Trading System (FTS) to help raise account balance of participants. (+1 Euro each time)


Directed:

The software has been tested in the « PayPal Sandbox » with the first accounts for the 3 possible cases of purchase (less, equal and higher) and in each case, it worked perfectly.

Simple example: when 1 Euro was sent, are received 2 Euros (factor 2: 1 * 2 = 2). The starting amount is chosen by the user and may use the system as often as he wants. Example: 1234 Euros sent -> 2468 Euros received.

Target:

Target User: This software is being implemented, primarily targeting users of the PSP used speaking French or English and have minimal skills in finance (PayPal registers 141 million customers, according to PayPal). The goal is not to limit it to this category but can reach the largest number of users.

Target Developer: Those targeted for downloading and installing the software are programmers (preferably web developer) and / or companies wishing to establish a trading platform.

The platform does not take a percentage of the funds it raises. In this sense, an organization that would use could be of the organization non-profit.

Strategies for doing business

There are 3 possible strategies for 2 people: lose, no deal or win. (ie 9 combinations in total)

Case study: I do not want to lose money (destruction of money) I do not want to lose money for someone wins. (theft of money) I want to change. I do not make money for someone to lose. (theft of money) I do not want to make money alone. (counterfeit) I want to make money and someone else wins, too.

The only solution that seems feasible is: the win-win strategy.

Business Model of a trading platform in line with a win-win strategy:

5 parts: Provider, Consumer, Competitor, Partner and Himself.

Provider:
– The Payment Service Provider (PSP) have a business model that works by commissions (fixed and variable) on the transactions of their customers (about 2%). To increase their profits, they want to increase their volume of transactions and that customers send the most money.
– Their main partners are the merchants and trading platform that allows them to increase their volume of transactions and amounts over the users who use them. This is done by increasing the number of customers that is proportional to the access of their information systems: the API (Application Programming Interface) that allows anyone to automate payments.
– Their suppliers are one or more banks. The financial messages are handled electronically by the bank. The PSP received confirmation via an API.

Consumer:
– The internet users want to meet their needs. The needs of humanity are recurrent (must be met every day). This need is either a product or service, or money. The products are among the online marketplaces (e-commerce). The easy money is on the trading platform.
– To send money, the user needs a PSP. PSP and asked to have a bank account to fulfill its electronic wallet. Compared to the PSP, the user earns more per transaction if the gain is at its default value (maximum).

Competitor, Partner and Self:
– The business model of the trading platform is either the same as the PSP (for transactions), or an entrance fee or monthly fee or premium sponsorships (link id) or is free. (The money is earned in the same way as users.)
– Providers of trading platforms are the PSP with their API. (the logo is highlighted)
– The users use a service that allows them to move money. The strategy of moving money is defined either by the trading platform or by users themselves.
(depends on the internal politics of the trading platform)
– The trading platform is a software layer above the PSP. The design and evolution of the computer product can be partially outsourced to one or more persons caring for an open source trading platform that would reduce costs and development time.

Interoperability: How do I know if the API is an electronic money institution financial supports of the FSX FreePay?

Financial Institution:

1. It must be able to create an account.

2. Supply: The user can supply his account with different means of payment (check, credit card, bank transfer etc.) and remove.

3. It must have a minimum of funds in its account (balance at least 1 euro). (must also take into account the costs of financial institution)

Optional (but strongly recommended): Approval Financial: The financial institution must be
approved by at least one regulator.

Separation of tests and the real: The customer transfers between normal and test client are prohibited.

On the FSX:

1. It must be able to pass an order on the FSX and get on the payment platform. (POST or
GET)

2. B2B, B2C, C2B & C2C: Let the payment works in 2 directions (merchant-merchant
while being accessible client-customer, merchant-customer and customer-merchant), briefly allow P2P. The right of withdrawal depends on the status of persons making the transactions and all, it is defined on the site of PSP.

2a. (optional: but it’s better to do) should be able to enable process automation. (XML)

3. XML: It is necessary that the source site (merchant / FSX) to obtain a trace of the transaction from the payment platform. (xml sent and saved in the database tables in sql)

Why a relationship with a PSP:

The division of roles: The software can be seen as a plugin that interacts with the main software (financial institution) to bring him a new feature. The software is an open system that sends information to the internal (history) and outside (order).

– The financial institution converts capital into e-money, make payments and make the conversion of checks.
– The software can place orders for payment, exchanging payment orders and can make claims.

Dependence: The software is towards simplicity as compared to the previous version (FreePay), he subtracted the processes needed to manage money. This software saves the cost of initial capital (1 million Euros) for the creation of a financial institution issuing electronic money (in: e-money issuer) within the European Union. (ref: Article 4 paragraph 1 of Directive 2000 46 EC).

Independence: Each organization that sets up the software Give1Get2 is autonomous from other organizations. It is dependent only financial institution which helps to make payments (1 to many relationship).

PSP’s Choice:

We should not make a money transfer (transaction) before checking that we can save the trace. Because otherwise the person will be disappointed to have paid without obtaining its counterpart.

Given the rapid evolution of payment systems, it is preferable that the API manages versions so that older versions still work.

The issue of security has also been a decisive factor.

The PayPal Express Checkout API was chosen because it repect constraints.
http://www.paypal.fr/presentation

Paypal SandBox API : https://developer.paypal.com/

We must upgrade the account to buy and sell with the system: Upgrade the account> choose Premier (or business account).

To obtain credentials to the API:
– Click on My Acount> Profile> API Access> Request API Credentials> API Signature> Agree and Submit
– Copy and Paste the Username, Password and the signature to authenticate to the platform.

== PayPal Sandbox ==

paypal sandbox login email: me@mypreferedhost.com
password paypal sandbox: a 

== alice (premier) ==

login email PayBook : alice@mypreferedhost.com
password PayBook : ab

email Paypal : alice_1234524871_per@mypreferedhost.com
password Paypal : abc

API Username:    alice_1234524871_per_api1.mypreferedhost.com
API Password:    PSHQHGQGRDMH2Y7F
Signature: Ajd8FF2KxieV-6BxPDy4odWHclXnAjl3TA568AvD4KSTbwfGqKT84ljS

== bob (premier) ==

login email PayBook : bob@mypreferedhost.com
password PayBook : a

login email Paypal : bob_1228753395_per@mypreferedhost.com
password Paypal : ab

API Username:      bob_1228753395_per_api1.mypreferedhost.com
API Password:     5396CWRJP62HES74
Signature:     AFcWxV21C7fd0v3bYYYRCpSSRl31AXl353cqalhXTzu4SnL2g5ZYdjTa 

The diagram of treatment processes the merchant side of the financial institution has been copied in an image software. Express Checkout flow.png « ( » PayPal Sandbox User Guide (in English) p41: « Testing PayPal NVP APIs ») version 2.3

To raise money on his paypal account:
Accommodation> Main Page> My recent activity> Application Status / Action> Collect / capture> collection batch> see all search> check all> check the selected items> Collections> batch sent> My Account

The financial institution may allow constraints on the visual integration of its logo on a home page at different mode of payments and options.
https://www.paypal.com/fr/cgi-bin/webscr?cmd=xpt/Marketing/general/AcceptanceMarkLogos-outside

What is « Paybook?

The trading system is based on a win-win. The trading platform is a place of confrontation in the supply of financial securities and the demand for money under the idea of laissez-faire economics. There are no goods exchanged on the system. It is a zero sum game in terms of the payment platform but not the trading system (1 euro securitized token issued for the initiation, exchange +1 +1 for each party to each transaction). It’s a virtuous circle. There is no entrance fee. It is a system of person to person (P2P) which further allows users to place trades on a payment platform. This was designed so that there is no risk of inverse proportionality. Since there is no order of sale, it may not be a stock market crash. All system users can get rich, but not at the same time. The user can then become, as it makes a trader. (en: Market Operator)

The gain is also adjustable (0 to 100% Sample: 25 euros become real to 100% -> 50 euros securitized). This allows the user to speculate whether or not to do so. This allows the user to transform its capital and more capital represented by shares. (And then convert its shares capital by the sale, eg 50 euros securitized -> 50 euro real). Finally: EUR 25 real -> 50 euro real. This was to be demonstrated.

Economic Explanation: The software is not intended to create inflation.

From what I know, there are two types of inflation:

– Inflation of prices: Higher prices for goods and services during a period of time. (source: Wikipedia) The income increases more slowly as rising commodity prices. → decrease in purchasing power. What is problematic. But what has Give1Get2 is to increase the income of players in the system, thereby increasing purchasing power. There are no services for sale on the platform and use is free.

The « products » are selling financial claims payments. The purchase price is determined by the buyers themselves. If they decide to buy more expensive it is to earn more.

– Inflation of the money: When money suffers a global money creation. Money in circulation increases via interest rates. However, the software Give1Get2 not intended to increase the money supply or decrease it. There is no interest rate not in this system. For only the responsibility of banks.

The software allows the movement of money between players.

Financial Explanation:

Bob sends money to Alice. Bob is the debtor. Alice is the creditor. If variable costs and fixed costs are higher than that received by Alice, Bob and Alice are negatively charged so it is therefore a lose-lose situation.

For a win-lose, we can establish a minimum quota of money to be set in automatic settings for all purchases through the API.

The trading process works as follows: The seller exchange goods cons money from the buyer. The seller of the property does that against a sum greater than what it cost him at first with these suppliers.

Similarly, when that person A makes a claim and receives money from a person B. This acts as a compensatory mechanism that allows B in turn place a claim for a price equal to or greater than what it cost him to his predecessor.

Traditionally, it is a relationship with 2 people only. The problem if one of the 2 party may pay or reimburse. (Relationship 1 to 1) With this software alternative market, there are multiple suppliers and multiple plaintiffs. (Relation of many to many) So, this reduces the risk (1 to many relationship in 2 directions) and there is an advantage of opportunities for success.

As I demonstrate, we can turn a losing strategy in a winner – win-win strategy. That’s what we do now.

Download

The software is based on a policy of transparency and sustainable development. Licenses chosen is the GNU GPL. It is free software. Thus, it has been made available free on SourceForge.net to be downloaded and installed on servers online.


Software Installation 1. Buy a domain name (myonlinetradingplatformsample.com) with a Registrar.

2. Getting accommodation containing enough space (approx 60 Mb) and sufficient bandwidth (several Giga) depending on the number of users expected. (and POP3, FTP, and MySQL included)

3. De-compress the files previously downloaded. (as above)

4. Edit the file ‘scripts sql tables & champs.sql’:
– Replace email in the table freepay_titre
– Replace customer information in the table freepay_client

5. Create a database « Paybook » (without the double quotes) in your control
administration (usually the URL http://myonlinetradingplatformsample.com/phpmyadmin/)
– Create a user and give access rights to the database for reading and writing. (if this is not done automatically).

6. Click the SQL tab, paste the data file ‘scripts sql tables & champs.sql’ in the textbox and click Run. No error message should appear.

7. Change the default values by those who have been provided by the host in the file ‘params.php’ (without the single quotes) host, user, password, database.

8. On the web server, copy and paste the modified source (with default settings) in 7z and zip. Also create a folder /paybook/. Upload files via FTP (ex FireFTP, a Firefox extension) with the parameters of the host ( ‘params.php’) in the directory previously created.

9. Launch the browser http://myonlinetradingplatformsample.com/paybook/. The index page should be displayed without an error message. Sources (7z and zip) should be downloadable from a tab ‘documentation’ or ‘download’.

10. Suggest your site on search engines (eg http://www.google.com/addurl/?continue=/addurl)

11. Generate an XML sitemap and put it in the root (eg http://www.xml-sitemaps.com/)

12. Optimize your website (eg with Google Webmaster Tools https://www.google.com/webmasters/tools)

Prerequisite:

User:
– The only equipment needed is a PC, operating system, Internet connection and a web browser.
– Multi-platform: runs on Windows or Linux using Internet Explorer or Firefox.
– The training is free. It is the documentation.Developer:
– Designed by XHTML, CSS, JavaScript, PHP and SQL (CRUD).
– Requires MySQL, phpMyAdmin, POP3 for mail, FTP and a web browser.
– Has been tested and works with Apache (> = 1.3.33), MySQL (> = 4.1.9), PHP (> = 4.3.10) with the cURL extension installed and PhpMyAdmin (> = 2.6.1).

The architecture is three tier (data, business logic and presentation). The architecture is based on
Give1Get2 the project. (http://sourceforge.net/projects/give1get2/) To deepen the Give1Get2 documentation is available. (http://give1get2.sourceforge.net/give1get2/nav_telechargement.php?option=documentation)

The script takes into account that the fields by way of simplification. For this which is optional fields: refer to official documentation.

The ISIN code is used again in this software (ISO 6166). The consolidation created the ZZ is to make a clear distinction and there have no ambiguity with the countries or territories with securities, according to ISO 3166-1.

The status of a transaction (statements):

2: validated (PROCESSED)
1: Test
0: Pending (Pending)
-1: Void (Canceled)
-2: Failed (Failed)
-3: Back (Chargeback)

The process explains how to switch from « Give1Get2 » to the next version « Paybook »:

Mashup Give1Get2 without Moneybookers (for architecture) + FreePay (for additions) + Paypal Express Checkout (for connection) = Paybook ATS


find a test server
delete the existing db test to avoid slip-ups.
create basic user rights
update software ftp
create ftp user
delete ftp test
create a subdomain.
Internal change the logo (not changed the other)
Install scripts. + Db
Delete the default page if necessary
rename the installation directory
configure with the settings (be careful with prefixes)

Interface:
creation of account (email, pass, API_username, API_password, API_signature)
import script « client_ajouter.php » and its interface FreePay
nav top to change the link to « client_ajouter.php »
add to the interface API_username, API_password, API_signature  »
change the treatment on « API_username, API_password, API_signature »
modify the db on « API_username, API_password, API_signature »
add disclaimer
information account creation api verified by paypal (trying a command)
change url absolute and relative current directory
any error messages
recovery post on error
PayPal API error display well formatted
API function paypal town client_ajouter.php and client_modifier.php
optimize the verification ACK
login (email, password)
add link « open account »
change default directory
check login and pass FreePay
disconnection
change default directory
changing the account (mdp, api)
import « client_modifier.php »
create interface in separate file
Modified treatment
Info modified api verified account with paypal (trying a command)
the person changes its api credentials and it still works (by paypal, we can not modify)
optimize the verification ACK
PayPal API error display well formatted
menu
change « mb_paiement_en_attente.php » in psp_ordre_afficher.php
change the menu link
JavaScript Core Curriculum:
JavaScript validation registration (EN + FR) (longer)
JavaScript validation connection (EN + FR) (same for short)
Warning message javascript i18n
define the encoding for file European UTF-8
follow the guidance of visual integration
change the PSP logo
follow the guidelines
change the meta tags (keywords)
logo change trading platform

Treatment:
create account paypal sandbox
first create accounts with API
be connected to PayPal sandbox for testing
GetExpressCheckout
edit table « freepay_achat_en_attente » with token
edit integration with token (the seller)
retrieve API_username, API_password, API_signature from the token (the seller)
Giving meaning and GetExpressCheckout DoExpressCheckoutPayment.
GetExpressCheckout: information about the buyer
DoExpressCheckoutPayment: information on payment
be able to assert the success or failure
record the response? -> Keep simple and stupid: do not save
treatment (status_report.php)
If> =:
money transfer?
Change of Ownership?
history?
new tariff?
if <:
money transfer?
deduction under former guard and former owner
create new title and new owner
histo new title

db:
table « Freepay_titre » substitute « goods / id » APIs by info (username, password, signature)
edit table fields
modify request
Redirecting to Paypal

CP: reading directories for documentation (faster than typing by hand)
Official documentation move the SPP in the « paypal » Project
rename files for conventions of writing
also include the source document cited in the external doc internal compliance with copyright
photo paper at the end of poverty (too heavy (8 MB), abandoned)

delete:
mb_afficher.php
nav_transaction.php
Services / ISIN / ISIN_verif.php
support / plan.php
support / moneybookers.php

check: no errors should appear when you type the name of the page in the browser
paiement/titre/titre_acheter_interface2.php
Payment / title / titre_acheter_interface.php
support / customer / client_modifier_interface.php
support / customer / client_modifier.php
support / customer / client_ajouter_interface.php
support / customer / client_ajouter.php
support / customer / connexion_interface.php
support / customer / connexion.php
Pay / status_report.php
title / titre_consulter.php

test:
success>
success =
success <


write documentation Give1Get2 (Dev, User, Slides)
– User’s Guide: Making screenshots
IN
EN
– Dev Guide
– Slides- Change the name of the project for compliance
– Put the paypal functions in separate files.
– Change currency: EUR = CurrencyCode set in SetExpressCheckout and DoExpressCheckoutPayment
– What happens if a person paying on the psp is not authenticated on FSX? A receives the money. B pays. B receives nothing. C does not receive the claim and pays nothing.
– Specified that is the Name-Value Pair (NVP) API cURL is used.

– Redirect on the PSP with the local language (FR or EN)
– User guide with screenshot in English
– Respect the conventions of graphic presentation of documentation (User Guide FR and EN)

Marketing:
– PayPal Training Library
– Sign guru.com
– Answer questions on forums

Web Performance Best Practices :
Optimize images
Serve resources from a consistent URL
Avoid CSS expressions
Combine external CSS
Specify image dimensions
Minimize redirects
Put CSS in the document head
Use efficient CSS selectors

Architecture

The source code is in French. The source code comments are in French too. Except for the financial standards that are in English. The project is oriented towards internationalization (I18N).

All images are in a specific folder (/ images).
All CSS (Stylesheets cascading) are in a specific folder (/ style).
All that was attractive to user support is in the / support.
The documentation is in the / support / docs.
Everything concerning the internationalization is in the folder named « services/i18n.

The programming style is procedural: the methods are called in a specific order.

The visible part is composed of the main page of the history and documentation.

The existence of a claim can be verified through history.

Restricting access is done through the sessions for the hidden part (payment process).

The availability of a claim can be verified by applying the filter with the ISIN number as parameter.

As a web project, the human-machine interface is based on an architecture is client / server. And the server to a 3-tier architecture (database, processing, presentation).

The database

It is composed of 4 tables per financial institution: ( « scripts sql tables & champs.sql »
present at the root)

– Freepay_achat_en_attente: list of attempted transactions. (num_transaction `,` num_titre `,` valeur_titre `,` profit_titre `,` date_attente `,` mail_acheteur `,` mail_vendeur `,` status `,` token `)
– Freepay_client: Information Client API (mailcli `,` mdpcli, API_username « , `API_password`, `API_signature`, «  datecreationcompte)
– Freepay_titre: list of securities for sale in their current states. (Numtitre « , `datetitre`, `valeurtitre`, «  mailcli)
– Freepay_titre_transferer: list of orders made. (DateT « , `numtitre`, `mailcli`, `achattitre`, «  tauxprofit)

The stages of payment for a user in FSX 1. The user creates his account with the PSP, has supplied, has outperformed his account and retrieve the information API.

2. The user creates an account. (Link on the first page top right.)

3. The user goes to the purchase page and select an ISIN number (defined as the value and profit if needed).

The purchase order is saved and accessible via the menu of the same name. It summarizes the state of
transaction (Active / Standby, Fails / Canceled or Finished).

4. The user is redirected to the PSP. She did all the steps required for payment. And returned on the trading platform automatically.

5. The money was transferred by the PSP and the equivalent request for payment also. (Transfer
possession of securities is based on new figures sent by the API to prevent any attempt of fraud.) The pending transaction « pending » changes to « done » with the transaction number recovered from the PSP. For each transaction, money is saved in the accounts of the financial institution. In a crisis (such as unavailability of the platform title), the money, it is always available.

6. The user can see his tracks and refresh the page (F5). It can also use the emailling to expedite the payment process, then:

– The seller receives an email notification informing the FSX the transfer of title and receipt of money. (Transmitter + money + currency)

– The buyer receives an email notification from the financial institution. (+ money + currency + product code)

The balance of the user is higher than it was before without the use of this application. This was to be demonstrated.

Each user can repeat the process as many times as he wants without restrictions.

7. The user disconnects from the trading platform (FSX) and PSP.

Views: The architecture views is common FreePay (header and footer together on all pages).

Menu: Home, History of trade, Online Payment, Transaction History, My claims, Contact, Documents

Compliance with W3C standards: has been validated XHTML 1.0 Transitional and CSS 2.0 in Mozilla Firefox, Internet Explorer and Safari.

Controllers: 

These are the same as those of FreePay. PHP and Javascript for client and server side respectively.Transactions that fail after 1 day were classified as having failed. (status to -2).

Security 

The application has been designed and tested CAL9000 (OWASP) to be protected against cross-site scripting (XSS) attacks in the Top 10 vulnerabilities in 2007 by the Open Web Application Security Project (OWASP).

 

 

Test and Verify: The test accounts are opened at the initiative of customers. Funding test are given free by the PSP.

Pass the following test series: Requires minimum 2 users. (Alice and Bob)

Preparation: Note the financial position of existing users: « Balance in Euro » and « ISIN Balance » for each.

Make a purchase and for 3 cases (less than, equal, higher), check:
– The balance of the buyer (Alice) has he fallen?
– The value of the security of the buyer (Alice) has she grown?
– The balance of the receiver (Bob) has he grown?
– The titles of the receiver (Bob) have decreased?
– The receiver (Bob) has it been notified by email?

Next development platform: FaceBook

Legality: I think my system is legal because I am doing research in this direction before putting in
free. I believe it is in line with the principles of the European Union.
(http://europa.eu/scadplus/european_convention/objectives_fr.htm). I have attached the file
« Support »> « docs » reference documents concerning the legislative, legal and regulation which might be pertinent.

The website of the European Commission is very instructive on this issue. (
http://ec.europa.eu/internal_market/top_layer/index_24_fr.htm) Category: Commission
European> Market> Single Market for Services> Financial Services. I am
not completely agree on the choice of this category since the trading platform offers
a free service (without compensation) and does not manage money (only confirmation that
money has been transferred).Fund investments> Alternative investments: there is a Draft Directive on fund managers known as « alternative. The draft guideline can still be changed, and the final version will not necessarily apply to specific cases. http://ec.europa.eu/internal_market/investment/alternative_investments_fr.htm

Payment services> E-Money: The trading platform does not change. So, this concerns only the PSP. http://ec.europa.eu/internal_market/payments/emoney/index_fr.htmPayment services> e-Invoicing: PSP is Moneybookers which manages billing (it can disable) Only one copy is kept for archive purposes by the trading platform (or anything depending on the setting)
http://ec.europa.eu/internal_market/payments/einvoicing/index_fr.htm

Financial conglomerates: Depending on the size of the trading system Paybook and structure, it can enter or not enter this category. It is the selection of the contractors as opportunities for merger / acquisitions.
http://ec.europa.eu/internal_market/financialconglomerates/index_fr.htm

Electronic Business: It depends on what is done by customers in return for the money sent. http://ec.europa.eu/internal_market/e-commerce/directive_fr.htm

Copyright: My copyright is protected by the GNU General Public License. http://www.gnu.org/licenses/gpl.html

My creations are protected at European level by Directive 91/250/EEC of 14 May 1991 on the legal protection of computer programs. (http://eurlex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:FR:HTML)

My designs are protected internationally by the Berne Convention for the Protection of Literary and Artistic Works (currently managed by the World Intellectual Property Organization (WIPO), specialized agency within the UN). (source: http://www.wipo.int/treaties/fr/ip/berne/trtdocs_wo001.html)

Disclaimer: Using this application value of acceptance of the disclaimer Next: The author assumes no responsibility for any consequences that may result from using this application.

Script comes with no warranty.

The Organization


The Indefinite Lifespan Foundation is a charitable organization of nonprofit, nongovernmental, dedicated to reducing human mortality, to promote the extension of life expectancy and the pursuit of happiness using mainly preventive medicine, Public health and scientific computing. (Currently being created)Contact:

As a developer, I always look for a way to produce more at lower cost. My motivation is based on the fact that the software works and it is useful. While I agree that the type of communication is more efficient face to face, I acknowledge that I am not always available and so I put up with written documentation. Under a policy of transparency, I also put my resume attached in order to learn who wants my identity and my professional skills (which leaves several ways to contact me). His reading is optional.

Also, I’m open to suggestions for improving the software. If there are bugs, so I can correct them, I must have accurate knowledge. From my experience, to improve a system requires that users can contact the author for improvement of the platform is through positive feedback loops at the initiative of users. This will return to the basic architecture of the next version (which will contain the existing + corrections).

Finally, if you have a problem of a financial nature relating to your PayPal account, you can contact the customer service of PayPal. (https://www.paypal.com/fr/cgi-bin/webscr?cmd=_contact-phone)

Give1Get2 Developer’s Guide English

Give 1 Get 2 – Give One Get Two / MOCHA – Moneybookers Exchange
(v. Beryl)

slide : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Slides_EN.pdf

pdf : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Guide_Dev_EN.pdf


The French version is the primary source for all translations.

Problems & Vision:

Creating a world without poverty to enable education, reducing disease and reducing mortality.

The paradigm shift

The existing paradigm solves some problems, so it was accepted in the past. However, at this moment, it does not meet the demand of everyone. So there was a challenge and a demand for change.

I studied the market for existing solutions. Not being satisfied (because if I was happy the issue was already resolved), so I decided to create this software. Because, in my opinion, we must phase out barriers to trade. (ref Treaty establishing the European Community, 1957)

The software « Give1Get2 » is designed to build an alternative trading market to existing financial markets. The software specialised in online fund raising. It facilitates free trade in the international economy. This software was created to meet the financing needs of economic agents in Europe and globally in order to finance, among other things, research, education and innovation.

Principles & Qualities:

– Freedom, Citizenship, Responsibility, Equality, Solidarity,
– Open, rule based, predictable, nondiscriminatory

Objective:

Make a pilot project (functional, no set-up fees, free to use, legal, available (7/7j, 24/24h) and based on a win-win strategy) for an international trading platform from a PSP payment API (Moneybookers) and the FreePay Trading System (FTS) to help raise account balance of participants. (+1 Euro each time)

Directed: The main objective has been achieved.

The software has been tested in real conditions with personal accounts for the 3 possible cases of purchase (less, equal and higher) and in each case, it worked perfectly.

Simple example: when 1 Euro was sent, are received 2 Euros (factor 2: 1 * 2 = 2). The motto « Give 1. Get 2. » was chosen in this way. The starting amount is chosen by the user and may use the system as often as he wants. Example: 1234 Euros sent -> 2468 Euros received.

Target:

Target User: This software is being implemented, primarily targeting users of the PSP used speaking French or English and have minimal skills in finance (Moneybookers saves 9 million customers, according to Moneybookers). The goal is not to limit it to this category but can reach the largest number of users.

Target Developer: Those targeted for downloading and installing the software are programmers (preferably web developer) and / or companies wishing to establish a trading platform.

The platform does not take a percentage of the funds it raises. In this sense, an organization that would use it could be a non-profitable organization.

The strategy for doing business

There are 3 possible strategies for 2 people: lose, no deal or win. (representing 9 combinations in total)

Case study: I do not want to lose money (destruction of money) I do not want to lose money for someone wins. (theft of money) I want to change. I do not make money for someone to lose. (theft of money) I do not want to make money alone. (counterfeit) I want to make money and someone else wins, too.

The only solution that seems feasible is: the win-win strategy.

Business Model of an online trading platform with a Win-Win Strategy:

5 parts: Provider, Consumer, Competitor, Partner and Self.

Provider:
– Payment Services Providers (PSP) have a business model that works by commissions (fixed and variable) on the transactions of their customers (about 2%). To increase their profits, they want to increase their volume of transactions and that customers send the most money.
– Their main partners are the merchants and trading platform that allows them to increase their volume of transactions and amounts over the users who use them. This is done by increasing the number of customers that is proportional to the access of their information systems: the API (Application Programming Interface) that allows anyone to automate payments.
– Their suppliers are one or more banks. The financial messages are handled electronically by the bank. The PSP received confirmation via an API.

Consumer:
– The internet users want to meet their needs. The needs of humanity are recurrent (must be met every day). This need is either a product or service, or money. The products are among the online marketplaces (e-commerce). The easy money is on the trading platform.
– To send money, the user needs a PSP. PSP and asked to have a bank account to fulfill its electronic wallet. Compared to the PSP, the user earns more per transaction if the gain is at its default value (maximum).

Competitor, Partner and Self:
– The business model of the trading platform is either the same as the PSP (for transactions), or an entrance fee or monthly fee or premium sponsorships (link id) or is free. (The money is earned in the same way as users.)
– Providers of trading platforms are the PSP with their API. (the logo is highlighted)
– The users use a service that allows them to move money. The strategy of moving money is defined either by the trading platform or by users themselves. (depends on the internal politics of the trading platform)
– The trading platform is a software layer above the PSP. The design and evolution of the computer product can be partially outsourced to one or more persons caring for an open source trading platform that would reduce costs and development time.

Revenues

The link to the sponsorship program is here: http://www.moneybookers.com/app/referral.pl

There are over 9 million customers who use Moneybookers (Moneybookers depending). The target population is mainly covered that already included. The affiliate can not take commissions on those already listed. (he did not himself sponsored, implied)

For people who are not registered yet, they can apply directly to the url http://moneybookers.com/: in this case, the partner does not take commission.

Either option, register with the affiliate link (the URL provided in a footnote on the script) in this case, the affiliate will receive commissions on what wins the PSP (up to 30 % and limited to 100 Euros maximum) This is not an additional cost (30-70 division). It is therefore completely transparent to the user.

This incentive, I have put in place to increase the number of my partners on this project. I thought it was legitimate in order to pay the fixed costs (domain name) and variable operating costs (bandwidth, database) of each partner sites.

In addition, each user also has the ability to sponsor others in making requests for payments. I think it’s a fairness.

Interoperability: How do I know if the API electronic purse of a financial institution is compatible with FSX to FreePay?

Financial Institution:

1. It must be able to create an account.

2. Supply: The user can supply his account with different means of payment (check, credit card, bank transfer etc.) and remove.

3. It must have a minimum of funds in its account (balance at least 1 euro). (must also take into account the costs of financial institution)

Optional (but strongly recommended): Approval Financial: The financial institution must be approved by at least one regulator.

Separation of tests and the real: The customer transfers between normal and test client are prohibited.

On the FSX:

1. It must be able to pass an order on the FSX and get on the payment platform. (POST or GET)

2. B2B, B2C, C2B & C2C: Let the payment works in 2 directions (merchant-seller while being accessible client-customer, merchant-customer and customer-merchant), briefly allow P2P. The right of withdrawal depends on the status of persons making the transactions and all, it is defined on the site of PSP.

2a. (optional: but it’s better to do) should be able to enable process automation. (XML)

3. XML: It is necessary that the source site (merchant / FSX) to obtain a trace of the transaction from the payment platform. (xml sent and saved in the database tables in sql)

Existing: What is Moneybookers?

– Moneybookers is a payment service secure online that lets you send and receive money instantly from an e-mail. Opening an account is free, and loading and withdrawal of money is through a credit card (Visa, Mastercard, Diners, American Express, JCB, Delta / Visa Debit and Visa Electron) or by bank transfer.

– Moneybookers is translated into 12 different languages. (English, German, French, Spanish, Italian, Polish, Modern Greek, Romanian, Russian, Turkish, Chinese, Czech)

– Transaction costs are low and the deals can be found in the account history at any time.

– Moneybookers is an issuer of electronic money that allows the merchant (or merchant company) to accept online payments from customers worldwide with no installation fees or monthly fees. (in English: Payment Service Provider)

– Moneybookers Ltd. is a company registered in the Trade Registry of England and Wales under No. 4260907. Headquarters: Welken House, 10-11 Charterhouse Square, London, EC1M 6EH. It is licensed under the laws of the United Kingdom and the European Union and regulated by the Financial Services Authority (FSA), the Financial Services Authority in the United Kingdom.
Source:


Why a relationship with a PSP:

The division of roles: The software can be seen as a plugin that interacts with the main software (financial institution) to bring him a new feature. The software is an open system that sends information to the internal (history) and outside (order).
– The financial institution converts capital into e-money, make payments and make the conversion of checks.
– The software can place orders for payment, exchanging payment orders and can make claims.

Dependence: The software is towards simplicity as compared to the previous version (FreePay), he subtracted the processes needed to manage money. This software saves the cost of initial capital (1 million Euros) for the creation of a financial institution issuing electronic money (in: e-money issuer) within the European Union. (ref: Article 4 paragraph 1 of Directive 2000 46 EC).

Independence: Each organization that sets up the software Give1Get2 is autonomous from other organizations. It is dependent only financial institution which helps to make payments (1 to many relationship).

What is « Give1Get2?

The trading system is based on a win-win. The trading platform is a place of confrontation in the supply of financial securities and the demand for money under the idea of laissez-faire economics. There are no goods exchanged on the system. It is a zero sum game in terms of the payment platform but not the trading system (1 euro securitized token issued for the initiation, exchange +1 +1 for each party to each transaction). It’s a virtuous circle. There is no entrance fee. It is a system of person to person (P2P) which further allows users to place trades on a payment platform. This was designed so that there is no risk of inverse proportionality. Since there is no order of sale, it may not be a stock market crash. All system users can get rich, but not at the same time. The user can then become, as it makes a trader. (en: Market Operator)

The gain is also adjustable (0 to 100% Sample: 25 euros become real to 100% -> 50 euros securitized). This allows the user to speculate whether or not to do so. This allows the user to transform its capital and more capital represented by shares. (And then convert its shares capital by the sale, eg 50 euros securitized -> 50 euro real). Finally: EUR 25 real -> 50 euro real. This was to be demonstrated.

Economic Explanation: The software is not intended to create inflation.

From what I know, there are two types of inflation:

– Inflation of prices: Higher prices for goods and services during a period of time. (source: Wikipedia) The income increases more slowly as rising commodity prices. → decrease in purchasing power. What is problematic. But what has Give1Get2 is to increase the income of players in the system, thereby increasing purchasing power. There are no services for sale on the platform and use is free. The « products » are selling financial claims payments. The purchase price is determined by the buyers themselves. If they decide to buy more expensive it is to earn more.

– Inflation of the money: When money suffers a global money creation. Money in circulation increases via interest rates. However, the software Give1Get2 not intended to increase the money supply or decrease it. There is no interest rate not in this system. For only the responsibility of banks.

The software allows the movement of money between players.

Financial Explanation:

Consider this example: Bob wants to send 10 cents to EUR Alice via Moneybookers.

Alice to a balance of EUR 10.82. Bob has a balance of EUR 78.19. Bob sending 10 cents to Alice. The balance of Bob becomes 78.09 EUR. The balance goes to Alice 10.92 EUR. This is without counting the cost variables (0.01) and fixed costs (0.29). Ultimately, the balance of Alice is EUR 10.62 at the end of the operation.


People Alice
Bob
Time
Before After Before After
Balance 10.82 EUR 10.62 EUR 78.19 EUR 78.09 EUR


We note that the gain (10 cents) is less than the loss (30 cents). Bob was negatively charged (-0.10 EUR, which is normal). Alice was also negatively charged (total EUR -0.20). Thus a lose-lose situation.

For a win-lose, we can establish a minimum quota of money to be set in automatic settings for all purchases through the API. Test: Bob (balance: EUR 78.09), after mature reflection, wants to send Alice to 3 euros (balance: EUR 8.52) via Moneybookers. Bob now has a balance of EUR 75.09. Alice has a balance of approximately EUR 11.12 (8.52 +3.00 -0.10 -0.29).

People Alice
Bob
Time Before After Before After
Balance 8.52 EUR 11.12 EUR 78.09 EUR
75.09 EUR


What we are seeing? Bob was negatively charged (EUR -3.00), while Alice was positively charged (difference +2.60 EUR). This is a win-lose.

The trading process works as follows: The seller exchange goods cons money from the buyer. The seller of the property does that against a sum greater than what it cost him at first with these suppliers.

Similarly, when that person A makes a claim and receives money from a person B. This acts as a compensatory mechanism that allows B in turn place a claim for a price equal to or greater than what it cost him to his predecessor.

Traditionally, it is a relationship with 2 people only. The problem if one of the 2 party may pay or reimburse. (Relationship 1 to 1) With this software alternative market, there are multiple suppliers and multiple plaintiffs. (Relation of many to many) So, this reduces the risk (1 to many relationship in 2 directions) and there are more opportunities for success.

As I demonstrate, we can turn a win-lose strategy into a win-win strategy. That’s what we do now.


Download

The software is based on a policy of transparency and sustainable development. The chosen license is the GNU GPL. It is free software. Thus, it has been made freely available on SourceForge.net to be downloaded and installed on servers online.

* Download the complete solution directly (the most current):

http://give1get2.com/give1get2.zip
http://give1get2.com/give1get2.7z (requires software 7zip)

* Mirror full download (stable):

http://sourceforge.net/projects/give1get2/

* [Moneybookers] Demo in action:

http://www.moneybookers.com/app/help.pl?s=m_gateway_demo
https://www.moneybookers.com/app/test_payment.pl

* [Moneybookers] The documentation for free download:

http://www.moneybookers.com/merchant/en/moneybookers_gateway_manual.pdf
http://www.moneybookers.com/merchant/en/automated_payments_interface_manual.pdf (not needed)

Software Installation

1. Buy a domain name (mytradingplatformsample.com) at a Registrar.

2. Getting accommodation containing enough space (approx 50 MB) and sufficient bandwidth (several Giga) depending on the number of users expected. (and POP3, FTP, and MySQL included)

3. De-compress the files previously downloaded. (as above)

4. Edit the file ‘scripts sql tables & champs.sql’: at line 85, replace the email (alice@give1get2.com) and the merchant id (6173206) with your email and your merchant id obtained from moneybookers at the opening of your account. Replace the email as per your email on line 108.

5. Create a database « mocha » (without the double quotes) in your administration panel (usually the URL http://mytradingplatformsample.com/phpmyadmin/)

Create a user and give access rights to the database for reading and writing. (if not already done automatically).

6. Click the SQL tab, paste the data file ‘scripts sql tables & champs.sql’ in the textbox and click Run. No error message should appear.

7. Change the default values by those who have been provided by the host in the file ‘params.php’ (without the single quotes) line 31 (host), line 32 (user), line 33 (password), line 34 (database)

8. On the web server, copy and paste the modified source (with default settings) in 7z and zip. Also create a folder /give1get2/. Upload files via FTP (ex FireFTP, a Firefox extension) with the parameters of the host ( ‘params.php’) in the directory previously created.

9. Launch the browser http://mytradingplatformsample.com/give1get2/. The index page should be displayed without an error message. Sources (7z and zip) should be downloadable from a tab ‘literature’ or ‘download’.

10. Suggest your site on search engines (eg http://www.google.com/addurl/?continue=/addurl)

11. Generate an XML sitemap and put it in the root (eg http://www.xml-sitemaps.com/)

12. Optimize your website (eg with Google Webmaster Tools)

Prerequisite:


The only equipment needed is a PC, operating system, Internet connection and web browser.

Multi-platform: runs on Windows or Linux using Internet Explorer or Firefox.
The training is free. It is the documentation.


Designed in XHTML, CSS, JavaScript, PHP and SQL (CRUD). Requires MySQL, phpMyAdmin, POP3 for mail, FTP and a web browser. Has been tested and works with Apache (> = 1.3.33), MySQL (> = 4.1.9), PHP (> = 4.3.10), PhpMyAdmin (> = 2.6.1).

It’s a multitier architecture (data, business logic and presentation). The architecture is based on the project FreePay: http://freepay.fr/freepay.zip To deepen FreePay documentation is available. http://freepay.fr/freepay/nav_telechargement.php?option=documentation

For non French-speaking or non English speaking, there are translation tools like Google translate to read documents in your language.


The diagram of treatment processes the merchant side of the financial institution has been copied in an picture in attachment. « moneybookers_payment_gateway_api_details_interaction_diagram.png »

This script is also based on the API documentation « Moneybookers Payment Gateway – Merchant Integration Manual » (in English) – Version: <6.5>. http://www.moneybookers.com/merchant/fr/moneybookers_gateway_manual.pdf (43 pages) A new version may be out on time or you read these lines, which could cause problems.

The script takes into account that the fields by way of simplification. Regarding the optional fields: refer to official documentation.


The ISIN code is used again in this software (ISO 6166). The codification created the ZZ is to make a clear distinction and there have no ambiguity with the countries or territories with securities, according to ISO 3166-1.

The status of a transaction (statements):

2 : Processed
1 :
Test // status added, not in the documentation
0 :
Pending
-1 :
Cancelled
-2 :
Failed
-3 :
Chargeback

The Stages of development (How)

Vision: The payment module FreePay and all of the modules below are replaced by the external API Moneybookers (financial institution approved by the FSA).

Consequences: The support payment module is outsourced. The project name no longer matches. The meta tags do not correspond. Menus no longer match.

1. Copy FreePay. All necessary modules are not removed unless the FSX. (+ Check that it works)

2. API Implementation Moneybookers (+ check that it works)

3. Mashup of two (Mashup)
creation of specific interface
creation of specific process
creation of the specific database (+ check that it works through a simulator engine of payment)

4. Re-factoring: Optimization Mashup (+ check that it works)

5. Publication on Internet

Architecture

The source code is in French. The source code comments are in French too. Except for the financial standards that are in English. The project is oriented towards internationalization (I18N).

All images are in a specific folder (/images).
All CSS (Stylesheets cascading) are in a specific folder (/style).
All that was attractive to user support is in the /support.
The documentation is in the /support /docs.

Everything concerning the internationalization is in the folder named « services/i18n.

The programming style is procedural: the methods are called in a specific order.

The visible part is composed of the main page of the history and documentation.

The existence of a claim can be verified through history.


Restricting access is done through the sessions for the hidden part (payment process).

The availability of a claim can be verified by applying the filter with the ISIN number as parameter.


As a web project, the human-machine interface is based on an architecture is client/server. And the server to a 3-tier architecture (database, processing, presentation).

The database

It is composed of 4 tables per financial institution: ( « scripts sql tables & champs.sql » at the root)

-2 for the securities (already existing in FSX):

– List of past transactions carried on securities.
– List of securities for sale in their current states.

– 2 orders of payments (the before and after):

– List of past orders in the securities of FSX.
– List of payment orders sent by the API.

It is composed of 2 insertions in the tables corresponding to a title and its history.

The stages of payment for a user in FSX

The user has created and supplied a Moneybookers account. (https://www.moneybookers.com/app/register.pl)

1. The link to the login page is on the first page top right. The connection is with the email and digital identifier (Customer ID) associated with Moneybookers account.
(Visible beneath the menu in the interface Moneybookers). (No password is managed by Moneybookers upon payment to avoid external recovery)

2. The user goes to the purchase page and a ISIN number (defined as the value and benefit if necessary).

The purchase order is saved and accessible via the menu of the same name. It summarizes the status of the transaction (Active / Standby, Fails / Canceled or Finished).

3. According to the parameters ( « params.php ») defined by the administrator, the user is redirected either:
– On the test server (mb_test_payment.php) and valid
– Or Moneybookers (
https://www.moneybookers.com/app/payment.pl)

The redirection is done through a GET (passing all the required parameters). The solution has been chosen is a javascript redirect. (<script type=’text/javascript’>Code</ script>)

4. If the person given the right parameters, it falls just a password. Otherwise, it creates the account.

5. The payment is reversed or validated by the user. Moneybookers transfer money between the parties. Moneybookers sends a return code « HTTP 200 » POST only the status_url previously sent ( « Payment/pay/status_report.php ») and redirects the user to the platform FSX defined above.

– The software uses a coupling data (parameter passing).

if (isset ($ _POST [ ‘mb_transaction_id’])) ($mb_transaction_id = $ _POST[‘mb_transaction_id’];)

– The data are then filtered for security reasons. ( « status_report_filtre.php ») Verifies that all fields are filled, they have the right kind, good length and good data (technical filtering whitelist).

example: checking that the original data (IP) is really from the financial institution to avoid any fraudulent attempt to send play money. (attack type « man in the middle »)

The amount returned by moneybookers be less than the amount indicated in the reservation (due to the taking of commission (fixed and variable) of the payment platform or GET parameters that can be modified en route by the user). The transfer of ownership of securities is based on new figures sent by the API only to avoid these problems.

6. Then, if all criteria are validated then the data are stored in the table of the api. (+ Current date) and displays as required by the file ‘pay_liste.php’ the customer reflected in his eyes when he returns to Give1Get2.

7. continuing process of transferring ownership (the transaction on hold « pending » changes to « done ») with the transaction number recovered by Moneybookers previously sent)

Each sale of title, money is saved in the accounts of the financial institution. In a crisis (such as unavailability of the platform title), the money, it is always available.

8. The user can see his tracks and refresh the page (F5). It can also use the emailling to expedite the payment process, then:
– The seller receives an email notification informing the FSX the transfer of title and the reception of money. (Transmitter + Silver + currency)
– The buyer receives an email notification from the financial institution. (+ Silver + dollar + product code)

9. Disconnecting the trading platform (FSX)

Views:

The architecture views is common FreePay (header and footer together on every page).

Menu: (Home, History of titles, title Buy, Purchase Order (Confirmation is visible if the order was successful) Consult your titles, Contact Us, Documentation)

– The user can see the transaction history.
– The user can buy a ISIN number.
– The user can consult the list of purchase orders and click on the transaction number for details of the transaction (if it succeeded).
– The user can see his tracks.

Compliance with W3C standards: has been validated XHTML 1.0 Transitional and CSS 2.0 in Mozilla Firefox, Internet Explorer and Safari.

Controllers:


These are the same as those of FreePay. PHP and Javascript for the client and server respectively.

Transactions that fail after 1 day were classified as having failed. (status to -2).

Security

The application has been designed and tested CAL9000 (OWASP) to be protected against attacks like Cross Site Scripting (XSS). In the Top 10 vulnerabilities in 2007 by the Open Web Application Security Project (OWASP).

Test and Verify:

The test accounts are opened at the initiative of customers. Funding test are given free Moneybookers.

Pass the following test series: Requires minimum 2 users. (Alice and Bob) Preparation: Note the financial position of existing users: « Balance in Euro » and « Balance of ISIN » for each.

Make a purchase and for 3 cases (less than, equal, higher), check:
– The balance of the buyer (Alice) has he fallen?
– The value of the security of the buyer (Alice) has she grown?
– The balance of the receiver (Bob) has he grown?
– The titles of the receiver (Bob) have decreased?
– The receiver (Bob) as been notified by email?

Next development platform:

FaceBook + Paypal

Legal

I think my system is legal because I am doing research in this direction before putting it free. I believe it is in line with the principles of the European Union. (http://europa.eu/scadplus/european_convention/objectives_en.htm). I joined in the « Support »> « docs » reference documents concerning the legislative, legal and regulatory framework that could be pertinent.

The website of the European Commission is very instructive on this issue. (http://ec.europa.eu/internal_market/top_layer/index_24_en.htm) Category: European Commission> Internal Market> Single Market for Services> Financial Services. I am not completely agree on the choice of this category since the trading platform offers a free service (without compensation) and does not manage money (only confirmation that the money has been transferred).

Fund investments> Alternative investments: there is a Draft Directive on fund managers known as « alternative. The draft guideline can still be changed, and the final version will not necessarily apply to specific cases. http://ec.europa.eu/internal_market/investment/alternative_investments_en.htm

Payment services> E-Money: The trading platform does not change. So, this concerns only the PSP Moneybookers. http://ec.europa.eu/internal_market/payments/emoney/index_en.htm

Payment services> e-Invoicing: PSP is Moneybookers which manages billing (it may disable) Only one copy is kept for archive purposes by the trading platform (or nothing depending on the setting) http://ec.europa.eu/internal_market/payments/einvoicing/index_en.htm

Financial conglomerates: Depending on the size of the trading system Give1Get2 and structure, it can enter or not enter this category. It is the selection of the contractors as opportunities for merger / acquisitions. http://ec.europa.eu/internal_market/financial-conglomerates/index_en.htm

Electronic Business: It depends on what is done by customers in return for money sent. http://ec.europa.eu/internal_market/e-commerce/directive_en.htm

Copyright:

My copyright is protected by the GNU General Public License. http://www.gnu.org/licenses/gpl.html

My creations are protected at European level by Council Directive 91/250/EEC of 14 May 1991 on the legal protection of computer programs. (http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:EN:HTML)

My designs are protected internationally by the Berne Convention for the Protection of Literary and Artistic Works (currently managed by the World Intellectual Property Organization (WIPO), specialized agency within the UN). (source: http://www.wipo.int/treaties/en/ip/berne/trtdocs_wo001.html)

Disclaimer:

Using this application value of acceptance of the disclaimer as follows: The author assumes no responsibility for any consequences arising from the use of this application.

Script comes with no warranty.

The Organization

The Indefinite Lifespan Foundation is a nonprofit charitable organization, nongovernmental, dedicated to reducing human mortality, to promote the extension of life expectancy and the pursuit of happiness using mainly preventive medicine, Public health and computer science. (Currently being created)

Contact:

As a developer, I always look for a way to produce more at lower cost. My motivation is based on the fact that the software works and it is useful. While I agree that the type of communication is more efficient face to face, I acknowledge that I am not always available and so I put up with written documentation. Under a policy of transparency, I also put my resume attached in order to learn who wants my identity and my professional skills (which leaves several ways to contact me). His reading is optional.

Also, I’m open to suggestions for improving the software. If there are bugs, so I can correct them, I must have accurate knowledge. From my experience, to improve a system requires that users can contact the author for improvement of the platform is through positive feedback loops at the initiative of users. This will return to the basic architecture of the next version (which will contain the existing + corrections).


If you have a problem of a financial nature relating to your moneybookers account, please contact Moneybookers customer service.

Conception d’un système de trading à partir de l’API de paiement Moneybookers et de FreePay

(version Beryl)

télécharger la brochure : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Slides_FR.pdf

télécharger le texte : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Guide_Dev_FR.pdf

Vision :

Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies et réduire la
mortalité.

Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies et réduire la mortalité.

Le changement de paradigme :

Le paradigme existant permet de résoudre certain problèmes, c’est pourquoi il a été accepté par le passé. Cependant, en ce moment, il ne répond pas à la demande de tout le monde. Donc, il y a eu une remise en question et une demande de changement.

J’ai étudié le marché des solutions existantes. N’étant pas satisfait (car si j’étais satisfait la problématique aurait été déjà résolue), j’ai donc décidé de créer ce logiciel. Car, à mon avis, il faut retirer progressivement les barrières qui entravent les échanges. (réf Traité instituant la Communauté européenne, 1957)

Le logiciel Give1Get2 est conçu pour construire un marché financier alternatif aux marchés financiers existants. Le logiciel est spécialisé dans la levée de fonds en ligne. Il facilite le libre échange dans l’économie internationale. Ce logiciel a été crée pour répondre au besoin de financement des agents économiques au niveau européen et mondial pour pouvoir financer, en autre chose, la recherche, l’éducation et l’innovation.

Principes & Qualités :

– Liberté, Citoyenneté, Responsabilité, Égalité, Solidarité,

– Ouvert, Réglementé, Prévisible, Non discriminatoire

Objectif :

Faire un projet pilote (fonctionnel, gratuit dans sa mise en place et dans son utilisation, légal, disponible (7/7j, 24/24h) et reposant sur une situation gagnant-gagnant) d’une plateforme de trading internationale (FSX) à partir d’une API de paiement (Moneybookers) et d’un progiciel financier libre (FreePay) pour permettre d’augmenter le solde des participants. (+1 Euro à chaque fois)

Réalisé : L’objectif principal a été réalisé.

Le logiciel a été testé dans des conditions réelles avec des comptes personnels pour les 3 cas possibles d’achat (inférieur, égal et supérieur) : et dans chacun des cas, cela à fonctionné parfaitement.

Exemple simple : lorsqu’ 1 Euro est envoyé, 2 Euros sont reçus (facteur 2 : 1*2=2). La devise « Give 1. Get 2. » a été choisie en ce sens. Le montant de départ est choisi par l’utilisateur et il peut utiliser le système autant de fois qu’il veut. exemple : 1234 Euros envoyé -> 2468 Euros reçus.

Cible :

Cible Utilisateur : Ce logiciel est été mis en oeuvre en ciblant principalement les utilisateurs du PSP utilisé parlant français ou anglais et ayant un minimum de compétences en finance (Moneybookers enregistre 9 millions de clients, selon Moneybookers). L’objectif n’étant pas de ce limiter à cette catégorie mais de pouvoir toucher le plus grand nombre d’ utilisateurs.

Cible Développeur : Les personnes ciblé pour le téléchargement et l’installation du logiciel sont les programmeurs (développeur web de préférence) et/ou entreprises voulant mettre en place une plateforme de trading.

La plateforme ne prend pas de pourcentage sur les fonds qu’elle lève. En ce sens, une organisation qui l’utiliserait pourrait être du type organisation à but non lucratif.

Les stratégies pour faire du business

Il existe 3 stratégies possibles pour 2 personnes : Perdre, pas de deal ou gagner. (soit 9 combinaisons en tout)

Cas pratique : Je ne veux pas perdre d’argent (destruction d’argent) Je ne veux pas perdre d’argent pour que quelqu’un en gagne. (un vol d’argent) Je veux changer. Je ne veux pas gagner d’argent pour que quelqu’un en perde. (un vol d’argent) Je ne veux pas gagner d’argent tout seul. (faux billet) Je veux gagner de l’argent et que quelqu’un d’autre en gagne aussi.

La seule solution qui me semble réalisable est donc : la stratégie gagnant-gagnant.

Business Model d’une plateforme de Trading en ligne avec une stratégie Gagnant-Gagnant :

5 parties : Fournisseur, Consommateur, Concurrent, Partenaire et Soi-même.

Fournisseur :

– Les prestataires de services de paiement (PSP) ont un business model qui fonctionne par les commissions (partie fixe et variable) sur les transactions de leur clients (environ 2%). Pour que leur profit augmente, ils veulent augmenter leur volume de transactions et à ce que les clients envoient de plus grosse somme.

– Leur principaux partenaires sont les marchands et les plateforme de trading qui leur permet d’accroitre leur volume de transactions et les montants via les utilisateurs qui les utilisent. Ceci se fait par l’augmentation de leur nombre de clients qui est proportionnel à l’accès de leur système d’informations : l’API (Application Programming Interface) qui permet à quiconque d’automatiser les paiements.

– Leur fournisseurs sont une ou plusieurs banques. Les messages financiers sont géré électroniquement par la banque. Le PSP reçoit des confirmations via une API.

Consommateur :

– Les utilisateurs de l’internet veulent répondre à leur besoins. Les besoins de l’humanité sont récurrent (doivent être satisfait tout les jours). Ce besoin est soit un produit ou service, soit de l’argent. Les produits se trouvent chez les marchants en ligne (e-commerce). L’argent facilement gagné se trouve sur les plateforme de trading.

– Pour envoyer de l’argent, l’utilisateur à besoin d’un PSP. Et son PSP lui demande d’avoir un compte bancaire pour remplir son portefeuille électronique. Comparativement au PSP, l’internaute gagne plus par transaction si le profit est à sa valeur par défaut (maximum).

Concurrent, Partenaire et Soi-même :

– Le business model de la plateforme de trading est soit le même que celui du PSP (commissions par transactions), soit des frais d’entrée, soit des frais mensuels, soit des primes de parrainages (lien avec id) ou soit gratuit. (L’argent est gagné de la même manière que les utilisateurs.)

– Les fournisseurs des plateformes de trading sont les PSP avec leur API. (le logo est mis en évidence)

– Les utilisateurs consomment un service qui leur permet de déplacer de l’argent. La stratégie de déplacement de l’argent est définie soit par la plateforme de trading soit par les utilisateurs eux même. (dépend de la politique interne de la plateforme de trading)

– La plateforme de trading est une couche logiciel au dessus du PSP. La conception et l’évolution de ce produit informatique peut être en partie externalisé auprès d’une ou plusieurs personnes qui s’occupe d’un logiciel libre de plateforme de trading ce qui permettrait de réduire les coûts et le temps de développement.

Revenus

Le lien vers le programme de parrainage est ici : http://www.moneybookers.com/app/referral.pl

Il y a plus de 9 millions de client qui utilisent Moneybookers (selon Moneybookers). La population cible visé est majoritairement celle déjà inscrite. L’affilié ne peux prendre de commissions sur des personnes déjà inscrite. (qu’il n’a pas lui même parrainé, sous-entendu)

Pour les personnes qui ne sont pas encore inscrite, elles peuvent s’inscrire directement à l’url http://moneybookers.com/ : dans ce cas, l’affilié ne prend pas de commission.

Soit, dernière option, s’inscrire avec le lien de l’affilié (l’url fourni en bas de page sur le script), dans ce cas, l’affilié recevra des commissions sur ce que gagne le PSP (à hauteur de 30% et, limité à 100 Euros maximum) Ce n’est pas un surcoût (répartition 30-70). C’est donc complètement transparent pour l’utilisateur final.

Cette mesure incitative, je l’ai mis en place pour augmenter le nombre de mes partenaires sur ce projet. Je pensai que cela était légitime afin de pouvoir payer les couts fixes (nom de domaine) et les coûts variable de fonctionnement (bande passante, base de donnée) de chacun des sites partenaires.

De plus, chaque utilisateur à aussi cette possibilité de parrainer d’autres utilisateurs en faisant ses demandes de paiements. Je trouve que c’est une preuve d’équité.

Interopérabilité : Comment savoir si l’API du porte monnaie électronique d’une institution financière est compatible avec le FSX de FreePay ?

Sur l’institution financière :

1. Il faut pouvoir créer un compte.

2. Approvisionnement : L’utilisateur peut approvisionner son compte avec différents moyens de paiement (chèque, carte de crédit, transfert bancaire etc) et en retirer.

3. Il faut avoir un minimum de fonds sur son compte (solde à minimum 1 euros). (il faut aussi prendre en compte les frais de l’institution financière)

Facultatif (mais vivement recommandé) : Agrément financier : L’institution financière doit être agréé par au moins une autorité de régulation.

Séparation des tests et du réel : Les transferts entre client normaux et client de test sont interdits.

Sur le FSX :

1. Il faut pouvoir passer un ordre sur le FSX et arriver sur la plateforme de paiement. (POST ou GET)

2. B2B, B2C,C2B & C2C : Il faut que les paiements fonctionne dans les 2 sens (marchand-marchand tout en étant accessible client-client, marchand-client et client-marchand), brièvement permettre le P2P. Le droit de rétractation dépend du status des personnes effectuant les transactions ensemble et, cela est défini sur le site du PSP.

2 bis. (optionnel : mais c’est mieux de le faire) Il faut pouvoir activer l’automatisation des processus. (en xml)

3. XML : Il faut que le site source (marchand / FSX) puisse obtenir une trace de la transaction de la part de la plateforme de paiement. (xml envoyé et enregistrable dans la base de donnée dans des tables sql)

Existant : Qu’est-ce que Moneybookers?


– Moneybookers est un service paiement en ligne sécurisé qui vous permet d’envoyer et de recevoir de l’argent instantanément à partir d’une adresse e-mail. L’ouverture de compte est gratuite ; et le chargement et le retrait d’argent se fait par l’intermédiaire d’une carte de crédit (Visa, mastercard, diners, american express, jcb, delta / visa debit et visa electron) ou par virement bancaire.

– Moneybookers est traduit en 12 langues différentes. (Anglais, Allemand, Français, Espagnol, Italien, Polonais, Grec moderne, Roumain, Russe, Turc, Chinois, Tchèque)

– Les frais de transaction sont peu élevé et les transactions peuvent être consultées dans l’historique du compte à tout moment.

– Moneybookers est une institution émettrice de monnaie électronique qui permet au marchands (société ou négociant) d’accepter les paiements en ligne de clients du monde entier sans aucun frais d’installation, ni de frais mensuels. (en anglais : Payment Service Provider)

– Moneybookers Ltd est une société enregistrée au registre du Commerce de l’Angleterre et du Pays de Galles sous le No 4260907. Siège social: Welken House, 10-11 Charterhouse Square, London, EC1M 6EH. Elle est agréé en vertu de la législation du Royaume-Uni et de l’Union Européenne et régi par la Financial Services Authority (FSA), l’Autorité des services financiers au Royaume-Uni.

Source :

Pourquoi une relation avec un PSP :

La division des rôles : Le logiciel peut être vu comme un plugin qui interagit avec le logiciel principal (l’institution financière) pour lui apporter une nouvelle fonctionnalité. Le logiciel est un système ouvert qui envoie des informations à l’intérieur (historique) et à l’extérieur (ordre).
– L’institution financière transforme les capitaux entrant en monnaie électronique, fais les paiements et fais les conversion de chèques.

– Le logiciel permet de passer des ordres de paiement, d’échanger des ordres de paiement et permet de faire des demandes de paiement.

Dépendance : Le logiciel va vers la simplicité puisque, par rapport à la version précédente (FreePay), il soustraite les processus nécessaire à la gestion de l’argent. Ce logiciel permet d’économiser le coût du capital initial (1 million d’ Euros) nécessaire à la création d’une institution financière émettrice de monnaie électronique (en : E-money issuer) au sein de l’ Union Européenne. (ref : Article 4 paragraphe 1 de la Directive 2000 46 CE).

Indépendance : Chaque organisation qui met en place le logiciel Give1Get2 est autonome des autres organisations. Elle n’est dépendante que de l’institution financière qui permet de faire les paiements (Relation 1 à plusieurs).


Qu’est-ce que « Give1Get2 »?


Le système de trading repose sur une stratégie gagnant-gagnant. La plateforme de trading est un lieu de confrontation de l’offre de titres financiers et de la demande d’argent en application de la pensée du laissez-faire économique. Il n’y a pas de marchandises échangé sur le système. C’est un jeu à somme nulle du point de vue de la plateforme de paiement mais pas du système de trading (1 euro titrisé symbolique émit pour l’amorçage, échange +1 +1 pour chaque partie à chaque transaction). C’est un cercle vertueux. Il n’y a pas de droit d’entrée. C’est un système de personne à personne (P2P) complémentaire qui permet aux utilisateurs de passer des ordres sur une plateforme de paiement. Cela a été conçu de tel manière qu’il n’y a pas de risque de variation inverse. Puisqu’il n’y a pas d’ordre de vente, il ne peut pas y avoir de crack boursier. Tout les utilisateurs du système peuvent s’enrichir, mais pas au même moment. L’utilisateur peut donc devenir, selon ce qu’il en fait, un trader. (fr : Opérateur de marché)

Le profit est aussi paramétrable (de 0 à 100 %, exemple : 25 euros réel deviennent à 100% -> 50 euros titrisés). Cela permet à l’utilisateur de spéculer ou de ne pas le faire. Ce qui permet à l’utilisateur de transformer ses capitaux en plus de capitaux représenté par les titres. (Et ensuite transformer ses titres en capitaux par l’acte de vente, exemple : 50 euros titrisés -> 50 euros réel). Finalement : 25 euros réel -> 50 euros réel. Ce qu’il fallait démontrer.

Explication Économique : Le logiciel n’a pas pour but de créer de l’inflation.

D’après ce que je sais, il existe deux types d’inflation :

– L’inflation du niveau des prix : Une hausse des prix des biens et des services durant une période de temps donné. (source : Wikipédia) Le revenu augmente moins vite que la hausse des prix des produits. → diminution du pouvoir d’achat. Ce qui est problématique. Or, ce que propose Give1Get2, c’est d’augmenter le revenu des acteurs du système, d’où une augmentation du pouvoir d’achat. Il n’y a pas de services en vente sur la plateforme et l’utilisation y est gratuite. Les « produits » financiers en vente sont des demandes de paiements. Le prix d’achat est fixé par les acheteurs eux-même. S’ils décident d’acheter plus cher, c’est pour gagner plus.

– L’inflation de la masse monétaire : Lorsque la masse monétaire mondiale subit une création monétaire. L’argent en circulation augmente via les taux d’intérêts. Or, le logiciel Give1Get2 n’a pas vocation d’augmenter la masse monétaire ni de la diminuer. Il n’y a pas de taux d’intérêts non plus dans ce système. Car c’est uniquement du ressort des banques.

Le logiciel permet la circulation de la monnaie entre les acteurs économiques.

Explication financière :

Prenons cet l’exemple : Bob veut envoyer 10 centimes d’EUR à Alice via Moneybookers.

Alice à un solde de 10.82 EUR. Bob a un solde de 78.19 EUR. Bob envoi 10 centimes à Alice. Le solde de Bob devient 78.09 EUR. Le solde de Alice passe à 10.92 EUR. C’est sans compter les frais variables (0.01) et les frais fixes (0.29). En fin de compte, le solde de Alice est de 10.62 EUR à la fin de l’opération.

Personnes Alice Bob
Temps Avant Après Avant Après
Solde 10.82 EUR 10.62 EUR 78.19 EUR 78.09 EUR

On constate que le gain (10 centimes) est inférieur à la perte (30 centimes). Bob a été chargé négativement (-0.10 EUR, ce qui est normal). Alice a été aussi chargé négativement (total de -0.20 EUR). C’est donc une situation perdant-perdant.

Pour obtenir une situation perdant-gagnant, on peut mettre en place un quota d’argent minimum automatique à définir dans les paramètres pour tout achat via l’API. Testons : Bob (solde : 78.09 EUR), après mûres réflexion, veut envoyer 3 Euros à Alice (solde : 8.52 EUR) via Moneybookers. Bob a maintenant un solde de 75.09 EUR. Alice a un solde d’environ 11.12 EUR (8.52 +3.00 -0.10 -0.29).

Personnes Alice Bob
Temps Avant Après Avant Après
Solde 8.52 EUR 11.12 EUR 78.09 EUR 75.09 EUR

Que constatons nous ? Bob a été chargé négativement (-3.00 EUR) tandis que Alice a été chargé positivement (différence de +2.60 EUR). Ce qui est une situation perdant-gagnant.

Le processus marchand fonctionne de la manière suivante : Le vendeur échange un bien contre l’argent de l’acheteur. Le vendeur du bien ne le fait que contre une somme supérieur à ce que cela lui à coûté en premier lieu auprès de ces fournisseurs.

De la même façon, lorsque que une personne A fait une demande de paiement et reçoit l’argent d’une personne B. Cela agit comme un mécanisme de compensation qui permet à B placer à son tour une demande de paiement pour un prix à une valeur égale ou supérieur à ce que cela lui a coûté auprès de son prédécesseur.

Traditionnellement, c’est une relation à 2 personnes uniquement. Ce qui pose problème si l’une des 2 partie ne peut prêter ou rembourser. ( Relation 1 à 1) Avec ce logiciel de marché alternatif, il y a de multiples offreurs et de multiples demandeurs. (Relation de plusieurs à plusieurs) Donc, cela diminue le risque (relation 1 à plusieurs dans les 2 sens) et il y a plus de possibilités de succès.

Comme je viens de le démontrer, nous pouvons transformer une stratégie perdant gagnant en une stratégie gagnant gagnant. C’est ce que nous allons faire maintenant.

Télécharger

Le logiciel se base sur une politique de transparence et de développement durable. La licence choisie est la GNU GPL. C’est un logiciel libre. De ce fait, il a été mis à disposition gratuitement sur SourceForge.netpour être téléchargé et installé sur des serveurs en ligne.

* Télécharger directement la solution complète (la plus à jour) :

http://give1get2.com/give1get2.zip
http://give1get2.com/give1get2.7z (nécessite le logiciel 7zip)

* Miroir de téléchargement complet (version stable) :

http://sourceforge.net/projects/give1get2/

* [Moneybookers] Démonstration en action :

http://www.moneybookers.com/app/help.pl?s=m_gateway_demo
https://www.moneybookers.com/app/test_payment.pl

* [Moneybookers] La documentation en libre téléchargement:

http://www.moneybookers.com/merchant/fr/moneybookers_gateway_manual.pdf
http://www.moneybookers.com/merchant/fr/automated_payments_interface_manual.pdf (pas requis)

Installation du logiciel

1. Acheter un nom de domaine (maplateformedetradingdexemple.com) chez un Registrar.

2. Obtenir un hébergement contenant un espace suffisant (environ : 50 Mo) et une bande passante suffisante (plusieurs Giga) en fonction du nombre d’utilisateur prévu. (et POP3, FTP et MySQL inclus)

3. Dé-compacter les fichiers précédemment téléchargé. (procédure ci-dessus)

4. Modifier le fichier ‘scripts sql tables & champs.sql’ : à la ligne 85, remplacer l’email (alice@give1get2.com) et l’ id marchand (6173206) par votre email et votre id marchand obtenu auprès de moneybookers à l’ouverture de votre compte. Remplacer aussi le courriel par votre courriel à la ligne 108.

5. Créer une base de données « mocha » (sans les doubles quotes) dans votre panneau d’administration (généralement à l’URL http://maplateformedetradingdexemple.com/phpmyadmin/)

Créer un utilisateur et lui donner les droits d’accès à la base de données en lecture et écriture. (si ce n’est pas déjà fait automatiquement).

6. Cliquer sur l’onglet SQL, copier-coller les données du fichier ‘scripts sql tables & champs.sql’ dans le champ de saisie et cliquer sur Exécuter. Aucun message d’erreur ne doit s’afficher.

7. Modifier les valeurs par défaut par celles qui ont été fournies par l’hébergeur dans le fichier ‘params.php’ (sans les simple quotes) ligne 31 (hôte), ligne 32 (utilisateur), ligne 33 (mot de passe), ligne 34 (base de données)

8. Sur le serveur web, copier-coller la source modifié (avec les parametres par défauts) en 7z et zip. Créer aussi un dossier /give1get2/ . Importer les fichiers via un FTP (ex fireFTP, une extension de Firefox) avec les paramètres de l’hébergeur (‘params.php’) dans le répertoire précédemment crée.

9. Lancer dans le navigateur http://maplateformedetradingdexemple.com/give1get2/. La page d’index doit s’afficher sans message d’erreurs. Les sources (7z et zip) doivent pouvoir être téléchargeable à partir d’un onglet ‘documentation’ ou ‘téléchargement’.

10. Référencer votre site sur les moteurs de recherche (ex : http://www.google.com/addurl/?continue=/addurl)

11. Générer un sitemap XML, et le mettre à la racine (ex : http://www.xml-sitemaps.com/ )

12. Optimiser votre site (ex: avec Google Webmaster Tools )

Pré-requis :

Le seul matériel nécessaire est un pc, un système d’exploitation, une connexion à Internet et un navigateur web.

Multi-Plateforme : fonctionne sous Windows ou Linux avec Internet Explorer ou Firefox.

La formation est gratuite. Elle constitue la documentation.

Conçu en XHTML, CSS, JavaScript, PHP et SQL (CRUD). Nécessite un MySQL, phpMyAdmin, POP3 pour les mails, FTP et un navigateur web. A été testé et fonctionne avec Apache (>= 1.3.33), Mysql (>= 4.1.9), PHP (>= 4.3.10), PhpMyAdmin(>= 2.6.1).

L’architecture est en trois tiers (donnée, business logic et présentation). L’architecture se base sur le projet FreePay : http://freepay.fr/freepay.zip Pour approfondir, la documentation de freepay est à votre disposition. http://freepay.fr/freepay/nav_telechargement.php?option=documentation

Pour les non francophone ou les non anglophones, il existe des outils de traductions comme Google translate pour lire des documents dans votre langue.

Le diagramme des traitements des processus marchands du côté de l’institution financière a été copié dans une image jointe au logiciel. « moneybookers_payment_gateway_api_details_interaction_diagram.png »

Ce script se base également sur la documentation de l’API « Moneybookers Payment Gateway – Merchant Integration Manual » (en anglais)- Version: <6.5>. http://www.moneybookers.com/merchant/fr/moneybookers_gateway_manual.pdf (43 pages) Une nouvelle version est peut être sortie à l’heure ou vous lisez ces lignes, ce qui pourrait poser des problèmes.

Le script ne prend en compte que les champs obligatoires par mesure de simplification. Pour ce qui est des champs facultatifs : se référer à la documentation officielle.

Le code ISIN est de nouveau utilisé dans ce logiciel (ISO 6166). La codification mis en place est le ZZ afin de faire une distinction claire et qu’il n’y ai aucune ambiguïté avec les pays ou territoires ayant des valeurs mobilières, selon la norme ISO 3166-1.

Les status d’une transaction (états) :

2 : validé (Processed)
1 : test //status ajouté, pas présent dans la documentation
0 : en attente (Pending)
-1 : annulé (Cancelled)
-2 : Échoué (Failed )
-3 : Retour arrière (Chargeback)

Les Étapes du développement (le Comment)

Vision : Le module de paiement de FreePay et tout les modules de niveau inférieur sont remplacés par l’API externe de Moneybookers (institution financière validé par la FSA).

Conséquences : Le support du module de paiement est donc externalisé. Le nom du projet ne correspond plus. Les balises Méta ne correspondent plus. Les menus ne correspondent plus.

1. Copie de Freepay. Tout les modules non nécessaires sont retirés sauf le FSX. (+ vérifier que ça marche)

2. Implémentation de l’API Moneybookers (+ vérifier que ça marche)

3. Mashup des deux (Application composite)
création de l’interface spécifique
création des processus spécifique
création de la base de donnée spécifique (+ vérifier que ça marche via un simulateur de moteur de paiement)

4. Re-factorisation : Optimisation de la Mashup (+ vérifier que ça marche)

5. Publication sur internet

L’architecture

Le code source est en français. Les commentaires du code source sont en français aussi. Sauf pour les standards financiers qui sont en anglais. Le projet s’oriente vers une internationalisation (I18N).

Toutes les images sont dans un dossier spécifique (/images).

Tout les CSS (Feuilles de style en cascade) sont dans un dossier spécifique (/style).

Tout ce qui a attrait au support utilisateur est dans le dossier /support.

La documentation est dans le dossier /support/docs.

Tout ce qui concerne l’internationalisation est dans le dossier nommé « services/i18n ».

La programmation est de type procédurale : les méthodes sont appelés dans un ordre spécifique.

La partie visible est composé de la page principale, de l’historique et de la documentation.

L’existence d’une demande de paiement peut se vérifier via l’historique.

La limitation d’accès se fait grâce aux sessions pour la partie caché (processus de paiement).

La disponibilité d’une demande de paiement peut se vérifier en appliquant le filtre avec le numéro ISIN en paramètre.

Comme c’est un projet web, l’interface homme-machine est basé sur une architecture est de type client/serveur. Et, le serveur à une architecture en 3 tiers (base de données, traitements, présentation).

La base de donnée

Elle est composée de 4 tables par institution financière : (« scripts sql tables & champs.sql » présent à la racine)

-2 pour les titres (déjà existante dans le FSX) :

– liste des transactions passés effectués sur des titres.
– liste des titres en vente dans leur états actuels.

– 2 pour les ordres de paiements (l’avant et l’après) :

– liste des ordres passés sur les titres du FSX.
– liste des ordres de paiements renvoyé par l’api.

Elle est composé de 2 insertions dans ces tables correspondant à un titre et de son historique.

Les étapes du processus de paiement pour un utilisateur dans le FSX

L’utilisateur a crée et approvisionné un compte Moneybookers. (https://www.moneybookers.com/app/register.pl )

1. Le lien vers la page de connexion est sur la première page en haut à droite. La connexion se fait avec l’Email et l’identifiant numérique (Customer ID) associé au compte Moneybookers.
(Visible en dessous du menu dans l’interface Moneybookers). (Pas de mot de passe, il est gérée par Moneybookers lors du paiement pour éviter une récupération externe)

2. L’utilisateur va sur la page d’achat et sélectionne un numero ISIN (définit aussi la valeur et le profit si besoin).

L’ordre d’achat est sauvegardé et accessible via le menu du même nom. Il récapitule l’état de la transaction (En cours / En attente, Échoue / Annulé ou Fini).

3. Selon les paramètres (« params.php ») défini par l’administrateur, l’utilisateur est redirigé soit :
– sur le serveur de test (mb_test_payment.php) et valide
– soit sur Moneybookers (https://www.moneybookers.com/app/payment.pl)

La redirection se fait grâce à un GET (passage de tout les paramètres obligatoires). La solution qui a été choisie est une redirection javascript. (<script type=’text/javascript’>Code</script>)

4. Si la personne a donnée les bons paramètres, elle entre juste son mot de passe. Sinon, elle crée son compte.

5. Le paiement est annulé ou validé par l’utilisateur. Moneybookers transfert l’argent entre les parties. Moneybookers envoie un code de retour « HTTP 200 » en POST uniquement à la status_url précédement envoyé (« paiement/pay/status_report.php ») et redirige l’utilisateur vers la plateforme de FSX défini précédement.

– Le logiciel utilise un couplage par données (passage de paramètres).

if( isset($_POST[‘mb_transaction_id’]) ) { $mb_transaction_id = $_POST[‘mb_transaction_id’]; }

– Les données sont ensuite filtrées par mesure de sécurité. (« status_report_filtre.php ») Il vérifie que tout les champs sont renseignés, qu’ils ont le bon type, la bonne longueur et les bonnes données (technique de filtrage par liste blanche).

exemple : vérification que l’origine des données (IP) provient bien de l’institution financière pour éviter toute tentative frauduleuse d’envoi d’argent fictif. (attaque de type « man in the middle »)

Le montant renvoyé par moneybookers peut être inférieur au montant indiqué dans la réservation (du fait de la prise de commission (fixe et variable) de la plateforme de paiement ou des paramètres GET qui peuvent être modifié en cours de route par l’internaute). Le transfert de possession des titres se fait compte tenu des nouveaux chiffres envoyé par l’API uniquement afin d’éviter ces problèmes.

6. Ensuite, si tout les critères sont validés alors les données sont stockés dans la table de l’api. (+ date actuelle) Et affichable au besoin par le fichier ‘pay_liste.php’ que le client retrouve sous ses yeux lorsqu’il retourne sur Give1Get2.

7. continuation de processus de transfert de possession (la transaction en attente « pending » passe à « done ») grâce au numéro de transaction récupéré par Moneybookers précédemment envoyé)

A chaque vente de titre, l’argent est sauvegardé dans les comptes de l’institution financière. En cas de crise (comme une indisponibilité de la plateforme de titre), l’argent, lui, est toujours disponible.

8. L’utilisateur peut consulter ses titres et rafraichir la page (F5). Il peut aussi utiliser l’emailling pour accélérer le processus de paiement, puis :
– Le vendeur reçoit une notification par email du FSX l’informant de la cession du titre et de la reception de l’argent. (+ emetteur + argent + devise)
– L’acheteur reçoit une notification par email de l’institution financière. (+ argent + devise + indicatif produit)

9. Déconnexion de la plateforme de trading (FSX)

Les vues :

L’architecture des vues est commune à FreePay (header et footer en commun sur toutes les pages).

Le Menu : (Accueil, Historique des titres, Acheter un titre, Ordre Achat (la confirmation est visible si l’ordre a réussi), Consulter vos titres, Contactez-nous, Documentation)

– L’utilisateur peut voir l’historique des transactions.
– L’utilisateur peut acheter une demande ISIN.
– L’utilisateur peut consulter la liste de ses ordres d’achat et, cliquer sur le numéro de la transaction pour voir les détails de la transaction (si celle-ci a réussi).
– L’utilisateur peut consulter ses titres.

Respect des standards du W3C : a été validé XHTML 1.0 transitionnel et CSS 2.0 sous Mozilla Firefox, Internet Explorer et Safari.

Les contrôleurs :

Ce sont les même que ceux de FreePay. PHP et Javascript pour le côté serveur et client respectivement.

Les transactions qui n’aboutissent pas au bout d’1 journée sont classé comme ayant échoué. (status à -2).

Sécurité

L’application a été conçu et testé avec CAL9000 (OWASP) pour être protégé contre les attaques de type Cross Site Scripting (XSS). Dans le Top 10 des vulnérabilités 2007 selon l’Open Web Application Security Project (OWASP).

Test et Confirmation :

Les comptes de tests sont ouvert à l’initiative des clients. Des fonds de test sont donné gratuitement par Moneybookers.

Passer la séries de tests suivantes : Nécessite minimum 2 utilisateurs. (Alice et Bob) Préparatif : Noter la situation financière existante des utilisateurs : « Solde en Euro » et « Solde ISIN » pour chacun d’eux.

Effectuer un achat et pour les 3 cas (inférieur, égal, supérieur), vérifier :
– Le solde de l’acheteur (Alice) a t-il diminué ?
– La valeur du titre de l’acheteur (Alice) a t-elle augmenté ?
– Le solde du récepteur (Bob) a t-il augmenté ?
– Les titres du récepteur (Bob) ont-ils diminué ?
– Le récepteur (Bob) a t-il été notifié par email ?

Prochain développement de la plateforme : FaceBook + Paypal

Légalité

Je pense que mon système est légal car j’ai fais des recherches en ce sens avant de le mettre à disposition de tous. Je considère qu’il va dans le sens des principes de l’union européenne. (http://europa.eu/scadplus/european_convention/objectives_fr.htm) . J’ai joint dans le dossier « support » > « docs » les documents de référence concernant le contexte législatif, juridique et réglementaire qui pourrait s’y rapporter.

Le site internet de la commission européenne est très instructif sur cette question. ( http://ec.europa.eu/internal_market/top_layer/index_24_fr.htm ) Rubrique : Commission européenne >Marché Intérieur > Le marché unique des services > Services financiers. Je ne suis pas complètement d’accord sur le choix de cette rubrique puisque la plateforme de trading offre un service gratuit (sans contrepartie) et ne gère pas d’argent (uniquement la confirmation que l’argent a été transféré).

Fonds d’investissements > Investissements alternatifs : il existe un Projet de Directive relative aux gérants de fonds dits ‹ alternatifs ›. Ce projet de directive peut encore être changé, et, la version finale ne va pas forcément s’appliquer à ce cas très précis. http://ec.europa.eu/internal_market/investment/alternative_investments_fr.htm

Services de paiement > Monnaie électronique : La plateforme de trading ne crée pas de monnaie. Donc, cela ne concerne que le PSP Moneybookers. http://ec.europa.eu/internal_market/payments/emoney/index_fr.htm

Services de paiement > e-Facturation : c’est PSP Moneybookers qui gère la facturation (il peut le désactiver) Uniquement une copie est gardé à des fins d’archive par la plateforme de trading (ou rien suivant le paramétrage) http://ec.europa.eu/internal_market/payments/einvoicing/index_fr.htm

Conglomérats financiers : Selon la taille du système de trading Give1Get2 et sa structure, il peut entrer ou ne pas entrer dans cette catégorie. C’est au choix du/des entrepreneurs selon les opportunités de fusion / acquisitions. http://ec.europa.eu/internal_market/financial-conglomerates/index_fr.htm

Commerce électronique : Cela dépend de ce qui est fait par les clients en contrepartie de l’argent envoyé. http://ec.europa.eu/internal_market/e-commerce/directive_fr.htm

Copyright :

Mon droit d’auteur est garanti par la Licence publique générale GNU. http://www.gnu.org/licenses/gpl.html

Mes créations sont protégés au niveau Européen par la Directive 91/250/CEE du Conseil, du 14 mai 1991, concernant la protection juridique des programmes d’ordinateur. (http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:FR:HTML )

Mes créations sont protégés internationalement par la Convention de Berne pour la protection des œuvres littéraires et artistiques (géré actuellement par l’ Organisation mondiale de la propriété intellectuelle (OMPI), organisme spécialisé au sein de l’ONU). (source : http://www.wipo.int/treaties/fr/ip/berne/trtdocs_wo001.html )

Clause de non responsabilité :

L’utilisation de la présente application à valeur d’acceptation de la clause de non responsabilité suivante : L’auteur décline toute responsabilité quant aux conséquences pouvant résulter de l’utilisation de cette application.

Script fourni sans aucune garantie.

L’ Organisation

L’ Indefinite Lifespan Foundation est un organisation de bienfaisance à but non lucratif, non gouvernementale, dédié à réduire la mortalité humaine, à encourager l’extension de l’espérance de vie et la recherche du bonheur en utilisant principalement la médecine préventive, la santé publique et l’informatique. (En phase de création)

Contact :

En tant que développeur, je recherche toujours un moyen de produire plus et à moindre coût. Ma motivation se base sur le fait que le logiciel fonctionne et qu’il est utile. Bien que je sois d’accord pour dire que le type de communication le plus efficient est le face à face, je reconnais aussi que je ne suis pas toujours disponible et donc, j’ai mis en place une documentation écrite. Dans le cadre d’une politique de transparence, j’ai aussi mis mon cv en pièce jointe afin de pouvoir renseigner qui le souhaite sur mon identité et mes aptitudes professionnelles (ce qui laisse plusieurs moyens de me contacter). Sa lecture est facultative.

De plus, je suis ouvert à toute suggestion permettant d’améliorer le logiciel. S’il y a des bogues, pour que je puisse les corriger, il faut que j’en ai connaissance précise. D’après mon expérience, pour améliorer un système, il faut que les utilisateurs puissent contacter l’auteur car l’amélioration de la plateforme se fait grâce aux boucles de rétroaction positive à l’initiative des utilisateurs. Ce retour servira de base à l’architecture de la prochaine version (qui contiendra l’existant + les corrections).

Enfin, si vous avez un problème de nature financière relatif à votre compte Moneybookers, vous pouvez vous adresser au service clientèle de Moneybookers.

FreePay – Business Plan – Solution financière électronique sécurisé Libre

Free Xbox 360 Free PS3 Free Wii Official NBC G4TV Report (294 749 Vues)

http://www.youtube.com/watch?v=DFKYVE__Mug

Business Plan

Introduction

Sur le long terme, la problématique des banques consiste à garder leur avantage compétitif. Elles doivent modifier leur business plan : connaître les tendances du marché et se repositionner sur une niche. Cela concerne à la fois les banques centrales, les banques privées, les banques de détails et les banques d’investissements.

La problématique des éditeurs de logiciel consiste à concevoir de nouveaux produits et services tout en réduisant le coût total de possession (TCO), tout en augmentant son chiffre d’affaire, tout en restant abordable pour leur consommateurs .

On peut conceptualiser la création d’une banque en ligne en 3 processus distincts : l’administratif, le matériel et le logiciel. L’administratif se fait auprès des autorités de régulation en la matière. Le matériel s’achète auprès de fournisseurs de serveurs de stockage. Enfin, la partie logicielle, celle qui ici proposée, est vendu par des sociétés de services.

La législation européenne

Contexte : « Le maintien d’un niveau de frais plus élevé pour les paiements transfrontaliers que pour les paiements nationaux constitue un frein aux échanges transfrontaliers et donc un obstacle au bon fonctionnement du marché intérieur. »

Source : RÈGLEMENT (CE) No 2560/2001 DU PARLEMENT EUROPÉEN ET DU CONSEIL du 19 décembre 2001 concernant les paiements transfrontaliers en euros

Directive sur le commerce électronique : Elle exonère de toute responsabilité les intermédiaires qui jouent un rôle passif en assurant le simple « transport » d’informations provenant de tiers. Elle limite également la responsabilité des prestataires de services pour d’autres activités intermédiaires, telles que le stockage d’informations.

Source : Directive 2000/31/CE du Parlement européen et du Conseil du 8 juin 2000 relative à certains aspects juridiques des services de la société de l’information, et notamment du commerce électronique, dans le marché intérieur («directive sur le commerce électronique»)

Paiements transfrontaliers en euros : «Tout établissement communique à chaque client qui en fait la demande son numéro international de compte bancaire (IBAN) ainsi que le code d’identification de banque (BIC). »

Source : Règlement (CE) n° 2560/2001 du Parlement européen et du Conseil du 19 décembre 2001 concernant les paiements transfrontaliers en euros

Plus d’informations sur le cadre européen des services financiers et bancaires.

Étude de marché

Le secteur étudié est celui de la Banque / Finance / Paiement en ligne. Il y a plus de 8000 banques dans le monde et un réseau de branches jusqu’à 10 fois supérieur.

Sergey Brin, fondateur de Google, a annoncé qu’il attribuerait une prime globale de 10 millions de dollars aux développeurs des meilleures applications dans le cadre de l’Android Developer Challenge. Parmis les 1700 projets envoyés, seulement 50 ont été retenu. Parmi ces projets finalistes, la plupart sont des mashups utilisant les API Google dont la très célèbre Google Maps API. FreePay est aussi une application web hybride.

Un internaute sur deux consomme sur Internet en France. Les deux principaux facteurs d’achat sont le gain de temps et la perspective de payer moins cher. Entre 2003 et 2006, le nombre de boutique e-commerce à plus que doublé. Ebay enregistre plus de 4 millions de visiteurs uniques pour novembre 2004 et en gagne 2 millions de plus en 2006. Le e-commerce attirait 100 millions d’acheteurs en 2006 pour 100 milliards d’euros de chiffre d’affaires. Source : www.acsel.asso.fr/

MySQL AB a été acheté le 16 janvier 2008 par Sun Microsystems pour 1 milliard de dollars US. Avec 400 employées dans 25 pays, MySQL AB est une des plus larges entreprise open source au monde. Elle est la société créatrice de MySQL, un système de gestion de base de données (SGDB). Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels, au même titre que Oracle ou Microsoft SQL Server.

Selon Forrester Research, le très prestigieux institut de conseil et de recherche en technologie, le commerce électronique à généré quelques 12,2 milliards de dollars de vente annuel aux États-Unis en 2003.

Le projet

FreePay est un prototype de logiciel financier libre sur Internet qui repose sur plusieurs modules:

  • un Marché libre (MIC)
  • un module de swift libre
  • un module de banque libre
  • un module de paiement électronique (FreePay)
  • un module de cartes d’achats et de paiement (FreeCard)
  • un module d’ E-Commerce (FreeShop)
  • un module marché de libre-échange par enchère (FSX)

Télécharger la brochure (.pdf) Image brochure PDF (.odp)

Cette solution logiciel s’appuie sur une méthode de développement en forme ouverte et a la particularité d’être sous une licence libre (la GNU GPL) permettant ainsi l’émergence d’une nouvelle forme d’économie et de marché.

Elle se base sur des standards ouverts élaborées par l’Organisation internationale de normalisation (ISO) et le European Committee for Banking Standards (ECBS).

Le Swift Libre enregistre les banques (Bank Identifier Code / Code SWIFT) et leur permettent d’être interopérable entre elles.

La Banque Libre fournit la vérification et la génération du numéro IBAN (International Bank Account Number) dans près de 40 pays européens dont, la France, l’Allemagne, la Suisse, la Belgique, l’Italie, l’Angleterre, le Portugal, l’Irlande…

FreePay se veut une alternative libre aux logiciels de paiement actuels, permettant à chaque utilisateur, de demander, d’envoyer et de recevoir ses paiements rapidemment à partir d’un simple courriel. Il contient un porte monnaie électronique ainsi qu’un historique consultables par les parties. Il est possible d’envoyer une transaction anonymement. Le client peut opérer des transferts de fonds depuis son compte IBAN vers le porte monnaie et inversemment.

Enfin, Free Card se charge de la validation des principales cartes d’achats et de paiement (American Express, Bankcard, China Union Pay, Diner’s Club, Discover Card, JCB, Maestro, Mastercard, Solo, Switch, Visa, Visa Electron, Voyager).

Le module d’ E-Commerce vise à faciliter l’achat de bien sur Internet. Le traitement des commandes est automatisé et contrôlé. Une fois le paiement validé, l’acheteur et le commerçant reçoivent une facture par courriel.

Le Free Stock Exchange (FSX) est un module de marché financier libre où sont effectués des transactions sur des titres financiers. L’offre et de la demande s’y confrontent en application de la philosophie du laissez-faire économique. Le FSX ne crée pas de spéculation financière (bulle spéculative) puisqu’il n’y a pas de risque de variation inverse. L’inscription y est gratuite et chaque membre est libre d’acheter des titres à n’importe quel moment. Chaque titre est identifier par un code international : l’ISIN, très utilisé dans la finance pour identifier les actions, les obligations, les bons, les warrants et les trackers.

Plus d’info sur http://freepay.fr/

Droit d’auteur : « Conformément aux dispositions de la présente directive, les États membres protègent les programmes d’ordinateur par le droit d’auteur en tant qu’œuvres littéraires au sens de la convention de Berne pour la protection des œuvres littéraires et artistiques. »

Source : Directive 91/250/CEE du Conseil, du 14 mai 1991, concernant la protection juridique des programmes d’ordinateur

Ce produit est protégé par le droit de la propriété intellectuelle sous la forme d’une licence libre, la Licence publique générale GNU.

Equipe

The Financial Information eXchange (FIX) Protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd. http://www.fixprotocol.org/

Qu’es ce qu’un logiciel libre ? http://fr.wikipedia.org/wiki/Logiciel_libre

Modèles économiques des SS2L

Les modèles économiques des SSLL sont liés à la notion de service : vendre un savoir-faire et une expertise plutôt qu’un droit d’usage sur un logiciel.

Le passage suivant de « Open Source Development with CVS (M. Bar & K. Fogel) » (p23/368), illustre le fondement de ce modèle :

« Imaginez un appareil de science fiction qui permettrait de répliquer indéfiniment n’importe quel objet. Si quelqu’un essayait de vous vendre un pneu pour votre voiture, pourquoi l’achèteriez-vous ? Vous pourriez simplement utiliser la machine à répliquer avec le pneu d’un ami ! Cependant, vous voudriez payer quelqu’un pour mettre au point un nouveau pneu pour vous, ou peut-être pour installer le pneu sur votre voiture. Ou pour vous aider au cas n’importe quelle pièce de votre voiture tombe en panne, vous voudriez sans doute une garantie de prise en charge future. Ou peut-être voudriez-vous simplement louer les services d’un mécanicien personnel. ».

Comment vendre l’idée ? -> Réduire les coûts de développement

Les entrepreneurs qui veulent ouvrir leur banque n’ont pas suffisamment de moyen financiers pour y parvenir. C’est un marché de consommateur potentiel qui mérite qu’on s’y attarde. Il faut donc leur réduire les coûts. Comme les logiciels sont immatériels, les investisseurs peuvent se partager les coûts de développement puisque le produit peut être dupliqué à l’infini. Ce qui se résume par l’équation suivante :

Ancien coût du logiciel propriétaire / Nombre de client = Nouveau coût du logiciel libre par client

Exemple sur la base d’un projet qui aurait coûté 50 000 euros par client :

50 000 Euros / 50 Clients = 1000 Euros par client

Soit une économie de 49 000 euros par client soit 2 450 000 Euros d’économie en tout. Les entrepreneurs bancaires ont donc tout intérêt a se regrouper.

La structure de la société

FreePay Inc est une Société de Services en Logiciels Libres (SS2L) spécialisé dans le domaine de la finance et de la bancassurance libre. Elle fait du conseil, de l’intégration de banque en ligne, et développe un progiciel bancaire à partir des services informatiques qu’elle fournit à ses clients.

La stratégie de l’entreprise consiste à développer une intégration horizontale, verticale et transversale du produit dans ses différents aspects (marketing, finance, organisation, informatique).

La vente de service : Le FreePay Community Process (FCP)

  1. Demande d’un service de la part d’un client

  2. Étude de faisabilité / Prix

  3. Négociation et Paiement du client

  4. Réalisation de la prestation

Conclusion

Les banques doivent s’adapter à l’évolution du marché si elles veulent rester compétitive. Les logiciels libres permettent aux banques de réduire leur TCO tout plaçant suffisamment dans l’innovation. Le marché actuel représente 617 milliards d’euros ce qui est une opportunité pour les capital-risqueurs.

La législation européenne est très favorable à la venue de nouveaux acteurs bancaire pour peu qu’il suivent la réglementation en vigueur. De plus, le marché du commerce en ligne augmente exponentiellement depuis quelques années maintenant.

Nous avons vu qu’un tel système est possible techniquement (au vu de la démonstration en ligne) car reposant sur les standards de la banque / finance (ISO / TR / IEC / ECBS) et protégé par le code de la propriété intellectuelle.

De même, la phase d’amorçage coûte dans les 30 000 euros. Cela serait réalisé dans une courte période de temps pour peu que suffisamment de personnes s’y investissent. Cela peut être un investissement en termes compétences ou en apports de capitaux. Ceux qui le veulent, peuvent aussi regarder l’annexe sur la création d’entreprise.

Il fonctionnerait ainsi de la même façon, voir mieux, que progiciels bancaires existants tout en étant moins cher et tout en assurant la compatibilité avec les anciens systèmes.