Table des matières
Alipay via PPRO
Informations générales sur Alipay via PPRO
La Chine est le deuxième marché mondial pour les paiements en ligne avec un chiffre d'affaires annuel de plus de 100 milliards de dollars US, ce pays présente le potentiel de croissance le plus élevé pour l'e-commerce. Alipay est l'un des principaux fournisseurs locaux de services de paiement (PSP) avec un portefeuille électronique populaire pour les paiements en ligne. Alipay prend en charge les transactions à l'intérieur de la Chine ainsi que les transactions transfrontalières (CrossBorder) avec des commerçants étrangers, lesquelles sont directement facturées dans une des devises prises en charge.
Les clients et les commerçants peuvent envoyer et recevoir des paiements avec le porte-monnaie électronique du principal système de paiement en ligne de Chine. Alipay compte plus de 800 millions d'utilisateurs enregistrés. |
Vous trouverez de plus amples informations sur la page web d'Alipay (https://intl.alipay.com/).
Déroulement d'une transaction
Déroulement d'une transaction via Alipay
Interface de la plateforme de paiement
Formats des données : a alphabétique as alphabétique avec caractères spéciaux n numérique an alphanumérique ans alphanumérique avec caractères spéciaux ns numérique avec caractères spéciaux bool expression booléenne (true ou false) 3 longueur fixe avec 3 chiffres/caractères ..3 longueur variable avec maximum 3 chiffres/caractères enum énumération de valeurs admissibles dttm Date et heure ISO (AAAA-MM-JJThh:mm:ss) Abréviations : CND condition M obligatoire (mandatory en anglais) O optionnel C conditionnel Remarque : Veuillez noter que les noms des paramètres peuvent être en majuscules ou en minuscules.
Paiement avec Alipay via l'interface du formulaire de la plateforme de paiement
Pour procéder à un paiement Alipay via PPRO à l'aide d'un formulaire de la plateforme de paiement, utilisez l'adresse URL ci-dessous :
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 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, GPB, USD autorisé. | |
MAC | an64 | M | Code d'Authentification de Message Haché (HMAC) avec algorithme SHA-256 | |
OrderDesc | ans..768 | M | Description des produits, services etc. livrés. | |
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 indiqué 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. | |
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. | |
AccOwner | ans..50 | M | Nom du titulaire du compte | |
Device | a6 | O | En séléctionnant « Mobile » la version mobile d'Alipay est appelée à la place de la version de bureau. | |
AddrCountryCode | a2 | O | Code du pays pour l'adresse de facturation du titulaire de compte, 2 caractères conformément à ISO 3166. Seul CN est autorisé, défini au sein du code. | |
HotelName | ans..128 | C | Nom de l'hôtel pour lequel la réservation est faite. Obligatoire si le commerçant exerce une activité de type Hôtel. | |
CheckInTime | ans..128 | C | Date de l'enregistrement exprimée en GMT+8, au format : AAAA-MM-JJ. Obligatoire si le commerçant exerce une activité de type Hôtel. Exemple : 2020-01-22 Dans le cas d'entrées multiples, celles-ci doivent être séparées par « | ». Exemple : 2020-01-22|020-02-10 | |
CheckOutTime | ans..128 | C | Date de la sortie exprimée en GMT+8, au format : AAAA-MM-JJ. Obligatoire si le commerçant exerce une activité de type Hôtel. Exemple : 2020-01-25 Dans le cas d'entrées multiples, celles-ci doivent être séparées par « | ». Exemple : 2020-01-25|2020-02-14 | |
OrderDesc2 | ans..400 | C | Objet JSON codé Base64 avec description des produits achetés et leur quantité | |
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 Alipay
Le tableau suivant décrit 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 sont transmis à votre système avec chiffrement Blowfish :
Paramètre | Format | CND | Description |
---|---|---|---|
MID | ans..30 | M | ID du commerçant |
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 | ID attribuée par la plateforme de paiement pour toutes les différentes transactions pour un paiement |
TransID | ans..64 | M | Numéro de 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 |
MAC | an64 | M | Code d'authentification de message haché (HMAC) avec algorithme SHA-256 |
UserData | ans..1024 | O | Si indiqué sur la demande, la plateforme de paiement transmet le paramètre à la boutique 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 univoque pour PPRO |
Plain | ans..50 | O | Valeur à définir par le commerçant pour retourner des informations non chiffrées, par ex. la 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 Alipay
Remboursement avec référence
Les notes de crédit (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 précédente.
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 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é. |
PayID | an32 | M | ID attribuée par la plateforme de paiement pour le paiement à créditer |
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 |
UserData | ans..256 | O | Si indiqué 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. |
Paramètres d'une requête pour un remboursement avec Alipay 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 du logiciel Client) |
UserData | ans..256 | O | Si indiqué lors de la requête, la plateforme de paiement transmet à la boutique le paramètre avec le résultat du 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. |
ErrorText | ans..256 | O | Message d'erreur PPRO détaillé. |
Paramètres de réponse pour paiement de notes de crédit avec Alipay via connexion Socket
Traitement Batch via l'interface
Pour de plus amples informations sur l'utilisation des fichiers Batch et sur leur structure, voir le manuel Batch Manager.
Cette section présente les paramètres qui doivent être transmis au sein de l'enregistrement (Record) pour l'exécution de remboursements avec Alipay, ainsi que les informations pouvant être contenues dans le fichier de réponse sur l'état du paiement.
Le tableau ci-dessous donne une vue d'ensemble de toutes les versions batch utilisables pour une action spécifique ainsi que leurs particularités :
Action | Version | Description |
---|---|---|
remboursement | 1.0 / 2.0 | Version standard sans retour de paramètre Code |
| 1.x / 2.x | Avec RefNr (valide pour toutes les versions autres que 1.0) |
Description des versions batch utilisables
La structure devant être introduite pour un paiement Alipay au sein d'un fichier Batch est comme suit :
HEAD,<MerchantID>,<Date>,<Version> Alipay,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID> FOOT,<CountRecords>,<SumAmount> |
Exemple de Master MID Funktion:
HEAD,[Master]MerchantID,Date,2.x Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action) FOOT,CountRecords,SumAmount |
Le tableau ci-dessous présente les différents champs et valeurs utilisés dans l'enregistrement (record) au sein du fichier batch :
Paramètre | Format | CND | Description |
---|---|---|---|
Type | a..11 | M | HEAD pour l'en-tête, FOOT pour le pied de page, Alipay pour Alipay |
Action | a..20 | M | Le paramètre Action définit le type de transaction : remboursement |
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 | Code pour la devise, trois caractères DIN / ISO 4217 |
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. |
PayID | an32 | M | ID pour cette transaction attribuée par la plateforme de paiement |
Description des champs au sein de l'enregistrement pour les fichiers Batch
La zone Record dans le fichier de réponse pour les transactions Batch se présente comme suit :
HEAD,<MerchantID>,<Date>,<Version> Alipay,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code> FOOT,<CountRecords>,<SumAmount> |
Le tableau ci-dessous présente les paramètres de réponse que le Batch Manager sauvegarde dans la zone Record pour chaque transaction (les paramètres par défaut non détaillés ici tels que <TransID> ou <RefNR>, ainsi que les paramètres de la requête sont retournés inchangés et correspondent à l'appel tel que spécifié) :
Paramètre | Format | CND | Description |
---|---|---|---|
Action | a..20 | M | Le paramètre Action définit le type de transaction : remboursement |
PayID | an32 | M | ID pour cette transaction attribuée par la plateforme de paiement |
Status | a..50 | M | OK ou FAILED |
Code | n8 | M | Code d'erreur conformément au fichier Excel des codes de réponse de la plateforme de paiement (partie du logiciel Client) |
Description des paramètres de résultat au sein de l'enregistrement pour les fichiers Batch
JSON objet OrderDesc2
Schéma
{ "$schema": "http://json-schema.org/draft-06/schema#", "type": "array", "items": { "$ref": "#/definitions/GoodsInfoElement" }, "definitions": { "GoodsInfoElement": { "type": "object", "additionalProperties": false, "properties": { "itemDescription": { "type": "string" }, "number": { "type": "integer" } }, "required": [ "itemDescription", "number" ], "title": "GoodsInfoElement" } } }
Exemple
[{ "itemDescription": "Book", "number": 3 }, { "itemDescription": "Movie", "number": 2 } ]