Vous êtes ici : Accueil / 2011 / Octobre / Intégration de Cockpit à la Google Market Place

Intégration de Cockpit à la Google Market Place

écrit le 13/04/2012 Par Joseph Rozencwajg
Nous envisageons la sortie prochaine de Cockpit sur la Google Market Place. Dans cette optique, nous vous proposons de présenter, au travers de cet article, l'intérêt et le fonctionnement de la plateforme pour une application SaaS telle que Cockpit.

Présentation de Cockpit


Cockpit est la solution CaaS (Cockpit as a Service) de gestion des contacts et d'envoi de newsletters de Pilot Systems, développée à l'aide du framework Django. Vous trouverez plus d'informations concernant Cockpit sur http://www.cockpit-mailing.com/ et http://www.pilotsystems.net/solutions/cockpit.

Intérêt de la plateforme Google Market Place pour Cockpit


De nombreuses entreprises ont fait le choix d'utiliser Google Apps for Business avec leur domaine, principalement la messagerie Gmail et les outils collaboratifs Google Docs et Google Calendar. Pour ces structures, il peut être intéressant de fournir une solution qui s'intègre à cet écosystème à différents niveaux :

  • Système de Single Sign-On de Google basé sur OpenID ;
  • Mécanisme de paiement reposant sur Google Checkout, avec gestion de licences, d'éditions et de souscriptions ;
  • Exploitation des données déjà stockées sur la plateforme Google Apps pour un domaine donné, comme les contacts sauvegardés dans Gmail.

Pour contre-balancer ces possibilités, deux points importants sont à prendre en considération :

  • Google Market Place est actuellement disponible uniquement pour les structures anglaises et américaines ;
  • 20% des revenus générés par l'application via la Market Place seront prélevés par Google.

Fonctionnalités supportées et non supportées

Google met à disposition une API de paiement et gestion des licences qui se base sur Google Checkout.

Il est bien précisé que Google ne recommande pas d'utiliser cette API pour l'instant car elle est toujours en version bêta et sera soumise à des changements.

Fonctionnalités supportées

L'API de la Market Place offre les fonctionnalités suivantes :

  • Réception des paiements sur un compte Google Checkout
  • Création d'éditions du produit en activant ou désactivant des extensions
  • Création de différents packetages ayant chacun un prix unique
  • Proposition de licences limitant le nombre d'utilisateurs ou pas
  • Souscriptions mensuelles ou annuelles, avec possibilité de période d'essai
  • Vérification de l'état d'une souscription ou d'une licence
  • Liste des utilisateurs possédant des licences et souscriptions, et notification de changement lors d'un changement de statut de celles-ci
  • Gestion des demandes de mises à jour de l'application ou des licences (ajout du nombre d'utilisateurs)
  • Gestion du paiement effectuée par Google, en utilisant les informations de la carte bancaire de l'utilisateur (unique moyen de paiement pour l'instant)

Fonctionnalités non supportées

Il n'est en revanche pas possible via cette API d'utiliser les fonctionnalités suivantes :

  • "Pay As You Go" : paiement à la consommation
  • Envoi de factures : seul le paiement par carte bleue est pris en charge
  • Licences par groupes d'utilisateurs : seules des licences nommées (assignées à un utilisateur) ou pour tous les utilisateurs d'un domaine donné sont possibles

En bref

L'API de Google Market Place ne gère pas les paiements à la consommation, mais propose en revanche de gérer les licences, éditions et souscriptions.

Pour Cockpit, nous ne souhaitons pas imposer de limite sur le temps ou le nombre d'utilisateurs. En revanche, nous prévoyons de limiter via des appels à l'API interne de Cockpit le nombre de contacts stockés et le nombre d'emails envoyés via Cockpit. Il faudra donc créer des "packs" avec des valeurs fixes si nous passons par cette API.

Intéressons-nous maintenant aux détails du fonctionnement des APIs de Google.

Fonctionnement de la plateforme et workflow de paiement

Licences, éditions et souscriptions

Une licence est une autorisation d'utiliser une édition de notre application, allouée à un client (utilisateur unique ou domaine).

Une édition permet de lister les extensions (ou fonctionnalités) de l'application accessibles en fonction des licences qui lui correspondent. Il est possible de laisser l'accès à une édition "standard" lorsque la licence de l'édition "premium" expire.

Une souscription associe une ou plusieurs licences à leurs éventuels montants (elles peuvent être gratuites). Elles s'apparentent à des commandes et peuvent être récurrentes (mensuellement ou annuellement).

