Présentation
Chaque fois qu'un changement intervient sur le solde d'un Wallet
, un objet Transaction
est créé pour matérialiser ce mouvement d'argent. Que ce changement de solde soit du à un Transfer
, à un Deposit
ou à tout autre objet, un objet Transaction
sera créé dès que le solde du portefeuille change.
Voici les champs les plus importants de cet objet :
-
amount
Ayant une valeur toujours positive, ce champ représente le montant qui a été ajouté ou retiré du Wallet
considéré. -
dc
Abbréviation pour debit ou credit, ce champ indique si le montant précédent à été ajouté ou retiré du Wallet
considéré.
Les 2 valeurs possibles de ce champ sont "Debit"
ou "Credit"
.
Si la valeur est "Debit"
, alors le montant qui est toujours positif a été retiré du Wallet
.
Si la valeur est "Credit"
, alors le montant qui est toujours positif a été ajouté au Wallet
. -
wallet
Ce champ est un indicateur de l'état du Wallet
cible sur lequel la Transaction
à eu lieu. C'est notamment avec ce champ qu'il sera possible d'accéder au solde avant ainsi qu'au solde après la Transaction
. -
status
Ce champ indique si la transaction à réussie ou échouée. Les 2 valeurs possibles de ce champ sont Successful
ou Failure
.
Veuillez noter qu'il ne s'agit pas de string
, ce sont des objets. Par exemple l'objet Failure
possède un champ isCancelled
qui permet de savoir si la transaction a échoué parce qu'elle a été annulée. -
parent
Ce champ indique l'objet parent dont l'exécution a entrainé la création de cette Transaction
. Ce parent peut donc être un objet Transfer
, Deposit
, QuasiTransfer
etc... -
details
Ce champ, si il est disponible, permettra d'accéder à l'id de la transaction généré par l'opérateur si cette transaction concerne une opération entre FPay et l'extérieur (Mtn Money, Orange Money ou Moov Money).
Opérations
get
Retourne un objet Transaction
identifié par un identifiant
.
Voici tous les champs dont les valeurs peuvent servir d'identifiant pour cette opération:
-
id
-
details.providerTransactionId
const transactionPromise = fPay.transaction.get("identifier");
list
Retourne une collection d'objets Transaction
é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 | undefined
|
sortBy | string | undefined | Spécification du champ ainsi que de l'ordre (ascendant ou descendant) par lesquels seront triés les objets retournés | createdTime:DESC
|
limit | number | undefined | Nombre total de résultats à retourner dans cette collection | 50
|
Voici quelques exemples de code pour éffectuer un listing afin de retourner une collection d'objets Transaction
:
const transactionsCollectionPromise = fPay.transaction.listAll();
const transactionsCollectionPromise =
fPay.transaction.list({
sortBy: "id:ASC"
});
const transactionsCollectionPromise =
fPay.transaction.list({
limit: 5
});
const transactionsCollectionPromise =
fPay.transaction.list({
filter: "id in {'31234', '5678', '9990'}"
});
const transactionsCollectionPromise =
fPay.transaction.list({
filter: "createdTime isBefore Yesterday",
sortBy: "foreignId:DESC"
});
const transactionsCollectionPromise =
fPay.transaction.list({
filter: "id startsWith abcd",
sortBy: "createdTime:ASC",
limit: 25
});
fetchPage
Lorsque vous récupérez une liste de Transaction
, 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 Transaction
.
Imaginons que vous ayez récupéré une collection de Transaction
avec le code suivant:
const transactionsCollectionPromise = fPay.transaction.listAll();
Si jamais le resultat est disposé sur plusieurs pages, pour consulter la page suivante, vous devez faire:
transactionsCollectionPromise.then(transactionCollection => {
if(transactionCollection.hasNextPage()) {
const nextTransactionPromise = fPay.transaction.fetchPage(transactionCollection.pagination.nextPage);
}
});
update
Modifie un objet Transaction
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
-
details.providerTransactionId
Modifier un objet revient à modifier ses champs modifiables. Les champs modifiables peuvent être soit mis à jour ou soit supprimés. Voici la liste des champs modifiables de tout objet de type Transaction
:NOM | TYPE | DESCRIPTION |
---|
description | string | undefined | Peut être mis à Jour Peut être Supprimé |
foreignData | string | undefined | Peut être mis à Jour Peut être Supprimé |
Voici quelques exemples de code pour éffectuer une modification:
transactionPromise =
fPay.transaction.update({
id: "<id>",
change: {
description: "<new value>",
foreignData: "<new value>"
}
});
transactionPromise =
fPay.transaction.update({
id: "<id>",
change: {
description: "<new value>"
},
'remove': ['foreignData']
});
transactionPromise =
fPay.transaction.update({
id: "<id>",
'remove': ['description', 'foreignData']
});
Liste Filtre & Tri
Champs
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 |
---|
amount.currency.code | string | |
amount.value | number | |
createdTime | string | |
createdTime.iso8601 | string | |
createdTime.timestamp.milliseconds | number | |
createdTime.timestamp.seconds | number | |
dc | string | |
description | string | |
destination.balanceType | string | |
destination.identifier._type | string | |
destination.identifier.value | string | |
destination.provider.country.iso3166.alpha2 | string | |
destination.provider.country.iso3166.alpha3 | string | |
destination.provider.country.name | string | |
destination.provider.key | string | |
destination.provider.name | string | |
details | string | |
details._type | string | |
details.providerTransactionId | string | |
h1 | string | |
id | string | |
parent._type | string | |
parent.foreignId | string | |
parent.id | string | |
source.balanceType | string | |
source.identifier._type | string | |
source.identifier.value | string | |
source.provider.country.iso3166.alpha2 | string | |
source.provider.country.iso3166.alpha3 | string | |
source.provider.country.name | string | |
source.provider.key | string | |
source.provider.name | string | |
status | string | |
status._type | string | |
status.isCancelled | boolean | |
wallet.after.balance | number | |
wallet.after.balance.available | number | |
wallet.after.balance.lockedIn | number | |
wallet.after.balance.lockedOut | number | |
wallet.after.volume.input | number | |
wallet.after.volume.output | number | |
wallet.after.volume.total | number | |
wallet.before.balance | number | |
wallet.before.balance.available | number | |
wallet.before.balance.lockedIn | number | |
wallet.before.balance.lockedOut | number | |
wallet.before.volume.input | number | |
wallet.before.volume.output | number | |
wallet.before.volume.total | number | |
wallet.foreignId | string | |
wallet.id | string | |
wallet.isMain | boolean | |
wallet.man.alpha | string | |
Exemples de Code
Des exemples de code sont disponibles sur la page Audit Reporting & Tableau de bord.
Champs
Transaction
amount
Amount
currency
AmountCurrency
code
string
La seule valeur possible est: "XOF"
unit
string
Symbole utilisé pour représenter cette Monnaie. Pour l'instant la seule valeur est "₣"
value
number
Valeur numeric du montant toujours positive ou zéro.
createdTime
UTCDateTime
Date et heure auxquelles cet objet a été créé. Valeur toujours stockée en UTC (Temps universel), ce champ contient une representation de cet instant au format ISO 8601 ainsi qu'une representation de ce même instant en timestamp secondes et millisecondes.iso8601
string
Date et heure au format ISO 8601
timestamp
Timestamp
milliseconds
number
Date et heure exprimées en Timestamp milli secondes
seconds
Double
Date et heure exprimées en Timestamp secondes
dc
string
Abbréviation pour debit ou credit, ce champ indique si le montant de la transaction a été ajouté ou retiré du portefeuille, du Wallet considéré.
Les 2 valeurs possibles de ce champ sont "Debit" ou "Credit".
Si la valeur est "Debit", alors le montant qui est toujours positif a été retiré du portefeuille.
Si la valeur est "Credit", alors le montant qui est toujours positif a été ajouté au portefeuille.Les seules valeurs possibles sont: "Credit" "Debit"
description
string | undefined
Détails, explications, annotations concernant cet objet pour mieux vous organiser et vous retrouvez plus tard.
destination
MoneyAccount
balanceType
string
Indique le type du solde utilisé.
"AvailableBalance" signifie littéralement "SoldeDisponible". Ainsi, si la valeur de ce champ est "AvailableBalance", alors les fonds sont sur le solde disponible et pourront être utilisé.
Dans certains cas, les fonds sont "verrouillés" (en anglais "Locked" et sont soit sur le solde "LockedInBalance" ou "LockedOutBalance") et ne peuvent être utilisés jusqu'à leur mise à disposition sur le solde disponible qui est "AvailableBalance".Les seules valeurs possibles sont: "AvailableBalance" "LockedInBalance" "LockedOutBalance"
identifier
MoneyAccountIdentifier
_type
string
Indique le type de compte sur lequel se trouve de l'argent "MoneyAccount". S'il s'agit d'un compte bancaire, ce champ aura la valeur "Iban".
S'il s'agit d'un compte mobile money, ce champ aura la valeur "MobileMoney".
S'il s'agit d'un portefeuille, un Wallet FPay, la valeur pourra avoir aura la valeur "Id" ou "Man" la dernière signifiant "Money Account Number".Les seules valeurs possibles sont: "Iban" "Id" "Man" "MobileNumber"
value
string
Identifiant du compte sur lequel se trouve de l'argent "MoneyAccount". Si la valeur du champ "_type" ci dessus est "MobileMoney", alors ce champ contiendra un numéro de téléphone au format international comme "+2250701050000"
Si la valeur du champ "_type" ci dessus est "Iban", alors ce champ contiendra l'Iban du compte bancaire.
Si la valeur du champ "_type" ci dessus est "Id", alors ce champ contiendra l'id
du Wallet
FPay.
Si la valeur du champ "_type" ci dessus est "Man", alors ce champ contiendra le numéro man
du Wallet
FPay.
provider
MoneyAccountProvider
country
Country
iso3166
Iso3166Country
alpha2
string
Code ISO 3166 comportant 2 caractères représentant le pays.
Exemple : "CI" pour la Côte d'Ivoire, "BF" pour le Burkina Faso et "SN" pour le Sénégal.
alpha3
string
Code ISO 3166 comportant 3 caractères représentant le pays.
Exemple : "CIV" pour la Côte d'Ivoire, "BFA" pour le Burkina Faso et "SEN" pour le Sénégal.
name
string
Nom du pays qui sera soit en Français ou soit en Anglais suivant la langue de votre compte FPay. Si lors de votre inscription, vous avez choisi le Français comme langue de votre compte alors, le nom du pays sera en Français et si vous avez choisi l'anglais, alors ce nom sera en Anglais.
key
string
Clé identifiant de manière unique le fournisseur de compte sur lequel se trouve de l'argent.Les seules valeurs possibles sont: "FPay" "MoovMoney" "MtnMoney" "OrangeMoney"
name
string
Nom du fournisseur de compte sur lequel se trouve de l'argent.
details
TransactionDetails
TransactionDetails.BankTransfer
BankTransfer
_type
string
La seule valeur possible est: "BankTransfer"
TransactionDetails.FPayTransfer
FPayTransfer
_type
string
La seule valeur possible est: "FPayTransfer"
TransactionDetails.MobileMoneyTransfer
MobileMoneyTransfer
_type
string
La seule valeur possible est: "MobileMoneyTransfer"
providerTransactionId
string | undefined
foreignData
string | undefined
Données qui vous sont propres que vous pouvez attacher à l'objet créé. Il peut s'agir de données de type JSON XML, d'autres format de données ou simplement des Strings.
La longueur maximale autorisée est de 255 caractères.
h1
H1
Titre, libellé de cette Transactionen
string
fr
string
id
string
Identifiant unique et non modifiable formé de chiffres et de lettres.
parent
TransactionParent
Ce champ indique l'objet parent dont l'exécution a entrainé la création de cette Transaction. Ce parent peut donc être un objet Transfer, Deposit, QuasiTransfer etc...
source
MoneyAccount
balanceType
string
Indique le type du solde utilisé.
"AvailableBalance" signifie littéralement "SoldeDisponible". Ainsi, si la valeur de ce champ est "AvailableBalance", alors les fonds sont sur le solde disponible et pourront être utilisé.
Dans certains cas, les fonds sont "verrouillés" (en anglais "Locked" et sont soit sur le solde "LockedInBalance" ou "LockedOutBalance") et ne peuvent être utilisés jusqu'à leur mise à disposition sur le solde disponible qui est "AvailableBalance".Les seules valeurs possibles sont: "AvailableBalance" "LockedInBalance" "LockedOutBalance"
identifier
MoneyAccountIdentifier
_type
string
Indique le type de compte sur lequel se trouve de l'argent "MoneyAccount". S'il s'agit d'un compte bancaire, ce champ aura la valeur "Iban".
S'il s'agit d'un compte mobile money, ce champ aura la valeur "MobileMoney".
S'il s'agit d'un portefeuille, un Wallet FPay, la valeur pourra avoir aura la valeur "Id" ou "Man" la dernière signifiant "Money Account Number".Les seules valeurs possibles sont: "Iban" "Id" "Man" "MobileNumber"
value
string
Identifiant du compte sur lequel se trouve de l'argent "MoneyAccount". Si la valeur du champ "_type" ci dessus est "MobileMoney", alors ce champ contiendra un numéro de téléphone au format international comme "+2250701050000"
Si la valeur du champ "_type" ci dessus est "Iban", alors ce champ contiendra l'Iban du compte bancaire.
Si la valeur du champ "_type" ci dessus est "Id", alors ce champ contiendra l'id
du Wallet
FPay.
Si la valeur du champ "_type" ci dessus est "Man", alors ce champ contiendra le numéro man
du Wallet
FPay.
provider
MoneyAccountProvider
country
Country
iso3166
Iso3166Country
alpha2
string
Code ISO 3166 comportant 2 caractères représentant le pays.
Exemple : "CI" pour la Côte d'Ivoire, "BF" pour le Burkina Faso et "SN" pour le Sénégal.
alpha3
string
Code ISO 3166 comportant 3 caractères représentant le pays.
Exemple : "CIV" pour la Côte d'Ivoire, "BFA" pour le Burkina Faso et "SEN" pour le Sénégal.
name
string
Nom du pays qui sera soit en Français ou soit en Anglais suivant la langue de votre compte FPay. Si lors de votre inscription, vous avez choisi le Français comme langue de votre compte alors, le nom du pays sera en Français et si vous avez choisi l'anglais, alors ce nom sera en Anglais.
key
string
Clé identifiant de manière unique le fournisseur de compte sur lequel se trouve de l'argent.Les seules valeurs possibles sont: "FPay" "MoovMoney" "MtnMoney" "OrangeMoney"
name
string
Nom du fournisseur de compte sur lequel se trouve de l'argent.
status
TransactionStatus
TransactionStatus.Failure
Failure
_type
string
La seule valeur possible est: "Failure"
isCancelled
boolean
TransactionStatus.Successful
Successful
_type
string
La seule valeur possible est: "Successful"
url
string
URL sur laquelle une methode GET convenablement autorisée renverra l'instance de l'objet sur lequel ce champ est défini.
wallet
TransactionWalletView
Une Transaction impacte toujours un portefeuille, un Wallet, que cette transaction ajoute de l'argent à un portefeuille ou qu'elle retire l'argent d'un portefeuille. Ce champ représente une "vue", une photographie du portefeuille impactée par la transaction lorsque la transaction est survenue.after
TransactionBeforeAfter
Toutes les valeurs qui suivent ont été capturées après que la transaction ait eu lieubalance
Balance
available
number
Solde disponible pouvant être utilisé
lockedIn
number
Solde verrouillé qui représente la somme de toutes les entrées d'argent à venir sur ce portefeuille.
lockedOut
number
Solde verrouillé qui représente la somme de toutes les sorties d'argent à venir depuis ce portefeuille.
volume
Volume
input
number
Ce volume d'entrée représente la somme de toutes les entrées d'argent reçues sur le portefeuille.
output
number
Ce volume de sortie représente la somme de toutes les sorties d'argent effectuée depuis ce portefeuille.
total
number
Ce volume total représente la somme de toutes les entrées et de toutes les sorties d'argent effectuée depuis ou vers ce portefeuille.
before
TransactionBeforeAfter
Toutes les valeurs qui suivent ont été capturées avant que la transaction n'ait lieubalance
Balance
available
number
Solde disponible pouvant être utilisé
lockedIn
number
Solde verrouillé qui représente la somme de toutes les entrées d'argent à venir sur ce portefeuille.
lockedOut
number
Solde verrouillé qui représente la somme de toutes les sorties d'argent à venir depuis ce portefeuille.
volume
Volume
input
number
Ce volume d'entrée représente la somme de toutes les entrées d'argent reçues sur le portefeuille.
output
number
Ce volume de sortie représente la somme de toutes les sorties d'argent effectuée depuis ce portefeuille.
total
number
Ce volume total représente la somme de toutes les entrées et de toutes les sorties d'argent effectuée depuis ou vers ce portefeuille.
createdTime
UTCDateTime
Date et heure auxquelles cet objet a été créé. Valeur toujours stockée en UTC (Temps universel), ce champ contient une representation de cet instant au format ISO 8601 ainsi qu'une representation de ce même instant en timestamp secondes et millisecondes.iso8601
string
Date et heure au format ISO 8601
timestamp
Timestamp
milliseconds
number
Date et heure exprimées en Timestamp milli secondes
seconds
Double
Date et heure exprimées en Timestamp secondes
creator
Creator
Creator.Api
Api
_type
string
La seule valeur possible est: "Api"
accountId
string
authAccessId
string
Creator.Ui
Ui
_type
string
La seule valeur possible est: "Ui"
accountId
string
personId
string
description
string | undefined
Détails, explications, annotations concernant cet objet pour mieux vous organiser et vous retrouvez plus tard.
foreignData
string | undefined
Données qui vous sont propres que vous pouvez attacher à l'objet créé. Il peut s'agir de données de type JSON XML, d'autres format de données ou simplement des Strings.
La longueur maximale autorisée est de 255 caractères.
foreignId
string | undefined
ID Personalisé ou bien ID de votre système interne que vous souhaitez attacher à cet objet pour vous permettre de le récupérer plus tard.
Une fois créée, cette valeur est non modifiable.
Cette valeur doit être unique pour chaque type.
La longueur maximale autorisée est de 128 caractères.
id
string
Identifiant unique et non modifiable formé de chiffres et de lettres.
isMain
boolean
Indique si ce portefeuille est le portefeuille principal.
Lorsque vous vous inscrivez sur FPay, nous vous créons un portefeuille qui est donc le principal, le premier à être créé.
mainPocket
Pocket
balance
Balance
available
number
Solde disponible pouvant être utilisé
lockedIn
number
Solde verrouillé qui représente la somme de toutes les entrées d'argent à venir sur ce portefeuille.
lockedOut
number
Solde verrouillé qui représente la somme de toutes les sorties d'argent à venir depuis ce portefeuille.
volume
Volume
input
number
Ce volume d'entrée représente la somme de toutes les entrées d'argent reçues sur le portefeuille.
output
number
Ce volume de sortie représente la somme de toutes les sorties d'argent effectuée depuis ce portefeuille.
total
number
Ce volume total représente la somme de toutes les entrées et de toutes les sorties d'argent effectuée depuis ou vers ce portefeuille.
man
Man
alpha
string
Valeur du man (Money Account Number), valeur unique pour chaque portefeuille créé sur FPay.
mars
Mars
alpha
string
name
string
Nom du portefeuille
url
string
URL sur laquelle une methode GET convenablement autorisée renverra l'instance de l'objet sur lequel ce champ est défini.