PSD2 PISP

Overview

This service is designed for Third Party Providers who act as Payment Initiation Service Providers and want to initiate a payment order at the request of La Banque Postale clients.

Test it with the SandBox !

Functional details

STET version compatibility: 1.4.2.10

Use cases

    • Payment request on behalf of a merchant
    • Transfer request on behalf of the account's owner
    • Standing-order request on behalf of the account's owner

Scope 

    • Compatible for all kind of La Banque Postale's customers who have subscribed to Certicode Plus (Individuals, Professionals and Corporates). 

Accepted Payment Instruments 

    • SCT Inst : At this stage, La Banque Postale's PIS API only provides Single Instant Payment request with one single beneficiary. The minimum amount is 0.01 EUR for SCTInst.
    • Standard SCT : At this stage, La Banque Postale's PIS API only provides Single SCT Payment request with one single beneficiary. The minimum amount is 0.01 EUR for SCT (according to the general conditions of La Banque Postale) from 29 March 2022. Since 08/2022, the PISP API also allows the initiation of standing orders.
    • International payments : NOT YET AVAILABLE
    • Multi-transactions payments : NOT YET AVAILABLE

Optimisation of the PISP conversion rate

In order to optimise the conversion rate of transfer initiations, we suggest that you pay attention to the following particularities that regularly cause blockages: 

- Type of account : 
Check that the debtorAccount.iban corresponds to a payment account of LA BANQUE POSTALE.

- CreditorAccount not reachable for an instant transfer ["localInstrument": "INST"]
Check that the beneficiary bank is reachable via the instant transfer.
Check that the beneficiary account (beneficiary.creditorAccountType.iban) is reachable for instant transfer. Indeed, savings accounts are not reachable via instant transfers.
==> Prefer the standard SCT transfer if this is not the case.

- Format error in the field creditTransferTransaction[].instructedAmount.amount : 
Check the valid format. 
Example: 10.00

- Format error on the field debtorAccount.iban : 
Check that debtorAccount.iban is complete (including the country code FR).
    
- Active CERTICODE PLUS equipment required: 
The PISP transfer initiation functionality requires the PSU to have active CERTICODE PLUS equipment. 

- Transfer limit exceeded / Transfer amount incompatible with transfer type : 
For retail customers, the documentation on transfer limits is available here
The limit for transfers (including standard SCT and Inst) to third party accounts is €4,000 per day.
The limit for instant transfers is €1,000 per day.
==> Prefer the standard SCT transfer if this is not the case.

- Insufficient funds in the account / overdraft : 
Check with the customer that the balance on the selected account is sufficient.

- Debit account status: 
Check with the customer that the debtorAccount.iban corresponds to a debitable account of the connected PSU.
Check with the customer that the connected PSU has at least one debit account.
Check with the customer that the connected PSU has at least one open account.

 

Technical details

Endpoints: https://api.labanquepostale.com/v1
 
The API is designed on a REST model using JSON structures.
PIS API works according to the REDIRECT workflow.

Prerequisites

    • TPP and La Banque Postale have successfully processed a mutual check and authentication using an eIDAS Qualified Certificate.

    • Authorization bearer credentials is the oauth2 client credentials token scope pisp.(See also)

Available operations 

    • Payment request initiation : initiates a payment within La Banque Postale secured environment

    • Retrieval of a payment request : retrieves a previously posted Payment Request, updated with the status in La Banque Postale payment systems

    • Confirmation of a payment request : confirms  a previously posted Payment Initiation in order to complete the process flow. In REDIRECT approach, La Banque Postale must wait for confirmation before executing the Payment Request.

Specificity

  • The resourceIdPSU property is available: this is a transaction identifier that can be communicated to the PSU which has been added to the model in addition to the GET payment-request API standard. This information corresponds to that which appears on the final screen of the Internet banking transfer process.

  • Redirect App2App : During the initial stage of the PISP journey, the TPP makes a call to the POST /payment-requests endpoint to obtain a PSU validation URL for the transfer. To trigger the App2App journey, a new optional header should be added: PSU-Workspace
    • "REDIRECT-APP2APP-PPH" value: Universal-link type consentApproval URL for opening the Personal Banking APP
    • "REDIRECT-APP2APP-PMO" value: Universal-link type consentApproval URL for opening the La Banque Professionals APP
    • Value "REDIRECT-APP2APP-WEB" or header not valued: URL consentApproval of type WEB redirect

 Examples

    • Payment request initiation 

POST /payment-requests

Headers:

Authorization: Bearer YXdobJusXVkLdG91cm5lc0AAFpbC5jb2
X-REQUEST-ID: 987654321
Content-Type: application/json
PSU-Workspace: REDIRECT-APP2APP-WEB

Body:

{
    "paymentInformationId": "RefIPOblssesp",
    "creationDateTime": "2019-06-26T11:18:22.527+02:00",
    "numberOfTransactions": "1",
    "initiatingParty": {
        "name": "Commercant initiateur"
    },
    "paymentTypeInformation": {
        "serviceLevel": "SEPA",
        "localInstrument": "INST",
        "categoryPurpose": "CASH"
    },
    "beneficiary": {
        "creditorAgent": {
            "bicFi": "BNKAFRPPXXX",
            "name": "CreditorAgentName"
        },
        "creditor": {
            "name": "CreditorName"
        },
        "creditorAccount": {
            "iban": "FR7620041010011408742123456"
        }
    },
    "requestedExecutionDate": "2020-05-13T20:18:30.000+01:00",
    "creditTransferTransaction": [
        {
            "paymentId": {
                "instructionId": "IdInstruction001"
            },
            "requestedExecutionDate": "2020-05-13T20:18:30.000+01:00",
            "instructedAmount": {
                "currency": "EUR",
                "amount": "0.01"
            },
            "beneficiary": {
                "creditorAgent": {
                    "bicFi": "BNKAFRPPXXX",
                    "name": "CreditorAgentName"
                },
                "creditor": {
                    "name": "CreditorName"
                },
                "creditorAccount": {
                    "iban": "FR7620041010011408742123456"
                }
            },
            "remittanceInformation": {
                "unstructured": [
                    "Motif du paiement Oblig"
                ]
            }
        }
    ],
    "supplementaryData": {
        "successfulReportUrl": "https%3A%2F%2Fwww.myTPP.fr%2Fpisp%2Fsuccessful.html",
        "unsuccessfulReportUrl": "https%3A%2F%2Fwww.myTPP.fr%2Fpisp%2Funsuccessful.html"
    }
}

 

    • Retrieval of a payment request

GET /payment-requests/{paymentRequestResourceId}

Headers:

Authorization: Bearer YXdobJusXVkLdG91cm5lc0AAFpbC5jb2
X-REQUEST-ID: 987654321

  

    • Confirmation of a payment request 

POST /payment-requests/{paymentRequestResourceId}/confirmation

Headers:

Authorization: Bearer YXdobJusXVkLdG91cm5lc0AAFpbC5jb2
X-REQUEST-ID: 987654321
Content-Type: application/json

Body:

{
	"psuAuthenticationFactor": "JJKJKJ788GKJKJBK"
}