Signifiant littéralement "portefeuille" en anglais, un Wallet
est un endroit ou est stocké de l'argent. Nous l'avons modélisé comme un portefeuille dans la vrai vie : Ainsi, chaque portefeuille possède des "poches" dont nous détaillerons l'utilité plus tard. Pour l'heure nous considérerons que nous avons une seule "poche principal".
Lorsque vous vous inscrivez sur FPay, nous vous créons un portefeuille automatiquement : Il s'agit de votre portefeuille principal.
Vous alimentez tout portefeuille avec vos opérations classiques de Deposit
, Transfer
, QuasiTransfer
et FundRequest
. Chaque fois que vous créez un des objets précédent si vous ne précisez rien, votre compte principal sera utilisé. Par exemple, si vous faite un dépôt que vous ne précisez pas la destination
de l'argent, cet argent ira par défaut sur votre compte principal. De même si vous transférez de l'argent sans préciser la source
de cet argent, cet argent sera par défaut prélevé de votre compte principal.
mainPocket.balance.available
. Une particularité des soldes d'un portefeuille est la disponibilité de 2 soldes additionnels : Le solde des montants vérrouillés en cours d'entrée sur le portefeuille et le solde des montants en cours de sortie du portefeuille. Ces soldes sont accessibles avec le champ mainPocket.balance.lockedOut
et avec le champ mainPocket.balance.lockedIn
. Ces montants sont tous toujours positifs. Ils permettent d'afficher à votre client le montants des opérations à venir sur son compte : Il suffira de faire une simple différence entre les 2 derniers soldes.mainPocket.volume.input
mainPocket.volume.total
mainPocket.volume.output
Wallet
est expliqué sur la page concernant le cas d'utilisation si vous gérez l'argent pour le compte de tiers.create
Créer un nouvel objet Wallet
et retourne l'objet nouvellement créé.
Cette opération prend en entrée les paramètres suivants:
CreateWalletForm
name
string
description
string | undefined
foreignData
string | undefined
foreignId
string | undefined
Voici un exemple de code pour éffectuer une création d'un objet Wallet
:
const walletPromise =
fPay.wallet.create({
name: "My First Wallet",
description: "My description",
foreignData: "{\"myKey\": 19, \"myOtherKey\": \"myOtherValue\"}",
foreignId: "123456789"
});
get
Retourne un objet Wallet
identifié par un identifiant
.
Vous avez la possibilité d'utiliser un ID unique propre à votre système. Pour utiliser votre propre ID au lieu de celui généré par FPay, vous devez préciser le champ foreignId
lors de la création de cet objet. Ainsi, vous pourrez récupérer cet objet par le champ foreignId
ainsi ajouté qui doit être unique pour tous les objets de type Wallet
. Voici tous les champs dont les valeurs peuvent servir d'identifiant pour cette opération:
id
foreignId
mars.alpha
man.alpha
const walletPromise = fPay.wallet.get("identifier");
list
Retourne une collection d'objets Wallet
éventuellement filtrée et/ou triée. Voici les paramètres supportés par cette opération.
NOM | TYPE | DESCRIPTION | VALEUR PAR DÉFAUT |
---|---|---|---|
filter | string | undefined | Condition que doit respecter tout objet qui sera retourné dans cette collection |
|
sortBy | string | undefined | Spécification du champ ainsi que de l'ordre (ascendant ou descendant) par lesquels seront triés les objets retournés |
|
limit | number | undefined | Nombre total de résultats à retourner dans cette collection |
|
Voici quelques exemples de code pour éffectuer un listing afin de retourner une collection d'objets Wallet
:
const walletsCollectionPromise = fPay.wallet.listAll();
const walletsCollectionPromise =
fPay.wallet.list({
sortBy: "id:ASC"
});
const walletsCollectionPromise =
fPay.wallet.list({
limit: 5
});
const walletsCollectionPromise =
fPay.wallet.list({
filter: "id in {'31234', '5678', '9990'}"
});
const walletsCollectionPromise =
fPay.wallet.list({
filter: "createdTime isBefore Yesterday",
sortBy: "foreignId:DESC"
});
const walletsCollectionPromise =
fPay.wallet.list({
filter: "id startsWith abcd",
sortBy: "createdTime:ASC",
limit: 25
});
fetchPage
Lorsque vous récupérez une liste de Wallet
, les résultats retournés par le serveur peuvent être paginés c'est dire que ces résultats seront disposés sur plusieurs pages. Cette fonction fetchPage
permet de naviguer de page en page afin d'itérer sur tous les éléments. Par conséquent cette fonction retourne une collection de Wallet
.
Imaginons que vous ayez récupéré une collection de Wallet
avec le code suivant:
const walletsCollectionPromise = fPay.wallet.listAll();
Si jamais le resultat est disposé sur plusieurs pages, pour consulter la page suivante, vous devez faire:
walletsCollectionPromise.then(walletCollection => {
if(walletCollection.hasNextPage()) {
const nextWalletPromise = fPay.wallet.fetchPage(walletCollection.pagination.nextPage);
}
});
update
Modifie un objet Wallet
et retourne la version modifiée de celui ci.
Voici tous les champs dont les valeurs peuvent servir d'identifiant pour cette opération:
id
foreignId
mars.alpha
man.alpha
Wallet
:NOM | TYPE | DESCRIPTION |
---|---|---|
description | string | undefined | Peut être mis à Jour Peut être Supprimé |
foreignData | string | undefined | Peut être mis à Jour Peut être Supprimé |
name | string | Peut être mis à Jour |
Voici quelques exemples de code pour éffectuer une modification:
walletPromise =
fPay.wallet.update({
id: "<id | foreignId>",
change: {
description: "<new value>",
foreignData: "<new value>",
name: "<new value>"
}
});
walletPromise =
fPay.wallet.update({
id: "<id | foreignId>",
change: {
description: "<new value>"
},
'remove': ['foreignData']
});
walletPromise =
fPay.wallet.update({
id: "<id | foreignId>",
'remove': ['description', 'foreignData']
});
Lorsque vous récupérez une liste, voici les champs par lesquels il est possible de faire des filtres ainsi que des tris.
NOM | TYPE | DESCRIPTION |
---|---|---|
createdTime | string | |
createdTime.iso8601 | string | |
createdTime.timestamp.milliseconds | number | |
createdTime.timestamp.seconds | number | |
creator | string | |
creator._type | string | |
creator.accountId | string | |
creator.authAccessId | string | |
creator.personId | string | |
description | string | |
foreignId | string | |
id | string | |
isMain | boolean | |
mainPocket.balance | number | |
mainPocket.balance.available | number | |
mainPocket.balance.lockedIn | number | |
mainPocket.balance.lockedOut | number | |
mainPocket.volume.input | number | |
mainPocket.volume.output | number | |
mainPocket.volume.total | number | |
man.alpha | string | |
mars.alpha | string | |
name | string |
Des exemples de code sont disponibles sur la page Audit Reporting & Tableau de bord.
Wallet
createdTime
UTCDateTime
iso8601
string
timestamp
Timestamp
milliseconds
number
seconds
Double
creator
Creator
Creator.Api
Api
_type
string
accountId
string
authAccessId
string
Creator.Ui
Ui
_type
string
accountId
string
personId
string
description
string | undefined
foreignData
string | undefined
foreignId
string | undefined
id
string
isMain
boolean
mainPocket
Pocket
balance
Balance
available
number
lockedIn
number
lockedOut
number
volume
Volume
input
number
output
number
total
number
man
Man
alpha
string
mars
Mars
alpha
string
name
string
url
string