
Get transactions set or of account's linked delayed debit card slips
Use case
This service allows to get the account transaction set or delayed debit card slips list of our customer.
The transactions returned are transactions with a date within 90 days from the current date.
The result may be subject to pagination in case of having too many results. In this case, to make the results easier to read, there will be navigation links to access to the first, the next, the previous or the last page of results.
This service follows the return of the list of current accounts and debit cards for a customer : a resource identifier corresponding to an account or card must be provided to obtain the list of transactions / card slips.
Access to this method is limited to a maximum of 4 batch accesses per calendar day for one given TPP, pagination not included.
In summary, this service makes it possible to list the transactions of a customer's current account or to list the slips of a deferred debit card backed up by this current account.
Prerequisite
In order to process this request it 's needed to fill the eligibility and to get the OAUTH2 access token (see the use case "Get your access token").
Retrieval of an account transaction set :
The IBAN account should have been transmitted in the transactions list of the PUT /consents method and shouldn't be revoked since (<=> no cancel and replace using PUT /consents method without the IBAN in the transactions list)
The "accountResourceId" field as an account parameter of this method, is obtained with the result of the GET /accounts method in the "resourceId" field for the account linked to this IBAN, that means : "accountId": {"iban" } ;
URI for this method access is given by the field "_links": {"transactions": {"href": ...}} result of the GET /accounts request for the "resourceId" field of the account ;
In order to get the slips of a delayed debit card linked to an account :
The IBAN account whose delayed debit card is linked to should have been transmitted in the transactions list of the PUT /consents method and shouldn't be revoked since (<=> no cancel and replace using PUT /consents method without the IBAN in the transactions list)
The "accountResourceId" field as an account parameter of this method, is obtained with the result of the GET /accounts method in the "resourceId" field for the delayde debit card, that means :
"accountId": {"other": {"schemeName": "CPAN"}}) with "linkedAccount" wich corresponds to "resourceId" field of the account ;
with "resourceId" field of the account obtained with GET /accounts request and with : "accountId": {"iban" } ;
URI for this method access is given by the field "_links": {"transactions": {"href": ...}} result of the GET /accounts request for the "resourceId" field of delayed debit card
Request
get/account/{accountResourceId}/transactions
See also STET V1.4.0.47 / Part II / section 4.3 / page 12
Mandatory or facultative body parameters needed for this service
Mandatory parameter accountResourceId : account we want to consult the transactions or delayed debit card we want to consult the slips.
Facultative parameters :
dateFrom => start date for the sought transactions
dateTo => end date for the sought transactions
afterEntryReference => minimum value for the incremental technical identification
- PSU-IP-ADDRESS => parameter is mandatory if the customer is connected
Returned result
This call allows to get :
The transactions list for the account passed as a parameter
Or the slips list of the delayed debit card passed as a parameter
The transactions returned are transactions with a date within 90 days from the current date.
The result may be subject to pagination in case of having too many results. In this case, to make the results easier to read, there will be navigation links to access to the first, the next, the previous or the last page of results.
A self link will also be displayed in order to go back to the page obtained right after the request execution.
Access to this method is limited to a maximum of 4 batch accesses per calendar day for an association of one customer and one account or delayed debit card given (pagination not included). On the contrary, when the online customer asks his accounts directly, the accesses number is not limited.
Details on the types of operation
Types of operations reported |
Virement émis |
Virement reçu |
Prélèvement émis |
Prélèvement reçu |
Intérêts |
Frais et commissions |
Extourne et rétrocession |
Effets |
Titres et instruments financiers |
Chèques |
Epargne |
Cartes |
Incidents et impayés |
Prêts |
International |
Espèces retrait et versement |
Contentieux |
Règlements factures et divers |
Autres |
This is available in the sandbox, in 73 different operation code labels for the 4,500 transactions of the “SARL UNIPERSONNELLE 2640” persona:
Operation code label | Type of associated operation |
ACHAT PARTS BP | Titres et instruments financiers |
ANN VIR SEPA | Virement émis |
ANNU EUROVIR | Virement émis |
ANNUL FRAIS CB | Extourne et rétrocession |
ANNULATION | --- |
ANNULATION PRLV | --- |
ARRETE DE CPTE | Intérêts |
CASH POOLING | --- |
CHEQUE BANQUE | Chèques |
CHEQUE | Chèques |
CHEQUE BANQUE | --- |
COM.GESTION DEB | --- |
DEBIT DIFFERE | Cartes |
DEPLACE | Chèques |
DEPOT ESPECES | Espèces retrait et versement |
ECH PRET IMPAYE | --- |
ECHEANCE PRET | Prêts |
ENVOI EXTRAITS | --- |
EUROPRELEVEMENT | Prélèvement reçu |
EUROVIR OCCAS | Virement émis |
EUROVIR PERM | Virement émis |
EUROVIR SEPA | Virement émis |
EUROVIR SEPA | Virement reçu |
EUROVIR SEPA RJ | Autres |
FACT. CB | --- |
FACTURE CB | Cartes |
FACTURETTES CB | --- |
FRAIS ANNUL EVI | Virement reçu |
FRAIS OU COTIS | Frais et commissions |
FRAIS OU COTIS | --- |
FRAIS VIREMENT | Virement émis |
IMP.CARTE BLEUE | Incidents et impayés |
IMPAYE EUROPRLV | Virement reçu |
INTERETS RETARD | International |
LCR DOMICILIEE | Effets |
PRELEVEMENT | Prélèvement reçu |
RAP COMMERCIAL | International |
REGUL.INT.CPTE | --- |
REM.CARTE BLEUE | Cartes |
REM.ENCAISSEMEN | Effets |
REMBT EUROPREL | --- |
REMBT EUROPREL | Virement reçu |
REMISE EUROPRL | Prélèvement émis |
REMISE EUROPRLV | Prélèvement émis |
REMISES CHEQUES | Chèques |
RETOUR EUROPREL | --- |
RETRAIT CAISSE | Espèces retrait et versement |
RETRAIT DISTRIB | Cartes |
RETRAIT UNIQUE | Espèces retrait et versement |
RETRO FR.CHEQUE | --- |
REVERSEMEN DCC | --- |
REVRST EUROPREL | Virement reçu |
REVRST EUROPRLV | --- |
REVRST EUROPRV | --- |
TRANSFERT SOLDE | Espèces retrait et versement |
VERST DEPLACE | Espèces retrait et versement |
VERST RAPIDE | Espèces retrait et versement |
VI TRESORERIE | Virement émis |
VI TRESORERIE | Virement reçu |
VIR ADMCP CYBER | Virement émis |
VIR EURO SIMPLE | Virement reçu |
VIR INSTAN EMIS | Virement émis |
VIR INSTAN RECU | Virement émis |
VIR INTERNAT | Prêts |
VIR TRESO CYBER | Virement émis |
VIR.AUTOMATIQUE | Virement émis |
VIREMENT | Virement émis |
VIREMENT | Virement reçu |
VIREMENT CREDIT | Virement reçu |
VIREMENT DEBIT | Virement émis |
VIREMENT EMIS | Virement émis |
VIRT PERMANENT | Virement émis |
STET v1.4.0.47 is applied: the remittanceInformation field is unstructured => when switching to v1.4.2.17 it is planned to switch to the “structured” format described in this version of the standard.
Example
Request
GET /stet/psd2/v1/accounts/038-CPT30019654051/transactions?dateFrom=2019-05-01&dateTo=2019-05-16
A more complete example of a query is provided in the use case "Sandbox assembly".
See also STET V1.4.0.47 / Part III / Section 5.4 / page 9
Result
Status code : 200
Body
{ |
(data set Marc's persona - D0999990I0)
Error code
Here is the list of error codes descriptions for each service. There is a red annotation for errors being described in the CFONB codification.
Error | Error description |
AC01 (CFONB) | IncorrectAccountNumber : account number is invalid or missing |
AC04 (CFONB) | ClosedAccountNumber : account has been closed |
AC06 (CFONB) | BlockedAccount : account is blocked, prohibiting posting of transactions against it |
BE05 (CFONB) | UnrecognisedInitiatingParty : the AISP is not recognised |
BADS | BadScope : request with an access token which is not authorized to access to the resource (incorrect CBPII scope, instead of expected AISP scope) |
ENDE | EntriesDatesError : one or some of the dates are not correct |
INTE | InternalError : there was an internal processing error |
INTS | InternalServerError : there was an internal communication error with the information system |
IPGN | InvalidPageNumber : the page number is invalid |
NGAC | NotGrantedAccount : access to the account has not been granted |
NIMP | NotImplemented : invalid method used (GET method expected) |
TMRQ | TooManyRequest : the maximum number of requests has been exceeded |
RENF | ReferenceNotFound : the transaction reference doesnt exist |
IPSU | InvalidPSU : unregistered subscriber number or terminated Cyber subscription |
Acceptation tests
The purpose of these tests is to allow you to practice some tests in order to take charge of the API to access it from your application.
Test description | Dataset |
Retrieve of all transactions linked to a customer's account (under 90 days) => Verification of the mandatory hypermedia links (balances, self, transactions, beneficiaries if any) | Persona : Alix - 038-CPT30019654081 Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of the current account transaction set and the delayed debit card slips list |
Retrieve of transactions and verify that the ASPSP uses correctly pagination mechanism =>Verification of the optional hypermedia links prev, next, last… | Persona : Alix - 038-CPT30019654081 Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a paginated list of the current account transaction set and the delayed debit card slips, with 3 items per page |
Retrieve the transactions linked to an unknown account | Persona : Inconnu - CPT310197919611 Prerequisite : scope OAuth2 = aisp Result : response HTTP 404 => {accountId} is invalid error message : AC01 |
HTTP request with an access token which is not authorized to access to this resource (incorrect scope) | Persona : Marc - 038-CPT30019654051 Prerequisite : scope OAuth2 <> aisp Result : response HTTP 403 => Access to the resource is not allowed error message : BADS |
HTTP request using POST method | Persona : Marc - 038-CPT30019654051 Prerequisite : scope OAuth2 = aisp Result : response HTTP 405 => method not allowed |
=>Check that the filter is well applied | Persona : Alix - 038-CPT30019654081 dateFrom : enter "current date - 8 days" Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a list of transactions after the dateFrom passed as a parameter |
Retrieve transactions list by passing a dateTo parameter =>Check that the filter is well applied | Persona : Alix - 038-CPT30019654081 dateTo : enter "current date - 1 day" Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a list of transactions before the dateTo passed as a parameter up to the limt of 90 days |
Retrieve transactions list by passing an afterEntryReference parameter =>Check that the filter is well applied | Persona : Alix - 038-CPT30019654081 afterEntryReference : 3 Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a list of transactions with an incremental technical identification greater than the afterEntryReference |
Retrieve transactions list by passing a dateFrom and a dateTo parameters =>Check that the filter is well applied | Persona : Alix - 038-CPT30019654081 dateFrom : enter "current date - 8 days" dateTo : enter "current date - 2 days" Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a list of transactions within the dateFrom and dateTo passed as parameters |
Retrieve transactions list by passing a dateFrom and a afterEntryReference parameters =>Check that the filter is well applied | Persona : Alix - 038-CPT30019654081 dateFrom : enter "current date - 8 days" afterEntryReference : 2 Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a list of transactions with an incremental technical identification greater than the afterEntryReference passed as a parameter and after the dateFrom passed as a parameter |
Retrieve transactions list by passing a dateTo and a afterEntryReference parameters =>Check that the filter is well applied | Persona : Alix - 038-CPT30019654081 dateTo : enter "current date - 2 days" afterEntryReference : 2 Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a list of transactions with an incremental technical identification greater than the afterEntryReference passed as a parameter and before the dateTo passed as a parameter, up to the limt of 90 days |
=>Check that the filter is well applied | Persona : Alix - 038-CPT30019654081 dateFrom : enter "current date - 8 days" dateTo : enter "current date - 2 days" afterEntryReference : 2 Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK return of a list of transactions with an incremental technical identification greater than the afterEntryReference passed as a parameter and within the dateFrom and dateTo passed as parameters |
Request by passing a dateFrom older than 90 days with an "aisp" access token scopes | Persona : Alix - 038-CPT30019654081 dateFrom : enter "current date - 92 days" Prerequisite : scope OAuth2 = aisp Result : response HTTP 400 =>Period out of bound expected error message : ENDE |
Request by passing an invalid dateFrom or dateTo | Persona : Alix - 038-CPT30019654081 dateFrom : enter a date with incorrect format Prerequisite : scope OAuth2 = aisp Result : response HTTP 400 => bad request error message : ENDE |
Retrieve of transactions with more than 200 transactions in result => Check that 200 transactions are on the first page(pagination) | Persona : Adam - 038-CPT30319665742 Prerequisite : scope OAuth2 = aisp Result : response HTTP 200 => OK 245 transactions are returned in two pages with an historical depth of three months |
Retrieve of transactions with 4500 transactions for the 5 accounts and 1 delayed debit card 73 different typologies / operation codes are returned => Check that 200 transactions are on the first page(pagination) when more than 200 transactions are returned | Persona : SARL UNIPERSONNELLE 2640
Prerequisite : scope OAuth2 = aisp Result : réponse HTTP 200 => OK |