Logo Blue Finalse
Console 
  Français   English


C#


  • DÉMARRER
  • Authentification
  • Hello World
  • Tarification
  • Rate Limit
  • CAS D'UTILISATION
  • Intégration UI FPay
  • Intégration UI personalisé
  • Interopérabilité  New
  • Liens et QRCodes de Paiement
  • Argent des tiers  New
  • Audit & Tableau de bord  New
  • REFÉRENCES
  • Attempt
  • AuthAccess
  • Deposit
  • FundRequest
  • QuasiTransfer
  • Transaction
  • Transfer
  • Wallet
Logo Blue FinalseLogo Blue Finalse
Javascript
Console 
  Français   English
  • DÉMARRER
  • Authentification
  • Hello World
  • Tarification
  • Rate Limit
  • CAS D'UTILISATION
  • Intégration UI FPay
  • Intégration UI personalisé
  • Interopérabilité  New
  • Liens et QRCodes de Paiement
  • Argent des tiers  New
  • Audit & Tableau de bord  New
  • REFÉRENCES
  • Attempt
  • AuthAccess
  • Deposit
  • FundRequest
  • QuasiTransfer
  • Transaction
  • Transfer
  • Wallet

Transaction

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.

NOMTYPEDESCRIPTIONVALEUR PAR DÉFAUT
filterstring | undefinedCondition que doit respecter tout objet qui sera retourné dans cette collection
undefined
sortBystring | undefinedSpécification du champ ainsi que de l'ordre (ascendant ou descendant) par lesquels seront triés les objets retournés
createdTime:DESC
limitnumber | undefinedNombre 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 Transactionavec 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:

NOMTYPEDESCRIPTION
descriptionstring | undefinedPeut être mis à Jour   Peut être Supprimé
foreignDatastring | undefinedPeut ê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.

NOMTYPEDESCRIPTION
amount.currency.codestring
amount.valuenumber
createdTimestring
createdTime.iso8601string
createdTime.timestamp.millisecondsnumber
createdTime.timestamp.secondsnumber
dcstring
descriptionstring
destination.balanceTypestring
destination.identifier._typestring
destination.identifier.valuestring
destination.provider.country.iso3166.alpha2string
destination.provider.country.iso3166.alpha3string
destination.provider.country.namestring
destination.provider.keystring
destination.provider.namestring
detailsstring
details._typestring
details.providerTransactionIdstring
h1string
idstring
parent._typestring
parent.foreignIdstring
parent.idstring
source.balanceTypestring
source.identifier._typestring
source.identifier.valuestring
source.provider.country.iso3166.alpha2string
source.provider.country.iso3166.alpha3string
source.provider.country.namestring
source.provider.keystring
source.provider.namestring
statusstring
status._typestring
status.isCancelledboolean
wallet.after.balancenumber
wallet.after.balance.availablenumber
wallet.after.balance.lockedInnumber
wallet.after.balance.lockedOutnumber
wallet.after.volume.inputnumber
wallet.after.volume.outputnumber
wallet.after.volume.totalnumber
wallet.before.balancenumber
wallet.before.balance.availablenumber
wallet.before.balance.lockedInnumber
wallet.before.balance.lockedOutnumber
wallet.before.volume.inputnumber
wallet.before.volume.outputnumber
wallet.before.volume.totalnumber
wallet.foreignIdstring
wallet.idstring
wallet.isMainboolean
wallet.man.alphastring

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 Transaction
en
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 lieu
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.
before
TransactionBeforeAfter
Toutes les valeurs qui suivent ont été capturées avant que la transaction n'ait lieu
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.
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.

TRANSACTION
  • Présentation
  • Opérations
    • Get
    • List
    • FetchPage
    • Update
  • Liste Filtre & Tri
    • Champs
    • Exemple de Code
  • Champs de l'objet