Conseils pour résoudre les problèmes liés aux boutons et liens de paiement PayPal
Je reçois un message d'erreur et le bouton ne s'affiche pas sur mon site.
- Vérifiez que votre connexion Internet fonctionne.
- Consultez d'autres pages de votre site et vérifiez qu'elles se chargent correctement.
- Accédez à la page Boutons PayPal et vérifiez les points suivants :
- Le bouton s'affiche-t-il sous Boutons enregistrés ?
- Sélectionnez Modifier et assurez-vous que le code du bouton est identique à celui de votre site.
- Cliquez avec le bouton droit de la souris sur votre page produit (où vous avez collé le code du bouton) et cliquez sur Inspecter. Accédez à l'onglet Console (vous le verrez en haut). Il se peut que vous voyiez des erreurs CSP.
Si vous avez déployé une Content Security Policy (stratégie de sécurité de contenu), vous pouvez voir des erreurs CSP comme celles-ci (exemples d'erreurs CSP) :
- Refus de charger le script https://www.paypal.com/sdk/js** car cela enfreint la directive suivante de la Content Security Policy : "default-src 'self'". Notez que 'script-src-elem' n'a pas été explicitement défini, donc 'default-src' est utilisé comme solution de secours.
- Refus de se connecter à https://www.paypal.com/** car cela enfreint la directive suivante de la Content Security Policy : "default-src 'self'". Notez que 'connect-src' n'a pas été explicitement défini, donc 'default-src' est utilisé comme solution de secours.
- Refus d'exécuter le script inline car cela enfreint la directive suivante de la Content Security Policy : "script-src https://*.paypal.com". Le mot-clé 'unsafe-inline', un hachage ('sha256-WYDWDPwB8j2VePYrqy38aHPcJLsasO//lnXymmxscUk=') ou un nonce ('nonce-...') est requis pour activer l'exécution inline.
- Refus de charger l'image https://tracking.qa.paypal.com/webapps/tracking/ts?** car cela enfreint la directive suivante de la Content Security Policy : "default-src 'self'". Notez que 'img-src' n'a pas été explicitement défini, donc 'default-src' est utilisé comme solution de secours.
- Refus d'encadrer https://www.paypal.com/ car cela enfreint la directive suivante de la Content Security Policy : "default-src 'self'". Notez que 'frame-src' n'a pas été explicitement défini, donc 'default-src' est utilisé comme solution de secours.
Vous pouvez essayer d'ajouter les éléments suivants pour résoudre les erreurs susmentionnées :
Option-1 (HTML): si votre CSP est configurée dans un fichier HTML, utilisez le code ci-dessous pour remplacer votre code CSP.
<meta http-equiv="Content-Security-Policy" content="default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com; connect-src
https://*.paypal.com; frame-src https://*.paypal.com; img-src
https://*.paypal.com https://*.paypalobjects.com">
Option-2 (côté serveur) : si votre CSP est configurée côté serveur, utilisez le code ci-dessous pour remplacer votre code CSP.
Content-Security-Policy: script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com
Content-Security-Policy: style-src 'unsafe-inline' https://*.paypal.com
Content-Security-Policy: connect-src https://*.paypal.com
Content-Security-Policy: frame-src https://*.paypal.com
Content-Security-Policy: img-src https://*.paypal.com https://*.paypalobjects.com
Comment modifier la présentation, la taille, la couleur du nom, le prix ou la quantité du produit ?
Pour modifier la présentation, la taille ou la couleur du nom, du prix ou de la quantité du produit sur le site PayPal :
- Accédez à la page Boutons PayPal.
- Cliquez sur Ouvrir à côté du bouton enregistré et sélectionnez Modifier.
- Cliquez sur Personnaliser vos boutons et apportez les modifications nécessaires.
J'ai modifié les informations relatives au produit (nom, montant ou autre). Dois-je
copier-coller à nouveau le code du bouton ?
Non, nous récupérons toutes les informations sur le serveur PayPal. Une fois les modifications enregistrées sur votre compte, vous n'avez pas besoin de mettre à jour l'identifiant du bouton copié-collé sur votre site.
Remarque : si vous modifiez le code de devise de votre produit, vous devrez mettre à jour votre bouton de paiement.
Je vois un identifiant client dans le code. Qu'est-ce que cela signifie ?
L'identifiant client est l'identifiant client du marchand qui fait partie de votre compte. Vous ne devez pas le modifier. Utilisez-le tel qu'il est proposé dans le code du bouton.
J'ai ajouté plusieurs boutons, mais aucun ne s'affiche sur ma page Web.
La présence de plusieurs boutons sur la même page ne fonctionnera pas dans les cas suivants :
- Si vous avez copié-collé le même identifiant de bouton plusieurs fois sur la même page, seul le premier bouton s'affichera. Vous ne pouvez pas répéter plusieurs fois le même identifiant de bouton.
- Si vous avez copié-collé différents identifiants de bouton mais avec d'autres devises sur la même page, seul le premier bouton s'affichera. Il n'est pas possible d'ajouter des devises étrangères sur les boutons d'une même page.
- Si vous avez copié-collé différents identifiants de bouton et que vous constatez des lenteurs, assurez-vous que la balise de script avec l'identifiant du client n'est ajoutée qu'une seule fois. La ligne de script ressemblera à ceci :
<script src="https://www.paypal.com/sdk/js?client-id=XYZ&components=hosted-buttons&enable-funding=venmo¤cy=USD"></script>
J'ai un compte PayPal Premier, et je ne vois pas les liens et boutons de paiement en
option.
Cette fonctionnalité est uniquement disponible pour les comptes Professionnels PayPal. Pour utiliser cette fonctionnalité, convertissez votre compte ou ouvrez un compte Professionnel.
Comment puis-je tester cette expérience dans l'environnement de test PayPal ?
Les boutons et liens de paiement peuvent être testés dans l'environnement de test.
L'extension en ligne Crédit/Débit ne s'affiche pas complètement sur mon
site.
Veillez à ce que la largeur et la hauteur du conteneur parent soient définies de manière à permettre l'extension en ligne. Consultez la documentation/l'assistance de votre plateforme d'hébergement pour en savoir plus.
Les boutons et liens de paiement prennent-ils en charge la notification instantanée de paiement ?
Oui. Suivez ces étapes pour configurer et activer la notification instantanée de paiement.
Pour trouver la configuration de notification instantanée de paiement dans PayPal :
- Accédez aux Paramètres du compte.
- Sélectionnez Notifications et Notifications instantanées de paiement.
- Cliquez sur Mettre à jour le lien.
Pour activer les paramètres de notification instantanée de paiement :
- Ajoutez l'URL du gestionnaire de notification instantanée de paiement et sélectionnez Recevoir les messages IPN (activé).
- Cliquez sur Enregistrer.
Gérer les notifications instantanées de paiement dans le code de votre serveur :
- Chaque fois que des transactions sont effectuées via un bouton ou un lien de paiement, la notification instantanée de paiement PayPal appelle l'URL de notification configurée à l'étape 2.
Accéder à l'historique des notifications instantanées de paiement :
Références
Introduction : https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/
Veillez à utiliser l'URL de notification instantanée de paiement appropriée dans le code du serveur.
- Environnement de test : https://www.sandbox.paypal.com/cgi-bin/webscr
- Environnement de production : https://www.paypal.com/cgi-bin/webscr
Exemples pour différentes langues : GitHub - paypal/ipn-code-samples
Lorsqu'un client est envoyé sur la page de redirection,
quelles informations sont envoyées par PayPal concernant l'achat ? Les boutons et liens de paiement prennent-ils en charge le Transfert des données de paiement ?
Quelles sont les variables prises en charge ?
Oui, nous prenons en charge les variables de Transfert des données de paiement, comme indiqué sur cette page. Vous bénéficierez du Transfert des données de paiement si vous activez le paramètre Redirection automatique lors de la configuration du lien de paiement et du bouton.
Les paramètres régionaux ajoutés manuellement par le marchand dans le code des boutons et liens de paiement
sont-ils pris en charge ?
Par défaut, les boutons et liens de paiement utilisent les préférences du navigateur des utilisateurs pour afficher le code du bouton et l'expérience du lien de paiement.
Les marchands peuvent les contourner uniquement pour le code du bouton et le lien de paiement en ajoutant "locale.x=fr_FR" comme paramètre de requête. Pour voir la liste des codes de paramètres régionaux pris en charge, consultez cette page. Tout texte entré par un marchand lors de la configuration ne sera pas traduit.
Exemple : https://www.paypal.com/ncp/payment/F3YMU2ZGT49XX?locale.x=jp_JP
Exemple :
<script src="……¤cy=USD&locale.x=jp_JP"></script>
Est-il possible de masquer des étiquettes dans les liens de paiement et
codes de bouton ?
Nous sommes conscients que votre présentation peut être différente sur votre site. Cependant, nous vous déconseillons de masquer le code du bouton que nous fournissons.
Cette action n'aura aucune incidence sur la façon dont la transaction sera traitée. La transaction utilisera toujours la configuration de l'ID de votre bouton hébergé.
Vous pouvez masquer tout ou partie du texte autour des boutons lorsque vous utilisez un type de bouton qui ne nécessite pas d'intervention du client. Par exemple, si votre client souhaite sélectionner la liste Choisir plusieurs objets et que vous avez masqué ces éléments de saisie, la transaction échouera.
Exemple de masquage du prix d'un objet :
Ajoutez ce script sous le code de votre bouton et remplacez HostedButton_ID par l'identifiant réel du bouton.
<style> #paypal-container-<HostedButton_ID> {
#paypal-form-fields-container-<HostedButton_ID> {
#price-label {
display: none !important;
}
}
}
</style>
-
desc-label (for Product name) -
price-label (For Price)
style> #paypal-container-
<style>
#paypal-container-<HostedButton_ID>
{
#paypal-form-fields-container-<HostedButton_ID>
{
display: none !important;
}
}
</style>
Est-il possible de contourner mes boutons et liens de paiement pour utiliser l'expédition depuis
Paramètres ?
Les boutons et liens de paiement ignorent le contournement en bloc des frais d'expédition à partir des paramètres du compte ou paramètres suivants sous Paramètres d'expédition.
J'ai modifié la devise de mon bouton, mais je ne vois pas de changement sur le
site.
Si vous modifiez la devise d'un bouton après l'avoir déjà collé sur votre site, vous devrez à nouveau copier-coller le code du bouton sur le site.
Je ne parviens pas à sélectionner Utiliser l'expédition depuis les paramètres et Utiliser la taxe depuis
les paramètres lorsque je sélectionne Ne pas collecter l'adresse de livraison du client.
Les frais d'expédition et les taxes disponibles dans les paramètres dépendent du code postal et/ou du pays de livraison du client. Si vous sélectionnez l'option Ne pas collecter l'adresse de livraison du client, vous ne recevrez pas cette adresse, ce qui bloquera le calcul des frais d'expédition et des taxes dans les Paramètres. Nous vous recommandons d'utiliser d'autres options dans les listes déroulantes Frais d'expédition et Taux de taxe.
Les liens et boutons de paiement prennent-ils en charge les webhooks ?
Oui. Pour activer les webhooks :
- Connectez-vous au tableau de bord de développeur à l'aide des informations d'identification de votre compte marchand.
- Activez l'environnement de production.
- Cliquez sur Appications et identifiants.
- Faites défiler vers le bas et sélectionnez Gérer les webhooks.
- Vous pouvez désormais ajouter une URL de webhook pour l'environnement de production. Si vous souhaitez ajouter des webhooks pour l'environnement de test, restez sur cette page et basculez de l'environnement de production à l'environnement de test en haut à droite.
- Ajoutez votre URL de rappel de webhooks, sélectionnez tous les événements ou les événements de paiement qui seront appelés par PayPal lors des événements sélectionnés en fonction de votre implémentation de l'API NVP ou SOAP. Appelez l'API PayPal NVP ou SOAP pour obtenir des informations sur les webhooks.
Exemple de réponse de webhook :
"id": "WH-12D11567VE3425924-2G120938U32719946",
"event_version": "1.0",
"create_time": "2024-09-14T15:55:58.043Z",
"resource_type": "capture",
"resource_version": "2.0",
"event_type": "PAYMENT.CAPTURE.COMPLETED",
"summary": "Paiement de 128,88 USD effectué",
"resource": {
"supplementary_data": {
"related_ids": {
"order_id": "8LM68409BR5528307"
}
],
"id": "7KK30254642170736",
"status": "COMPLETED"