Mandates management

Resources

La récupération des mandats associé à un utilisateur se fait via :

/api/[domaine_partenaire]/mandates pour accéder aux mandats de prélèvements associés à l’utilisateur connecté

/api/[domaine_partenaire]/users/appuserid/mandates pour accéder aux mandats de
prélèvements associés à l’utilisateur « appuserid ».

Il y a deux façons de créer un mandat de prélèvement bancaire :
- Mandat par signature électronique, validé par signature électronique
- Mandat papier, validé par le Back Office S-money.

1.Mandates
Contient les informations d’un mandat de prélèvement bancaire

Propriété TypeExempleDescription
Id Long 123 Id du mandat
Date DateTime 2013-09-10T15:49:58.
791121+02:00
Date de création du mandat
BankAccount BankAccountRef Référence vers le compte bancaire
Status Int 0 Statut du mandat
0 = En attente
1 = Validé
2 = Révoqué
3 = Echec
UrlReturn String http://s-money.fr/returnurl Url vers laquelle est redirigé en fin de signature
MandateDemands MandateDemands Détails de la demande
Href Uri Url à appeler afin de signer électroniquement le mandat
ErrorCode Int 0 Code d’erreur pour les demandes échouées,
0 = Aucune erreur.
1 = Échec de la session
2 = Session avortée
3 = Session annulée
UMR 30007-Sandbox-66673-14032016-0 Référence Unique de Mandat

2. MandateDemands
Contient les informations d’une demande de mandat de prélèvement bancaire

Propriété TypeExempleDescription
Id Long 123 Id de la demande
RequestDate DateTime 2013-09-10T15:49:58. 791121+02:00 Date de création de la demande
VoucherCopies List<Attachement> Liste des pièces justificatives
Status Int Statut de la demande
0 = Incomplète
1 = En attente
2 = Refusée
3 = Acceptée
Reason String Motif du refus :
- Le compte bancaire du mandat ne
correspond pas au compte bancaire
enregistré
- Mandat illisible
- Le mandat n’est pas signé
- Autre ( xxxxxxxx )

3. Attachement
Cet objet permet d’identifier le compte bancaire de l’utilisateur

Propriété TypeExempleDescription
Id Long 98 Identifiant du fichier
Name String Justificatif Nom du fichier
ContentType String "image/png" Type de l’image
Size Long 523010 Taille de la pièce jointe (en octet)
Href Url Lien vers la pièce jointe

4. BankAccountRef
Cet objet permet d’identifier le compte bancaire de l’utilisateur

Propriété TypeExempleDescription
Id Long 98 Identifiant du compte bancaire
Href Uri "/api/[domaine_partenaire]/bankaccounts/98" Uri vers le détail du compte bancaire

Sign an electronic mandate

1. Send the details of the mandate request to the S-money server

To sign a mandate, please have a look ath the example in the right margin.

The urlcallback is an optional parameter.

2. Send the details of the electronic mandate created by the third-party server

The third-party server should provide the S-money server with an url, which allows the S-money server to communicate the results of the mandate validation.

The HTTP POST method is used to invoke the S-money server.

HTTP request parametres are :

Parameter Type Description
id Long Mandate ID
error Int Error code for failed requests
0 = No error.
1 = Session failed
2 = Session interrupted
3 = Session cancelled
type Int Operation type
9 = mandate creation
status Int Mandate status
1 = Validated
2 =Dismissed
3 = Failure

3. Redirection at the end of an electronic mandate signature

The third-party server should provide the S-money server with an url allowing the S-money server to redirect the client to the third-party environment.

The url can be either associated to a web scheme (http/https) or a private scheme where the request will be made from the third-party mobile application.

These are the HTTP request parametres:

Parameter Type Description
id Long Mandate ID
type Int Operation type
9 = mandate creation
status Int Mandate status
1 = Validated
3 = Failure

Send a paper mandate to S-money

To send a paper mandate, please have a look at the example in the right margin.

If a mandate is refused for X reason, it is possible to make a new request uploading a new document on the same id of the mandate (id of a refused mandate).

If a mandate is refused for X reason, the reason is sent via « reason » parameter and the status of the mandate is 0 (waiting).

1. Sending the details of a mandate created by the third-party server
The third-party sever should provide the S-money server with an url allowing the S-money server to communicate the result of the mandate validation (within 2 business days after the receipt of the request).

The HTTP POST method is used to invoke the S-money server.
The HTTP request parameters are:

Parameter Type Description
id Long Mandate ID
type Int Operation type
9 = mandate
mandatedemandstatus Int Request status
0 = Incompleted
1 = Waiting
2 = Refused
3 = Accepted
status Int Mandate status
0 = waiting
1 = validated
2 = revoked
userid string User identifier in the third-party application
reason String Reason of refusal:
 The bank account of the mandate does not match
the registered bank account
Mandate not readable
The mandate is not signed
 Other (xxxxxxxx)

Retrieve the list of mandates

To retrieve the list of mandates, please have a look at the example in the right margin.

Retrieve a mandate

To retrieve a mandate, please have a look at the example in the right margin.

Revoke a mandate

Pour révoquer un mandat, veuillez vous référer à l’exemple présent en marge de droite.