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

épingleSee 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".

épingleSee also STET V1.4.0.47 / Part III / Section 5.4 / page 9

Result

Status code : 200

Body

  {
  "_links": {
    "balances": {
      "href": "https://www.rs-sandbox.api.89c3.com/stet/psd2/v1/accounts/038-CPT30019654051/balances"
    },
    "last": {
      "href": "https://www.rs-sandbox.api.89c3.com/stet/psd2/v1/accounts/038-CPT30019654051/transactions?page=last"
    },
    "self": {
      "href": "https://www.rs-sandbox.api.89c3.com/stet/psd2/v1/accounts/038-CPT30019654051/transactions"
    },
    "first": {
      "href": "https://www.rs-sandbox.api.89c3.com/stet/psd2/v1/accounts/038-CPT30019654051/transactions"
    },
    "parent-list": {
      "href": "https://www.rs-sandbox.api.89c3.com/stet/psd2/v1/accounts"
    }
  },
  "transactions": [
    {
      "resourceId": "02019BD2C-DEPOT04",
      "remittanceInformation": [
        "VIREMENT"
      ],
      "transactionAmount": {
        "amount": "27.00",
        "currency": "EUR"
      },
      "bookingDate": "2019-05-16",
      "valueDate": "2019-05-17",
      "transactionDate": "2019-05-16",
      "creditDebitIndicator": "CRDT",
      "entryReference": "",
      "status": "PDNG"
    },
    {
      "resourceId": "02018BD2C-VIRT-03",
      "remittanceInformation": [
        "VERST RAPIDE"
      ],
      "transactionAmount": {
        "amount": "142.00",
        "currency": "EUR"
      },
      "bookingDate": "2019-05-16",
      "valueDate": "2019-05-16",
      "transactionDate": "2019-05-16",
      "creditDebitIndicator": "CRDT",
      "entryReference": "",
      "status": "PDNG"
    },
    {
      "resourceId": "201902000003BD27-4772834",
      "remittanceInformation": [
        "VIR MALLOW MARC"
      ],
      "transactionAmount": {
        "amount": "145.00",
        "currency": "EUR"
      },
      "bookingDate": "2019-05-05",
      "valueDate": "2019-05-05",
      "transactionDate": "2019-05-05",
      "creditDebitIndicator": "CRDT",
      "entryReference": "201902000003BD27-4772834",
      "status": "BOOK"
    },
    {
      "resourceId": "201902000003BD27-4772833",
      "remittanceInformation": [
        "VIR M OMAR JAFFRA"
      ],
      "transactionAmount": {
        "amount": "125.00",
        "currency": "EUR"
      },
      "bookingDate": "2019-05-01",
      "valueDate": "2019-05-01",
      "transactionDate": "2019-05-01",
      "creditDebitIndicator": "CRDT",
      "entryReference": "201902000003BD27-4772833",
      "status": "BOOK"
    },
    {
      "resourceId": "201902000003BD27-4772832",
      "remittanceInformation": [
        "PRLV SEPA AIDES"
      ],
      "transactionAmount": {
        "amount": "12.23",
        "currency": "EUR"
      },
      "bookingDate": "2019-05-04",
      "valueDate": "2019-05-04",
      "transactionDate": "2019-05-04",
      "creditDebitIndicator": "DBIT",
      "entryReference": "201902000003BD27-4772832",
      "status": "BOOK"
    }
  ]
}

(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


Retrieve transactions list by passing a dateFrom parameter

=>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


Retrieve transactions list by passing a dateFrom and a dateTo and a afterEntryReference parameters

=>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

  • 038-CPT06021917866 => 487 transactions
  • 038-CPT30321656392 => 563 transactions
  • 038-CPT30421008479 => 1 002 transactions
  • 038-CPT30921016530 => 1 230 transactions
  • 038-CPT30921523550 => 1 108 transactions
  • GFCC013iNWXlZ4IXLB6TBcllAPXQ => 110 delayed debit card slips

Prerequisite :

scope OAuth2 = aisp

Result :

réponse HTTP 200 => OK