Regulatory Compliance
Updated On 23 March 2025 | Min(s) read
Banks licensing the PSD2 module and using their own user interface should refer to the Payment endpoints described in this section. For the PSD2 Integrated solution, where banks license both Temenos Digital and Transact, the payment APIs used for Payment Approvals are outlined in the Digital User Guide.

Payment Initiation Service APIs

Temenos supported Berlin Group payment endpoints are described below:

PAYMENT INITIATION REQUEST
This API is used for a payment initiation at the ASPSP.

POST/v1/{payment-service}/{payment-product}

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}
Request
{
  "creditorAccount": {
    "iban": "FR7614006000000209615304162"
  },
  "creditorAgent": "CITIARBA",
  "creditorName": "Zeus",
  "debtorAccount": {
    "bban": "101036",
    "currency": "USD"
  },
  "endToEndIdentification": "EBACTOUT",
  "instructedAmount": {
    "amount": "100",
    "currency": "USD"
  },
  "remittanceInformationUnstructured": "TPS-testing-9"
}
Sample Response
{
  "transactionStatus": "RCVD",
  "_links": {
    "scaStatus": {
      "href": "/v1/payments/sepa-credit-transfers/PI201080NQ0MMQFY/authorisations/PI201080NQ0MMQFY-AUTH-1"
    },
    "scaRedirect": {
      "href": "https://www.temenosbank.com/Login"
    },
    "self": {
      "href": "/v1/payments/sepa-credit-transfers/"
    },
    "status": {
      "href": "/v1/payments/sepa-credit-transfers/PI201080NQ0MMQFY/status"
    }
  },
  "paymentId": "PI201080NQ0MMQFY",
  "transactionFeeIndicator": false
}
GET PAYMENT INFORMATION
This API is used to get the details of a payment object at the ASPSP.

GET/v1/{payment-service}/{payment-product}/{paymentId}

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}
Response
{
  "debtorAccount": {
    "bban": "101408",
    "iban": "GB12DEMO60161300101408",
    "currency": "EUR"
  },
  "creditorAddress": {},
  "creditorName": "Zeus",
  "transactionStatus": "RCVD",
  "creditorAccount": {
    "iban": "GB38DEMO60161300106372",
    "currency": "GBP"
  },
  "instructedAmount": {
    "amount": "100",
    "currency": "GBP"
  },
  "debtorName": "Harry Crisp",
  "remittanceInformationUnstructured": "TPS-testing-9"
}          
PAYMENT CANCELLATION REQUEST
This API is used to initiate the cancellation of a payment.

DELETE/v1/{payment-service}/{payment-product}/{paymentId}

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}
Response
{
  "transactionStatus": "CANC",
  "_links": {
    "scaStatus": {
      "href": "/v1/payments/sepa-credit-transfers/PI2010806T8D9TMM/cancellation-authorisations/PI2010806T8D9TMM-CANC-1"
    },
    "self": {
      "href": "/v1/payments/sepa-credit-transfers"
    },
    "status": {
      "href": "/v1/payments/sepa-credit-transfers/PI2010806T8D9TMM/status"
    }
  }
}
PAYMENT STATUS REQUEST
This API is used to retrieve the transaction status of a payment object at the ASPSP.

GET/v1/{payment-service}/{payment-product}/{paymentId}/status

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}/status
Response
{
  "transactionStatus": "ACSP"
}             
PAYMENT INITIATION AUTHORISATION
This API is used to create an authorisation sub-resource and start the authorisation process.

POST/v1/{payment-service}/{payment-product}/{paymentId}/authorisations

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}/authorisations
Request
-
   
Sample Response
{
  "scaStatus": "started",
  "_links": {
    "scaStatus": {
      "href": "/v1/payments/sepa-credit-transfers/PI201080NQ0MMQFY/authorisations/PI201080NQ0MMQFY-AUTH-1"
    },
    "scaRedirect": {
      "href": "https://www.temenosbank.com/Login"
    },
    "self": {
      "href": "/v1/payments/sepa-credit-transfers/PI201080NQ0MMQFY/authorisations"
    },
    "status": {
      "href": "/v1/payments/sepa-credit-transfers/PI201080NQ0MMQFY/status"
    }
  }
}
GET AUTHORISATION SUB-RESOURCES
This API is used to retrieve all the authorisation sub-resource IDs which have been created in the authorisation process.

GET/v1/{payment-service}/{payment-product}/{paymentId}/authorisations

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}/authorisations
Response
{
  "authorisationIds": [
    "PI2010806T8DDZ0W-AUTH-1"
  ]
}          
GET SCA STATUS OF AUTHORISATION SUB-RESOURCE
This API is used to retrieve the SCA status of a payment initation's authorisation sub-resource IDs which have been created in the authorisation process.

