Cancel a payment initiation request

Use case 

This method allows the PISP to cancel a payment initiation request previously sent to the ASPSP for a given PSU through a POST / paymentRequests request when the payment has not been executed yet.

Only SCT CORE differed operations in euros can be cancelled.

On the other way, and only for Banques Populaires, Banque de Savoie and Banque Palatine, a SCT operation initiated using PSD2 PISP API (whatever the version) can be cancelled using this request (in other words, this SCT operation can be cancelled thru another channel such as direct access "Cyber" or mobile app "Cyber mobile"). 

 

➤ Prerequisites

In order to be able to use this request, the TPP needs to fulfill eligibility criterias as "PISP" role (see "Eligibility" section), and muts get OAuth access token (see use case  "Overview" > "Retrieve a Token").

The PISP has already sent a PSD2 PIP V1.4.2 request which has been temporarly stored, the ASPSP has given back a link to this saved request.

In other words, to cancel a PIS operation shall be done using the same version used for the payment initiation.

Only differed and recurrent SCT can be cancelled.

 

 

➤ Request 

The entry point depends on the bank code <bkcode>.

You need to insert the same <bkcode> parameter as the one used for requesting the access token.

As a reminder, the list of our banking institutions and the possible values ​​of <bkcode> are specified in the "Limits" use case.

For example, the url to be used to access to a PSU from the Caisse d'Epargne Ile de France is :

 

 

➤ Mandatory or optional parameters in the request body 

The mandated parameter is "paymentRequestResourceId" : identification of the PISP initiation to cancel.

Please refer to the STET specifications for the other format and optional parameters. Before sending the cancel request, the TPP can check previously the status of the PISP operation using GET /stet/psd2/v1.4.2/payment-requests/{paymentRequestResourceId}. A PISP operation can be cancelled if the following data have the values as described below :  

Pour savoir si un virement est éligible les informations suivantes doivent être valorisées dans la requête comme suit :

  • paymentInformationStatus : "ACTC" / "ACCP" / "ACSP"
  • transactionStatus (in "creditTransferTransaction" object) shall be "PDNG" (if paymentInformationStatus = "ACSP"), otherwise not filled
  • serviceLevel : "SEPA" 
  • currency : "EUR" 
  • localInstrument : shall not be filled 
  • requestedExecutionDate : shall be at least the next day (D+1)

 

In order to be taken into accont, the cancel request sent to the ASPSP shall include the following data and values as described below (see API PSD2 STET_V1.4.2.17 Part 3 Interaction Examples p.23) :

  • transactionStatus (in "creditTransferTransaction" object) : "RJCT" 
  • statusReasonInformation (in "creditTransferTransaction" object) : "DS02"
statusReasonInformationSignification
DS02 Cancellation process requested by the PSU
DUPL Cancellation process requested by the PISP in case of redundant operation
FRAD Cancellation process requested by the PISP in case of fraudulent operation
TECH Cancellation process requested by the PISP in case of technical problem

 

  • All _links shall not be included 
  • "paymentRequest" parent label shall not be included as well as the final brace "}".

 

The other data of the request shall be the same as the ones retrieved using the GET method.

 

 

➤ In case of recurrent payment initiation

Such SCT recurrent payment initiation can be cancelled if it is still processed (ACSP) until the clearing of the last occurrence.

If all occurences have been cleared, csuch cancellation is not possible. 

 

 

➤ Result 

If all data sent are correctly formatted, a HTTP 200 response will be returned, and will include PISP operation ressourceId, SCA mode (redirect), consent URL (urlconsent_approval_URL) and nounce.

Please note that the data "paymentRequestRessourceId" is included as a parameter in the URL consentement "consentApproval" sent back during the PISP initial operation (same for the nounce).

 

 

 Error codes

Error

HTTP Code
Label
Reason
Generic, wrong format (strcuture)
400 Bad request error code : FF01
message : RJCT
Wrong format (BIC) 400 Bad request error code : FF01
message : RJCT
error : le champ creditorAgent.bicFi bicFi-Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362
Wrong format (Service Level) 400 Bad request  error code : FF01
message : RJCT
error : value not one of declared Enum instance names: [SEPA, NURG]
Wrong format (chargeBearer other than SLEV) 400 Bad request error code: FF01
message: RJCT
error: value not one of declared Enum instance names: [SLEV]
Wrong format (schemeName) 400 Bad request error code: FF01
message : RJCT
error : le champ creditor.privateId.schemeName schemeName-Possible values BANK,COID,SREN,DSRET,NIDN,OAUT,CPAN
Wrong format (purpose) 400 Bad request error code: FF01
message: RJCT
error: value not one of declared Enum instance names: [TRPT, CASH, CPKC, ACCT, COMC]
Wrong format (categoryPurpose) 400 Bad request error code: FF01
message: RJCT
error: value not one of declared Enum instance names: [CASH, DVPM]
Wrong access token, TLS authentification problem 403 Forbidden  

Request resource unknown

404 Not Found  

Bad request or not allowed

405 Method not allowed  

Generic

500 Internal server error