# Nouveauté version 1.1.0.5
- Possibilité le lier des utilisateurs existants

# Nouveauté version 1.1.0.4
- Remboursement
- Caution (PreAuth) / Capture  / Remboursement

# Nouveauté version 1.1.0.3
- Paiement sur un token enregistré

# Nouveauté version 1.1.0.2
- Possibilité de bloquer l'accès à certains onglets des payements par téléphone

Rajouter :
	allowedTabs est un MPhoneBookingAllowedTabs()
	bookingPhone.AllowedTabs = allowedTabs
	bookingPhone.AllowedTabs.EmailRequest = Faux
	bookingPhone.AllowedTabs.SecureLink = Faux

# Nouveauté version 1.1.0.1
- possibilité de loger les paramètre d'appels envoyés au service syspay

# Nouveauté version 1.1.0.0
- Information sur les paiements
- Information sur les cartes stockées (coffre fort)

# Nouveauté version 1.0.0.5
- ajout possibilité de désactiver les mails

# Nouveauté version 1.0.0.4
- Ajout de l'id du marchand pour detokenize un resa (mail)
Pour ceci il faut maintenant à la creation du booking recupérer le merchant id au moment de la création du marchant ou d'un appel au token info et recupérer :
```
merchantId = json.data.user.api_access[1].merchant_id
```
Une fois le merchant id récupérer il faut le faire passer au moment de la creation du paimement par mail
```
booking est un MBooking()
detokenArray is array of int
Add(detokenArray,merchantId)
booking.AuthorizedDetokenizer = detokenArray
```

# Installation
Ajouter à Windev les composants .NET suivants :
- log4net.dll
- Newtonsoft.Json.dll
- vegalinksyspay.dll
Ajouter à côté de l'exécutable Windev générer le fichier :
- vegalinksyspay-log.xml (Il permet d'activer les traces de l'api dans un fichier)

# Paramètres de configuration à prévoir
- Url
- login
- password

# Configuration fournie par syspay

## Sandbox
- Url: app-sandbox.syspay.com
- Login: 95738001
- Passphrase: Johdephedashahin9ieheicaeniekeeh

## Production
- Url: app.syspay.com
- Login: 215259450001
- Passphrase: Imaesh3noteewoohohyeingoocaimowa

# Code de démo en Windev contenu dans le projet de test
Memo = ""

login est une chaîne = "95738001"
pass est une chaîne = "Johdephedashahin9ieheicaeniekeeh"

Memo = Memo + "Login = "+ login + RC
Memo = Memo + "Password = "+ pass + RC
Memo = Memo + "Url = "+ SAI_apiBaseUrl..Valeur + RC

Memo = Memo + "Initialisation service "+ RC

clSvc est un CommunicationService(SAI_apiBaseUrl..Valeur)
clSvc.initialize("95738001", "Johdephedashahin9ieheicaeniekeeh")

r est une chaîne = GénèreMotDePasse(50)
user est un MUser()
user.Référence		= r
user.Label			= "Mr. "+r
user.Typ			= MUserType.PERSONAL
user.Email			= r+"@gmail.com"
user.FirstName		= GénèreMotDePasse(5, "abcdefghijklmnopqrstuvwxyz")
user.LastName		= GénèreMotDePasse(5, "abcdefghijklmnopqrstuvwxyz")
user.MobileCountry	= "FR"
user.MobilePhone	= "06"+GénèreMotDePasse(8, "012345678")
user.Language		= "fr"

address est une MAddress()
user.Address			= address
address.PostCode		= "31240"
address.City			= "ST JEAN"
address.Country			= "FR"

jsonStr est une chaîne 
QUAND EXCEPTION DANS
	Memo	= Memo + "Création utilisateur "+ RC
	jsonStr	= clSvc.UserCreate(user)
	Memo	= Memo + jsonStr+ RC
FAIRE
	ex1 est une System.Exception <- ExceptionInfo(errExceptionDotNet)
	Memo = Memo + "ERREUR: "+ ex1.GetBaseException().Message + RC
FIN
json est un Variant = JSONToVariant(jsonStr)

userId est un entier = json.data.user.id
Memo	= Memo + RC + "UserId = "+ userId + RC
QUAND EXCEPTION DANS
	Memo	= Memo + RC + "Fabrication lien à envoyer par email a l'utilisateur "+ RC
	jsonStr	= clSvc.OnboardingLink(userId)
	Memo	= Memo + jsonStr+ RC
FAIRE
	ex1 est une System.Exception <- ExceptionInfo(errExceptionDotNet)
	Memo = Memo + "ERREUR: "+ ex1.GetBaseException().Message + RC
FIN
json = JSONToVariant(jsonStr)

linkToEmail est une chaîne = json.data.link
Memo	= Memo + RC + "Link (linkToEmail) = "+ linkToEmail + RC

QUAND EXCEPTION DANS
	Memo	= Memo + RC + "Lecture des informations d'un utilisateur "+ RC
	jsonStr	= clSvc.UserInformation(userId)
	Memo	= Memo + jsonStr+ RC
FAIRE
	ex1 est une System.Exception <- ExceptionInfo(errExceptionDotNet)
	Memo = Memo + "ERREUR: "+ ex1.GetBaseException().Message + RC
FIN


