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.

HotelNameans..128CNom de l'hôtel pour lequel la réservation est faite. Obligatoire si le commerçant exerce une activité de type Hôtel.
CheckInTimeans..128C

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

CheckOutTimeans..128C

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

OrderDesc2ans..400CObjet 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

ReqIDans..32OPour é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
}
]
  • No labels