WeChat Pay PPRO
Guide d'intégration
Version 6.2.1
Date 07/06/2018
Table des matières
Table of Contents |
---|
Historique des versions
Date
Nom
Modification
07/06/2018
Peter Posse
Version originale
WeChat Pay
Informations générales sur WeChat Pay
WeChat est une application de messagerie instantanée gratuite et multiplateforme développée par Tencent. Elle a été lancée en janvier 2011 et était une des plus puissantes applications de messagerie auprès d'utilisateurs actifs. En mai 2016, WeChat compte plus d'un milliard de comptes créés et 700 millions d'utilisateurs actifs, dont plus de 70 millions en dehors de la Chine (chiffres de décembre 2015). En 2016, WeChat a atteint le nombre de 864 millions d'utilisateurs actifs. |
WeChat Pay est une solution de paiement complètement intégrée dans l’application de messagerie et de médias sociaux WeChat. La fonction de paiement de WeChat apparaît dans la rubrique « Wallet » de l’application.
WeChat permet de réaliser des paiements et des virements
Les utilisateurs peuvent effectuer diverses transactions à l’aide de WeChat Pay, dont :
- Les virements à des amis (en particulier sous forme « d’enveloppes rouges » partagées dans les festivals chinois)
- Les transactions sur des sites de commerce électronique
- Le rechargement sur leur téléphone portable
Déroulement d'une transaction
Déroulement d'une transaction via WeChat Pay
Interface de la plateforme de paiement
Multiexcerpt include SpaceWithExcerpt DOCBNP MultiExcerptName Definition FR PageWithExcerpt Acronymes et abréviations
Paiement avec WeChat Pay via l'interface du formulaire de la plateforme de paiement
Veuillez saisir l'URL suivante pour traiter un paiement WeChat via le formulaire de la plateforme de paiement:
Remarque : Pour des raisons de sécurité, la plateforme de paiement rejette toutes les requêtes de paiement contenant des erreurs de format. Veuillez par conséquent utiliser le type de données correct pour chaque paramètre.
Le tableau ci-dessous présente les paramètres de la requête de paiement cryptée:
Paramètre | Format | CND | Description | |
---|---|---|---|---|
MerchantID | ans..30 | M | Identifiant du commerçant, attribué par BNP. Ce paramètre doit également être transféré non chiffré. | |
TransID | ans..64 | M | Numéro de transaction du commerçant, ce numéro doit être unique | |
RefNr | ans..40 | O | Numéro de référence univoque du commerçant. Seuls les caractères a-zA-Z0-9,-_ sont autorisés. | |
Amount | n..10 | M | Montant indiqué dans la plus petite unité de la devise (par ex. les centimes pour l'euro) Veuillez contacter notre service d'assistance si vous souhaitez capturer des montants inférieurs à 100 (plus petite unité de la devise). | |
Currency | a3 | M | Devise, trois caractères DIN / ISO 4217. Seul EUR, USD autorisé. | |
MAC | an64 | M | Code d'Authentification de Message Haché (HMAC) avec algorithme SHA-256 | |
URLSuccess | ans..256 | M | Adresse URL complète qui appelle la plateforme de paiement en cas de réussite du paiement. L'URL ne peut être appelée que par le port 443. Cette URL ne peut contenir aucun paramètre : pour échanger des valeurs de paramètre entre la plateforme de paiement et la boutique, veuillez utiliser le paramètre UserData. | |
URLFailure | ans..256 | M | Adresse URL complète qui appelle la plateforme de paiement en cas d'échec du paiement. L'URL ne peut être appelée que par le port 443. Cette URL ne peut contenir aucun paramètre : pour échanger des valeurs de paramètre entre la plateforme de paiement et la boutique, veuillez utiliser le paramètre UserData. | |
Response | a7 | O | État de la réponse envoyée par la plateforme de paiement à URLSuccess et URLFailure, doit être chiffré. À cette fin, transmettez le paramètre Response=encrypt. | |
URLNotify | ans..256 | M | Adresse URL complète appelée par la plateforme de paiement pour communiquer le résultat de paiement à la boutique. L'URL ne peut être appelée que par le port 443. Elle ne peut contenir aucun paramètre : utilisez le paramètre UserData à la place. | |
UserData | ans..1024 | O | Si spécifié lors de la requête, la plateforme de paiement transmet à la boutique le paramètre avec le résultat du paiement | |
ReqID | ans..32 | O | Pour éviter les paiements en double, saisissez une valeur alphanumérique qui identifie votre transaction et ne peut être attribuée qu’une seule fois. Si la transaction est à nouveau soumise avec le paramètre ReqID identique, la plateforme de paiement n’exécute pas le paiement et se contente de retourner le statut de la transaction d’origine. Attention : Plateforme de paiement doit afficher un statut de transaction finalisée pour la première action initiale. Les introductions avec un ReqID identique pour un statut ouvert sont traitées à intervalles réguliers. | |
OrderDesc | ans..768 | M | Description des marchandises et des prix. Information présente sur le relevé de compte. | |
SellingPoint | ans..50 | O | Point de vente | |
Service | ans..50 | O | Produits ou services vendus | |
Channel | ans..64 | O | Canal de configuration du contrat PPRO (le compte et le ContractID sont enregistrés dans le système). Si ce paramètre est spécifié, il remplace les canaux enregistrés au sein du système. | |
Language | a2 | O | Un code de langue à deux lettres à sélectionner au moment de la présentation des pages de paiement au client. Valeurs possibles : Si ce champ est laissé vide, la langue par défaut sera appliquée. | |
AccOwner | ans..50 | M | Nom du titulaire de compte | |
AddrCountryCode | a2 | M | Code de pays alphanumérique à 2 caractères, conformément à ISO-3166-1 | |
Plain | ans..50 | O | Valeur à définir par le commerçant pour retourner des informations non chiffrées, par ex. le MID | |
Custom | ans..1024 | O | Le commerçant peut introduire plusieurs valeurs séparées par un | qui sont ensuite retournées non chiffrées et séparées par un &. Custom=session=123|id=456 devient dans la réponse Session=123&id=456 |
Paramètres pour les paiements avec WeChat Pay
Le tableau suivant présente les paramètres de réponse que la plateforme de paiement transmet à URLSuccess ou URLFailure et URLNotify. Si vous avez spécifié le paramètre Response=encrypt, les paramètres suivants seront cryptés avec Blowfish et transmis à votre système :
Paramètre | Format | CND | Description |
---|---|---|---|
MID | ans..30 | M | Identifiant du commerçant, attribué par BNP |
PayID | an32 | M | ID attribuée au paiement par la plateforme de paiement, par ex. pour le référencement au sein des fichiers batch. |
XID | an32 | M | Identifiant attribué par la plateforme de paiement pour toutes les différentes opérations (autorisation, capture, remboursement) d'une transaction. |
TransID | ans..64 | M | Numéro de la transaction du commerçant |
RefNr | ans..40 | O | Numéro de référence univoque du commerçant. Seuls les caractères a-zA-Z0-9,-_ sont autorisés. |
Status | a..30 | M | OK si URLSuccess et AUTHORIZE_REQUEST, ou FAILED si URLFailure |
Description | ans..1024 | M | Détails supplémentaires en cas d'échec du paiement. Veuillez ne pas utiliser le paramètre Description mais bien le paramètre Code pour une analyse de l'état de la transaction ! |
Code | n8 | M | Code d'erreur conformément au fichier Excel des codes de réponse de la plateforme de paiement (partie logiciel Client) |
MAC | an64 | M | Code d'Authentification de Message Haché (HMAC) avec algorithme SHA-256 |
UserData | ans..1024 | O | Si spécifié lors de la requête, la plateforme de paiement transmet à la boutique le paramètre avec le résultat du paiement |
PaymentPurpose | ans..26 | M | Motif du paiement |
PaymentGuarantee | a..12 | C | NONE = pas de garantie de paiement, VALIDATED = compte client valide mais pas de garantie de paiement, FULL = garantie de paiement Remarque : ce paramètre n'est retourné que si l'état est = OK. |
ErrorText | ans..256 | C | Message d'erreur PPRO détaillé. Remarque : n'est retourné que si l'état = FAILED. Utilisation possible uniquement après concertation avec le Support. |
TransactionID | an..20 | O | Numéro de transaction unique pour PPRO |
Plain | ans..50 | O | Valeur à définir par le commerçant pour retourner des informations non chiffrées, par ex. le MID |
Custom | ans..1024 | O | Le commerçant peut introduire plusieurs valeurs séparées par un | qui sont ensuite retournées non chiffrées et séparées par un &. Custom=session=123|id=456 devient dans la réponse Session=123&id=456 |
Paramètres de retour pour URLSuccess, URLFailure et URLNotify avec WeChat Pay
Remboursement avec référence
Les remboursements sont possibles via une connexion de type serveur à serveur. Pour un remboursement avec référence à une capture, le montant du remboursement est limité au montant de la capture en question.
Pour exécuter un remboursement avec une transaction de référence, veuillez utiliser l'adresse URL suivante :
Remarque : Pour des raisons de sécurité, la plateforme de paiement rejette toutes les requêtes de paiement contenant des erreurs de format. Veuillez par conséquent utiliser le type de données correct pour chaque paramètre.
Le tableau ci-dessous présente les paramètres de demande de paiement cryptée :
Paramètre | Format | CND | Description | |
---|---|---|---|---|
MerchantID | ans..30 | M | Identifiant du commerçant, attribué par BNP. Ce paramètre doit également être transféré non chiffré. | |
PayID | an32 | M | ID attribuée par la plateforme de paiement pour le paiement à rembourser | |
TransID | ans..64 | M | ID de la transaction qui doit être unique pour chaque paiement | |
RefNr | ans..40 | O | Numéro de référence univoque du commerçant. Seuls les caractères a-zA-Z0-9,-_ sont autorisés. | |
Amount | n..10 | M | Montant indiqué dans la plus petite unité de la devise (par ex. les centimes pour l'euro) Veuillez contacter notre service d'assistance si vous souhaitez capturer des montants inférieurs à 100 (plus petite unité de la devise). | |
Currency | a..3 | M | Code pour la devise, trois caractères DIN / ISO 4217 | |
MAC | an64 | M | Code d'Authentification de Message Haché (HMAC) avec algorithme SHA-256 | |
ReqID | ans..32 | O | Pour éviter les paiements en double, saisissez une valeur alphanumérique qui identifie votre transaction et ne peut être attribuée qu’une seule fois. Si la transaction est à nouveau soumise avec le paramètre ReqID identique, la plateforme de paiement n’exécute pas le paiement et se contente de retourner le statut de la transaction d’origine. Attention : Plateforme de paiement doit afficher un statut de transaction finalisée pour la première action initiale. Les introductions avec un ReqID identique pour un statut ouvert sont traitées à intervalles réguliers. |
Paramètres pour une opération de remboursement avec WeChat Pay via connexion Socket
Le tableau ci-dessous présente les paramètres de réponse de la plateforme de paiement :
Paramètre | Format | CND | Description |
---|---|---|---|
MID | ans..30 | M | Identifiant du commerçant, attribué par BNP |
PayID | an32 | M | ID attribuée au paiement par la plateforme de paiement, par ex. pour le référencement au sein des fichiers batch. |
XID | an32 | M | Identifiant attribué par la plateforme de paiement pour toutes les différentes opérations (autorisation, capture, remboursement) d'une transaction. |
TransID | ans..64 | M | Numéro de transaction du commerçant |
Status | a..30 | M | OK ou FAILED |
Description | ans..1024 | M | Détails supplémentaires en cas d'échec du paiement. Veuillez ne pas utiliser le paramètre Description mais bien le paramètre Code pour une analyse de l'état de la transaction ! |
Code | n8 | M | Code d'erreur conformément au fichier Excel des codes de réponse de la plateforme de paiement (partie logiciel Client) |
RefNr | ans..40 | O | Numéro de référence univoque du commerçant. Seuls les caractères a-zA-Z0-9,-_ sont autorisés. |
ErrorText | ans..256 | O | Message d'erreur PPRO détaillé. |
Paramètres de réponse d'une opération de remboursement avec WeChat Pay via connexion Socket