Test the API in Sandbox Try-it
Process
By connecting to the portal, you can:
- Use the "payment initiation" API via a form in which you select your application and the authentication/access token
- Then enter the parameters of the method you wish to test (either headers or body), with the mandatory parameters indicated by a star.
Once the parameters are entered, you can execute the query: you get a result or an error.
The user can chain the requests by selecting the customer profile either for the Banque Populaire or for the Caisses d'Epargne from which he wishes to test the methods, the implemented features being different depending on the bank (see "Limits" use case).
Overview of the Try-it form
Resource owner = "ClientBanquePopulaire" must be selected test for Banques Populaires institutions.
Resource owner = "ClientCaisseEpargne" must be selected for Caisses d'Epargne institutions.
Overview of the generating Oauth2 token screen
The screen is accessible when you edit the application (TPP PISP) and allows you to generate or edit an Oauth2 token that you will select in the Try-It execution form.
Send a payment request initiation with Try-it form
Below is a description of the various parameters to initiate a payment request with POST /paymentRequests method:
Parameter | Description | Type of data | Type of parameter | Madatory |
---|---|---|---|---|
Authorization* | Access token, must be provided in the headers | String | Header | yes |
PSU-IP-Address | IP address used by the PSU when connecting to the TPP *mandatory if the client is connected but not filled in case of access through batch | String | Header | non* |
PSU-IP-Port | IP port used by the PSU when connecting to the TPP | String | Header | non |
PSU-HTTP-Method | HTTP method used in the most accurate request made by the PSU towards the TTP | String | Header | non |
PSU-Date | Timestamp used in the most accurate request made by the PSU towards the TTP | String | Header | non |
PSU-GEO-Location | Geo location of the PSU given to the TPP by the PSU mobile terminal if it exists | String | Header | non |
PSU-User-Agent | Header "User-Agent" sent by the PSU when connecting to the TPP | String | Header | non |
PSU-Referer | Header "Referer" sent by the PSU when connecting to the TPP. Please note that in previous specifications of the RFC 1945 the name 'referrer' (mispelled) was recommended. It can be used at the risk of not being understood. | String | Header | non |
PSU-Accept | Header "Accept" sent by the PSU when connecting to the TPP | String | Header | non |
PSU-Accept-Charset | Header "Accept-Charset" sent by the PSU when connecting to the TPP | String | Header | non |
PSU-Accept-Encoding | Header "Accept-Encoding" sent by the PSU when connecting to the TPP | String | Header | non |
PSU-Accept-Language | Header "Accept-Language" sent by the PSU when connecting to the TPP | String | Header | non |
PSU-Device-ID | UUID (Universally Unique Identifier) of the device used by the PSU, if possible | String | Header | non |
Digest* | Request data | String | Body | yes |
Signature* | Signature http of the request (see https://datatracker.ietf.org/doc/draft-cavage-http-signatures/) The keyId of the header should be formatted as keyId="SN=XXX,CA=YYYYYYYYYYYYYYYY" where "XXX" is the serial number in hexadecimal without any prefix (as 0x, from the QSEAL certificate which private key has been used as signature) "YYYYYYYYYYYYYYYY" is the DN transmitter, complete name of the certification autority
| String | Header | yes |
X-Request-ID* | Correlation Header to set up in the request that must be retrieved in the response | String | Header | yes |
For the request body, you have the possibility to copy-paste an example into the form (located to the right of the screen) by using the small blue magnifier from the parameter description, changing some specific values:
The magnifier expands a pop-in containing a model of the swagger and an example:
You may then click the pink arrow located below the pop-in to paste the example into the Try-It form. Please note that the example is issued from the STET specifications and it contains an error in the schemeName’s codes.
A request sample is given below and the following data must be unique, otherwise the request is rejected because of duplicate (replay of the request is not allowed) :
- paymentInformationId ;
- instructionId ;
- endToEndI ;
- x-request-id
{ "paymentInformationId": "MyPmtInfld123", "creationDateTime": "2019-07-22T09:25:22.527+02:00", "numberOfTransactions": 1, "debtorAgent": { "bicFi": "CCBPFRPP512", "name": "B.P Grand Ouest", "postalAddress": { "country": "FR", "addressLine": [ "15 Boulevard de la Boutière", "CS 26858 35768 SAINT GREGOIRE CEDEX" ] } }, "initiatingParty": { "name": "MyPispName", "postalAddress": { "country": "FR", "addressLine": [ "5 avenue Anatole France ", "75007 PARIS" ] }, "organisationId": { "identification": "12FR5", "schemeName": "COID", "issuer": "ACPR" } }, "paymentTypeInformation": { "serviceLevel": "SEPA", "categoryPurpose": "CASH" }, "debtor": { "name": "Marc ", "postalAddress": { "country": "FR", "addressLine": [ "512 rue de la coupe du monde", "94512 Charenton-le-Pont" ] }, "privateId": { "identification": "D0999990I0", "schemeName": "BANK", "issuer": "BICXYYTT512" } }, "debtorAccount": { "iban" : "FR7613807008043001965405255" }, "beneficiary": { "creditor": { "name": "myMerchant", "postalAddress": { "country": "FR", "addressLine": [ "Place Charles de Gaulle", "75008 PARIS" ] }, "organisationId": { "identification": "852126790", "schemeName": "BANK", "issuer": "FR" } }, "creditorAgent": { "bicFi": "CCBPFRPP512", "name": "B.P Grand Ouest", "postalAddress": { "country": "FR", "addressLine": [ "15 Boulevard de la Boutière", "CS 26858 35768 SAINT GREGOIRE CEDEX" ] } }, "creditorAccount": { "iban": "FR7613807008043001965406128" } }, "purpose": "COMC", "chargeBearer": "SLEV", "requestedExecutionDate": "2019-07-23T13:25:22.527+04:00", "creditTransferTransaction": [ { "paymentId": { "instructionId": "MyInstrId123", "endToEndId": "MyEndToEndId123" }, "instructedAmount": { "currency": "EUR", "amount": "327.12" }, "remittanceInformation": [ "MyRemittanceInformation123" ] } ], "supplementaryData": { "acceptedAuthenticationApproach": [ "REDIRECT", "DECOUPLED" ], "scaHint": "scaExemption", "successfulReportUrl": "https://www.api.89c3.com/fr/", "unsuccessfulReportUrl": "https://www.api.89c3.com/fr/nous-contacter" } } |
After having filled the mandatory parameters, you can submit the request clicking the Execute button. The result is displayed under the Execute button:
RESULT
Status code : 201
{ "appliedAuthenticationApproach": "REDIRECT", "_links": { "consentApproval": { "href": "TPPPISPurlConsentApproval/psuId.html?resourceId=0000000180-1551358254000131359238543&nonce=Id-2ed9775ce61639e9a3c94ecc", "templated": null } } } |
You can also consult the data sent in the header by expanding the Headers area:
Retrieve the status of a payment request initiation with Try-it form
The description of the different parameters to retrieve the status of a payment initiation with the GET /paymentRequest method is the same as those for the POST /paymentRequest method.
It is necessary to pass:
- as a paymentRequestRessourceId argument the value of the field of the same name obtained in response to the POST /paymentRequest method;
- the same x-request-id passed to the POST / paymentRequest method.
RESULT
Status code : 201
{ "paymentRequest": { "resourceId": "0000000a22-146329369000016907660677", "paymentInformationId": "MyPmtInfld123", "creationDateTime": "2019-07-22T09:25:22.527+02:00", "numberOfTransactions": 1, "debtorAgent": { "bicFi": "CCBPFRPP512", "name": "B.P Grand Ouest", "postalAddress": { "country": "FR", "addressLine": [ "15 Boulevard de la Boutière", "CS 26858 35768 SAINT GREGOIRE CEDEX" ] } }, "initiatingParty": { "name": "MyPispName", "postalAddress": { "country": "FR", "addressLine": [ "5 avenue Anatole France ", "75007 PARIS" ] }, "organisationId": { "identification": "12FR5", "schemeName": "COID", "issuer": "ACPR" } }, "paymentTypeInformation": { "serviceLevel": "SEPA", "categoryPurpose": "CASH" }, "debtor": { "name": "Marc ", "postalAddress": { "country": "FR", "addressLine": [ "512 rue de la coupe du monde", "94512 Charenton-le-Pont" ] }, "privateId": { "identification": "D0999990I0", "schemeName": "BANK", "issuer": "BICXYYTT512" } }, "debtorAccount": { "iban": "FR7613807008043001965405255" }, "beneficiary": { "creditorAgent": { "bicFi": "CCBPFRPP512", "name": "B.P Grand Ouest", "postalAddress": { "country": "FR", "addressLine": [ "15 Boulevard de la Boutière", "CS 26858 35768 SAINT GREGOIRE CEDEX" ] } }, "creditor": { "name": "myMerchant", "postalAddress": { "country": "FR", "addressLine": [ "Place Charles de Gaulle", "75008 PARIS" ] }, "organisationId": { "identification": "852126790", "schemeName": "BANK", "issuer": "FR" } }, "creditorAccount": { "iban": "FR7613807008043001965406128" } }, "purpose": "COMC", "chargeBearer": "SLEV", "paymentInformationStatus": "PDNG", "statusReasonInformation": null, "fundsAvailability": null, "booking": null, "requestedExecutionDate": "2019-07-23T13:25:22.527+04:00", "creditTransferTransaction": [ { "paymentId": { "resourceId": "0000000a22-146329369000016907660677", "instructionId": "MyInstrId123", "endToEndId": "MyEndToEndId123" }, "instructedAmount": { "currency": "EUR", "amount": "327.12" }, "remittanceInformation": [ "MyRemittanceInformation123" ], "transactionStatus": "PDNG" } ], "supplementaryData": { "appliedAuthenticationApproach": "REDIRECT", "scaHint": "scaExemption", "successfulReportUrl": "https://www.api.89c3.com/fr/", "unsuccessfulReportUrl": "https://www.api.89c3.com/fr/nous-contacter" } } } |