GET/v1/{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId}

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId
Response
{
  "scaStatus": "finalised"
}         
PAYMENT CANCELLATION AUTHORISATION
This API is used to create an authorisation sub-resource and start the authorisation process.

POST/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations
Request
-
   
Sample Response
{
  "scaStatus": "finalised",
  "_links": {
    "scaStatus": {
      "href": "/v1/payments/sepa-credit-transfers/PI2010806T8DDZ0W/cancellation-authorisations/PI2010806T8DDZ0W-CANC-1"
    },
    "scaRedirect": {
      "href": "https://www.temenosbank.com/Login"
    },
    "self": {
      "href": "/v1/payments/sepa-credit-transfers/PI2010806T8DDZ0W/cancellation-authorisations"
    },
    "status": {
      "href": "/v1/payments/sepa-credit-transfers/PI2010806T8DDZ0W/status"
    }
  }
}
GET CANCELLATION AUTHORISATION SUB-RESOURCES
This API is used to retrieve all the cancellation authorisation sub-resource IDs which have been created in the cancellation authorisation process.

GET/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations
Response
{
  "cancellationIds": [
    "PI2010806T8DDZ0W-CANC-1"
  ]
}         
GET SCA STATUS OF CANCELLATION AUTHORISATION SUB-RESOURCE
This API is used to retrieve the SCA status of a payment cancellation's authorisation sub-resource ID which was created in the cancellation authorisation process.

GET/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations/{cancellationId}

Sample URL
http://127.0.0.1:9089/irf-psd2-BG-PX/api/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations/{cancellationId}
Response
{
  "scaStatus": "finalised"
}        

Payment Initiation

A regulated TPP can initiate a payment using the POST​/v1​/{payment-service}​/{payment-product} endpoint. The TPP must be regulated as a PISP to initiate such a request.

A brief overview of the parameters and allowed values are explained below.

{payment-service}

Allowed values under the Berlin Group are:

payments Creates single payments. This indicates the need to create a PO record (depending on the bank’s payment system).
periodic-payments Creates repetitive payments. This indicates the need to create a Standing Order (STO) record.
bulk-payments Create bulk payments. This indicates the need to create a FTBM (FT.BULK.MASTER) to record the bulk level details and PO records for the bulk items contained within the Bulk

{payment-product}

Allowed values under the Berlin Group (v1.3.4) are:

sepa-credit-transfers EU SEPA payments. Supported by PO or STO.
cross-border-credit-transfers Cross-border payments. Supported by PO or STO.
target-2-payments Supported by PO. Not supported by STO.
instant-sepa-credit-transfers Supported by PO. Not supported by STO.

To assist payment initiation for PSD2, the following versions are available.

Endpoint Payment System Temenos Transact Version
payments
POST/v1/payments/sepa-credit-transfer PAYMENT.ORDER PAYMENT.ORDER,PX.API.PAYMENT.INITIATE.SEPA.1.1.0
POST/v1/payments/cross-border-credit-transfer PAYMENT.ORDER PAYMENT.ORDER,PX.API.PAYMENT.INITIATE.CBCT.1.1.0
POST/v1/payments/target-2-payments PAYMENT.ORDER PAYMENT.ORDER,PX.API.PAYMENT.INITIATE.TGT.1.1.0
POST/v1/payments/instant-sepa-credit-transfers PAYMENT.ORDER PAYMENT.ORDER,PX.API.PAYMENT.INITIATE.INSTPAY.1.1.0
periodic-Payments
POST/v1/periodic-payments/sepa-credit-transfer STANDING.ORDER STANDING.ORDER,PX.API.SEPA.ONHOLD.1.0.0
POST/v1/periodic-payments/cross-border-credit-transfer STANDING.ORDER STANDING.ORDER,PX.API.CB.ONHOLD.1.0.0

When a payment record is initiated using the above endpoints, a corresponding record is created in PX.PYT.RESOURCE. The ID of the record matches that of the payment record.

Mapping for each API in Temenos Transact is explained below:

Payment Approval

If the user successfully authenticates and confirms the payment through the User Interface, the Payment Submit API (which is an internal API call), authorises the corresponding payment record in Temenos Transact and updates the payment status in PX.PYT.RESOURCE.

For Payment Cancellation, Payment Details and Payment Status flows, the system performs a mandatory check of real-time user permissions, before acknowledging the request.

Payment Deletion API

An underlying Payment Deletion can be performed in two instances when:

  • The user cancels the payment in the User Interface.
  • The TPP sends the DELETE/v1/{payment-service}/{payment-product}/{paymentId} request.