Ce système permet de créer des "packs", déclinés sous forme d'éditions, à prix dégressifs. Par exemple, un premier pack gratuit de 100 000 emails peut être proposé. Une fois le quota d'emails atteint, un second pack, payant cette fois-ci, permettra, pour 100 euros, de recharger le compte pour 100 000 emails supplémentaires. Un troisième pack quant à lui offrira la même quantité d'emails supplémentaires pour 95 euros (au lieu de 100), etc ...

Processus de paiement

Le processus de paiement se décompose en deux phases distinctes :

  • Consultation des tarifs et décision d'acheter : faites depuis la page du produit sur Google Market Place ;
  • Choix d'une édition, éventuel paiement et redirection vers Google Market Place : effectués depuis le site de l'application (Cockpit dans notre cas)

Le paiement est donc effectué depuis le site de l'application. Il est possible d'utiliser Google Checkout ou tout autre moyen de paiement. Google Checkout a l'avantage de fonctionner avec le Single Sign On de Google.

Les prochaines étapes de développement

Le développement d'une couche spécifique à la Google Market Place pour Cockpit est en cours. Nous ne manquerons pas de vous tenir au courant de nos progrès et trouvailles au fur et à mesure de notre découverte des APIs de Google Apps.

Pour en savoir plus

Documentation des APIs Google de paiement et de gestion des licences

Mise à jour - Avril 2012

La plateforme de paiement de Google est restée en status beta pendant de longs mois. Finalement, Google a préféré revenir à une solution plus simple et plus souple pour les développeurs souhaitant vendre leurs applications sur le Google Market Place en ne proposant plus la Billing API (lire les raisons du changement : http://googleappsdeveloper.blogspot.fr/2011/12/important-changes-to-google-apps.html). 

Est ce à dire que tout ce que nous venons de voir n'as plus d'intérêt ? Heureusement, non. En effet, si la Billing API est maintenant dépréciée et ne devrait donc plus être utilisée, l'API Licence reste en revanche parfaitement utilisable et, vous allez le voir, va vous permettre d'interfacer votre application avec la Google Market Place avec beaucoup de souplesse.

Vous pouvez en effet continuer de gérer des licences pour vos clients et les faire payer via Google Payment  par exemple.

Et pourquoi pas Google Checkout ?

Google checkout a pendant longtemps été la plateforme de choix pour le paiement avec Google. Mais les limitations de territoires (Etats Unis et Royaume Uni) la rendait difficilement applicable pour nous autre français. Google Payment est un système qui est lui disponible dans de nombreux pays (dont la France) et qui permet de vendre vos produits dans plus de 140 pays.

Google Payment, comment ça marche ?

Google Payment est une API qui va vous permettre de vendre vos produits au travers de l'application de votre choix. Dans notre cas, il s'agit d'une application Google Market Place mais vous pouvez tout aussi bien l'utiliser pour un simple site d'e-commerce par exemple.

Google Payment fait également parti de Google Wallet, ce qui signifie que vous pouvez vendre vos produits à des clients qui utilisent Google Checkout sans qu'il ai besoin de créer un compte supplémentaire.

Google Payment prélèvera simplement 5% de taxe par paiement, ce qui rend le service encore plus simple et clair.

Le workflow de paiement

l'API de licence est toujours disponible. Vous pouvez donc, à l'intérieur de votre application avoir accès en lecture et en écriture aux informations de licence de vos utilisateurs.

Lorsque une licence arrive à expiration ou que le nombre de "token" que vous avez défini pour votre service ont été consomés, vous pouvez faire apparaitre un bouton de paiement sur votre application.

Le tutoriel d'utilisation de Google Payment vous propose un générateur de Json Web Token qui est l'outil principal dont vous aurez besoin pour mener votre paiement à bien. (https://developers.google.com/in-app-payments/docs/tutorial). Vous devez de plus fournir à Google une url de callback vers laquelle il redirigera l'utilisateur en fin de transaction.

La transaction en elle-même se fait au delà de votre champs d'application, vous n'avez donc pas à vous en soucier. En revanche, Google vous renverra au travers de sa réponse le compte-rendu de la transaction. Vous pourrez alors mettre à jour les informations de licence, afficher un message de succès ou un message d'erreur, en fonction de la réponse fournie par Google. 

En conclusion

Comme vous pouvez le voir, le cheminement de Google en ce qui concerne le paiement via ses services va dans un bonne direction. Il permet maintenant de vendre dans des pays où cela n'étais pas possible auparavant, la gestion du paiement est unifié entre Google Checkout, Google Wallet et Google Payment et les services sont moins cher (5% au lieu de 20%) et plus simples à mettre en oeuvre.

Nul doute que les API de Google qui concernent le paiement seront ammenées à changer ; mais aujourd'hui, le couple Google Market Place et Google Payment offre des perspectives très interressantes qu'il serait dommage d'ignorer.

 

Actions sur le document