mardi 9 février 2010
Depuis quelques semaines, je développe un site web de commerce électronique et le client a retenu PayPal comme solution de paiement en ligne. En cours de développement, il est conseillé d'utiliser le sandbox pour simuler les paiements et la réception de l'IPN (Instant Payment Notification) pour s'assurer que tout se comporte bien.
Lorsque le client possède déjà un compte utilisateur, on conserve généralement son profil dans la base de données locale. Si on veut déléguer la responsabilité du paiement à PayPal, l'acheteur aura deux choix pour effectuer le paiement :
- se connecter à son compte PayPal pour compléter la transaction avec les informations déjà recueillies (carte de crédit, compte bancaire, etc)
- compléter son profil avec le formulaire indépendant sans avoir besoin de posséder un compte PayPal
Par exemple, on pourra utiliser des champs hidden et les garnir des valeurs connues. PayPal peut recevoir en POST les clés (name) suivantes :
- first_name
- last_name
- address1
- address2
- city
- state
- zip
- address_country_code
Autrement, vous risquez de faire comme plusieurs sites qui passent la valeur textuelle de la région parce qu'ils ont laissé le champ de saisie ouvert lors de la création du profil. Peu importe le texte entré, il sera transféré à PayPal et il sera affiché tel quel dans le libellé texte de l'adresse (lorsque celle-ci est complète). Cependant, si on tente de le modifier, l'étiquette texte sera remplacée par un formulaire pré-remplit avec les valeurs qu'on lui aura envoyé. Dans le formulaire, le champ pour la province ou l'état est une liste déroulante. Si la valeur transférée ne se retrouve pas dans les choix, elle ne sera pas sélectionnée. Pour que ça fonctionne, la valeur envoyée doit être soit le nom anglais avec l'orthographe exacte (insensible à la casse), soit le code à deux lettres. Par exemple, "Quebec", "quebec", "QC" et "qc" passent bien mais "Québec" ne donnera pas le résultat attendu (même si l'interface est français).
Conservez dans votre base de données la liste des codes standards et évitez de laisser ces champs ouverts à la saisie lorsque l'acheteur est au Canada ou aux États-Unis. Évidemment, j'ai vu bon nombre de fois des gens inscrire "Québec" dans la case "Pays". Même si certaines personnes idéalisent ce rêve, PayPal n'est pas de cet avis :-)
En passant, saviez-vous que www.x.com appartient à PayPal ? Visitez le PayPal X Developer Network.