Lister et récupérer les Transactions
July 30, 2026
Listez et filtrez les transactions FlowAlp Pay ou récupérez une transaction par ID, avec tous les statuts expliqués pour l'API marchande.
Chaque paiement traité par FlowAlp Pay est enregistré sous forme de Transaction. L'API marchande expose deux endpoints en lecture pour cette ressource : une liste filtrable et la récupération d'un enregistrement unique par son ID numérique. Utilisez la version d'API v1.16 pour toute nouvelle intégration et authentifiez chaque appel avec l'en-tête x-api-key, comme décrit dans Authentification.
Lister les Transactions
https://api.pay.flowalp.com/v1.16/Transaction/v1.14 · v1.15 · v1.16L'endpoint de liste renvoie les transactions de votre instance, triées par date de création. Combinez les filtres de date UTC avec limit et offset pour parcourir de grands ensembles de résultats. Tous les paramètres sont facultatifs sauf instance.
Paramètres de la requête
| Paramètre | Type | Description |
|---|---|---|
| instance | string (requis) | Nom de votre instance (tenant). Identifie le compte sur lequel la requête est exécutée. |
| filterDatetimeUtcGreaterThan | date | Borne inférieure en UTC, format YYYY-MM-DD HH:MM:SS. Seules les transactions créées après ce moment sont renvoyées. |
| filterDatetimeUtcLessThan | date | Borne supérieure en UTC, même format. |
| filterMyTransactionsOnly | boolean | Par défaut false. Avec la valeur 1, seules les transactions créées avec la clé API utilisée pour cette requête sont renvoyées. |
| orderByTime | string | ASC (défaut) ou DESC — ordre de tri selon la date de la transaction. |
| offset | integer | Nombre de lignes à ignorer, pour la pagination. |
| limit | integer | Nombre maximal de lignes renvoyées. |
curl "https://api.pay.flowalp.com/v1.16/Transaction/?instance=<tenant>&orderByTime=DESC&limit=20&offset=0" \
-H "x-api-key: <api-secret>"<?php
use FlowAlpPay\FlowAlpPay;
use FlowAlpPay\Models\Request\Transaction;
$client = new FlowAlpPay(
getenv('FLOWALP_TENANT'),
getenv('FLOWALP_API_SECRET'),
FlowAlpPay::DEFAULT_COMMUNICATION_HANDLER,
'pay.flowalp.com',
'1.16'
);
$request = new Transaction();
$request->setFilterDatetimeUtcGreaterThan(new DateTime('2026-07-01 00:00:00'));
$request->setFilterDatetimeUtcLessThan(new DateTime('2026-07-31 23:59:59'));
$request->setOrderByTime('DESC');
$request->setLimit(20);
try {
$transactions = $client->getAll($request);
foreach ($transactions as $transaction) {
echo $transaction->getId() . ': ' . $transaction->getStatus() . PHP_EOL;
}
} catch (Exception $e) {
error_log('Listing transactions failed: ' . $e->getMessage());
}Récupérer une Transaction
https://api.pay.flowalp.com/v1.16/Transaction/{id}/v1.14 · v1.15 · v1.16| Paramètre | Type | Description |
|---|---|---|
| id | integer (requis) | Paramètre de chemin : ID numérique de la transaction à récupérer. Vous le recevez à la création de la transaction et dans chaque notification webhook. |
| instance | string (requis) | Paramètre de requête : nom de votre instance (tenant). |
curl "https://api.pay.flowalp.com/v1.16/Transaction/4712/?instance=<tenant>" \
-H "x-api-key: <api-secret>"<?php
use FlowAlpPay\Models\Request\Transaction;
// $client : même constructeur que dans l'exemple de liste ci-dessus
$request = new Transaction();
$request->setId(4712);
try {
$transaction = $client->getOne($request);
echo $transaction->getStatus();
} catch (Exception $e) {
error_log('Transaction lookup failed: ' . $e->getMessage());
}Réponse
Les deux endpoints répondent avec un champ status et un tableau data ; la récupération unitaire renvoie un tableau contenant exactement un élément. Les montants sont exprimés en unités mineures (6250 = CHF 62.50). refundable et partiallyRefundable indiquent quelles opérations de remboursement sont actuellement possibles, et payoutUuid relie la transaction au versement qui l'a réglée.
{
"status": "success",
"data": [
{
"id": 4712,
"uuid": "f384000b",
"status": "confirmed",
"time": "2026-07-12 09:41:27",
"lang": "de",
"psp": "Native_PSP",
"pspId": 26,
"mode": "LIVE",
"referenceId": "ORDER-2026-0815",
"pageUuid": "892dcf5c",
"payment": {
"brand": "visa",
"wallet": null
},
"payoutUuid": "AB12CD34",
"invoice": {
"currencyAlpha3": "CHF",
"products": [
{ "quantity": 1, "name": "Hoodie", "amount": 5900 }
],
"discount": null,
"shippingAmount": 350,
"totalAmount": 6250,
"customFields": null
},
"refundable": true,
"partiallyRefundable": true,
"contact": {
"id": 16,
"uuid": "9c9c0282",
"firstname": "Anna",
"lastname": "Keller",
"email": "anna.keller@example.com",
"country": "Switzerland",
"countryISO": "CH"
}
}
]
}Statuts de la transaction
Le champ status reflète l'étape du cycle de vie où se trouve la transaction :
| Statut | Description |
|---|---|
| waiting | Le paiement a été initié mais n'est pas encore finalisé. |
| confirmed | Le paiement a réussi et le montant a été débité. |
| authorized | Le moyen de paiement a été tokenisé avec succès ; aucun montant n'a encore été débité. |
| reserved | Un montant a été réservé via une pré-autorisation. |
| refunded | Le montant total a été remboursé au client. |
| partially-refunded | Une partie du montant a été remboursée au client. |
| refund_pending | Un remboursement est en cours de traitement. |
| cancelled | Le paiement a été interrompu par le client. |
| declined | Le paiement a échoué au 3-D Secure ou a été refusé par la banque émettrice. |
| chargeback | Le titulaire de la carte a récupéré les fonds via sa banque. |
| disputed | Un litige a été ouvert pour cette transaction. |
| error | Un problème technique est survenu pendant le traitement. |
| expired | Le paiement a été interrompu pour cause d'inactivité. |
Erreurs
| Statut HTTP | Signification |
|---|---|
| 400 | Requête mal formée — le champ message du corps d'erreur décrit le problème exact. |
| 404 | Aucune transaction avec l'ID indiqué n'existe sur cette instance. |
Les réponses d'erreur ont la forme {"status": "error", "message": "..."}.
Les opérations post-paiement — débit, capture, remboursement et annulation — sont décrites dans Débiter, capturer, rembourser et annuler des Transactions. Pour comprendre comment les transactions confirmées atteignent votre compte bancaire, consultez l'API Payouts et abonnez-vous aux événements webhook pour suivre les changements de statut en temps réel.