This API cancels the payment in Temenos Transact and updates the payment accordingly.

The corresponding PX.PYT.RESOURCE record status is updated to ‘CANC’ either by the User Interface (if cancelled using the User Interface) or through an API call when cancelled using the TPP (using the DELETE API).

The actual Payment Record (STANDING.ORDER/PAYMENT.ORDER record) is marked as cancelled accordingly.

Application Action in Temenos Transact
PAYMENT.ORDER Record remains in LIVE
Order Status is updated to CANCELLED.
Resource record status updated to ‘CANC’.
STANDING.ORDER Record deleted
Resource record status updated to ‘CANC’.

The system logic related to cancellation of payment records is as follows:

  • PAYMENT.ORDER can only be cancelled before the payment is moved to the payment system (when Order Status is PLACED).
  • STANDING.ORDER can only be cancelled if the payment is in INAU.

Payment Details API

A regulated TPP can request the details of a payment using the GET/v1/{payment-service}/{payment-product}/{paymentId} request. This call from the TPP retrieves the details of the specified Payment ID.

The system checks whether the TPP making the payment details request is the same as the TPP initiating the payment.

The underlying enquiry for both the Payment Details and Payment Status APIs is the same. The Published API fetches the relevant information needed for each call from the same dataset.

Payment Status API

A regulated TPP checks the status of a payment using the GET/v1/{payment-service}/{payment-product}/{paymentId}/status request. This call from the TPP retrieves the status of the specified payment ID.

The system checks whether the TPP making the status request is the same as the TPP initiating the payment.

The underlying enquiry for both the Payment Details and Payment Status APIs is the same. The incoming Published API fetches the relevant information needed for each call from the same dataset.

Additional APIs Related to Implicit and Explicit Authorisation Flows

Some additional APIs are included in the Berlin Group v1.3.4 to support authorisations workflows.

Bulk Payment APIs

A regulated PISP can initiate a bulk payment using the POST/v1/{payment-service}/{payment-product} endpoint.

The parameters and values are explained below:

  • {payment-service} – Denotes bulk payment and is supported by Payment Order.
  • {payment-product} – Allowed values for payment order are:
    • sepa-credit-transfers
    • cross-border-credit-transfers
    • target2-payments
    • instant-sepa-credit-transfers
  • When the TPP requests to initiate a bulk payment through the openbanking gateway, the system creates a record in the FT.BULK.MASTER application, including the payment details sent by the TPP, with an IHLD (created) status. In addition to this, the system creates records in PAYMENT.ORDER with a LIVE (waitmaster) status for the payments related to the bulk.
  • After successfully creating the bulk record, the system sends the response with the FTBM ID to the Gateway.
  • The system updates the Originating Source field to TPP in the FT.BULK.MASTER application.
  • The system creates a record in the PX.PYT.RESOURCE application with the same ID as the FT.BULK.MASTER record, holding additional payment details, including the Payment Status as RCVD.

To assist the bulk payment initiation for PSD2, the following transact artefacts are available:

Operation Service XML Temenos Transact Artefact URL
createBulkMaster order-PSD2-payments.service.v2.0.0.xml

FT.BULK.MASTER,PX.API.BG.1.3.PAYMENT.INITIATE.1.0.0

v2.0.0/order/PSD2/bulkPayments/

paymentsInitiation

createInstantBulkPaymentOrder order-PSD2-payments.service.v2.0.0.xml PAYMENT.ORDER,PX.API.BULK.INITIATE.INSTPAY.1.0.0 v2.0.0/order/PSD2/bulkPayments/

paymentOrderInitiation/

instantPayment

createSepaBulkPaymentOrder order-PSD2-payments.service.v2.0.0.xml PAYMENT.ORDER,PX.API.BULK.INITIATE.SEPA.1.0.0 v2.0.0/order/PSD2/bulkPayments

/paymentOrderInitiation/

SEPA

createTgtBulkPaymentOrder order-PSD2-payments.service.v2.0.0.xml PAYMENT.ORDER,PX.API.BULK.INITIATE.TGT.1.0.0 v2.0.0/order/PSD2/bulkPayments/

paymentOrderInitiation/

target2

createCbctBulkPaymentOrder order-PSD2-payments.service.v2.0.0.xml PAYMENT.ORDER,PX.API.BULK.INITIATE.CBCT.1.0.0 v2.0.0/order/PSD2/bulkPayments/

paymentOrderInitiation/

crossBorder

Copyright © 2020- Temenos Headquarters SA

Published on :
Sunday, March 23, 2025 1:04:42 PM IST