openapi: 3.1.0 info: title: Temenos Buy Now Pay Later Accounts Payment Orders API description: APIs for buy now pay later services with embedded Explainable AI for automated decisioning and credit offer matching. Supports interest-free and interest-bearing BNPL products with point-of-sale integration and full loan lifecycle management. Core banking agnostic and deployable on Temenos Banking Cloud. version: 1.0.0 contact: name: Temenos Developer Support url: https://developer.temenos.com/ email: api.support@temenos.com license: name: Temenos Terms of Service url: https://www.temenos.com/legal-information/website-terms-and-conditions/ termsOfService: https://www.temenos.com/legal-information/website-terms-and-conditions/ servers: - url: https://api.temenos.com/bnpl/v1 description: Temenos BNPL API - Production security: - bearerAuth: [] tags: - name: Payment Orders description: Initiate, view, and manage payment orders for domestic and international fund transfers with support for SEPA, SWIFT, and internal transfers. paths: /paymentOrders: get: operationId: listPaymentOrders summary: List Payment Orders description: Retrieve a list of payment orders with optional filtering by status, date range, payment type, and originating account. Returns payment details including amounts, beneficiary information, and processing status. tags: - Payment Orders parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' - name: accountId in: query description: Filter by originating account identifier schema: type: string - name: status in: query description: Filter by payment order status schema: type: string enum: - PENDING - PROCESSING - COMPLETED - FAILED - CANCELLED - name: paymentType in: query description: Filter by payment type schema: type: string enum: - SEPA_CREDIT - INSTANT_SEPA - SWIFT - DOMESTIC - INTERNAL - name: dateFrom in: query description: Filter payments from this date schema: type: string format: date - name: dateTo in: query description: Filter payments up to this date schema: type: string format: date responses: '200': description: Successful retrieval of payment orders content: application/json: schema: type: object properties: header: $ref: '#/components/schemas/PaginationHeader' body: type: array items: $ref: '#/components/schemas/PaymentOrder' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createPaymentOrder summary: Create Payment Order description: Initiate a new payment order for fund transfer. Supports SEPA credit transfers, instant SEPA payments, SWIFT cross-border transfers, domestic payments, and internal account-to-account transfers. Validates payment details, beneficiary information, and available balance before processing. tags: - Payment Orders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PaymentOrderCreate' responses: '201': description: Payment order created successfully content: application/json: schema: $ref: '#/components/schemas/PaymentOrder' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /paymentOrders/{paymentOrderId}: get: operationId: getPaymentOrder summary: Get Payment Order Details description: Retrieve detailed information for a specific payment order including processing status, clearing details, and beneficiary information. tags: - Payment Orders parameters: - $ref: '#/components/parameters/paymentOrderId' responses: '200': description: Successful retrieval of payment order details content: application/json: schema: $ref: '#/components/schemas/PaymentOrder' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /paymentOrders/{paymentOrderId}/status: get: operationId: getPaymentOrderStatus summary: Get Payment Order Status description: Retrieve the current processing status of a payment order including clearing status, booking confirmation, and any error details. tags: - Payment Orders parameters: - $ref: '#/components/parameters/paymentOrderId' responses: '200': description: Successful retrieval of payment status content: application/json: schema: $ref: '#/components/schemas/PaymentStatus' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: PaymentStatus: type: object description: Payment order processing status properties: paymentOrderId: type: string description: Payment order identifier status: type: string description: Current processing status enum: - PENDING - PROCESSING - COMPLETED - FAILED - CANCELLED clearingStatus: type: string description: Clearing system status bookingStatus: type: string description: Account booking status enum: - BOOKED - PENDING - REJECTED statusReason: type: string description: Reason for current status lastUpdated: type: string format: date-time description: Timestamp of last status update PaginationHeader: type: object description: Pagination metadata for list responses properties: page_size: type: integer description: Number of records per page page_start: type: integer description: Starting record number total_size: type: integer description: Total number of records available PaymentOrder: type: object description: Payment order for fund transfer properties: paymentOrderId: type: string description: Unique payment order identifier debitAccountId: type: string description: Originating account identifier creditAccountId: type: string description: Destination account identifier amount: type: number format: double description: Payment amount currency: type: string description: Payment currency in ISO 4217 format pattern: ^[A-Z]{3}$ paymentType: type: string description: Type of payment enum: - SEPA_CREDIT - INSTANT_SEPA - SWIFT - DOMESTIC - INTERNAL - TARGET2 - CROSS_BORDER status: type: string description: Current payment order status enum: - PENDING - PROCESSING - COMPLETED - FAILED - CANCELLED valueDate: type: string format: date description: Value date for the payment executionDate: type: string format: date description: Actual execution date reference: type: string description: Payment reference maxLength: 140 endToEndId: type: string description: End-to-end identifier for ISO 20022 tracking beneficiaryName: type: string description: Beneficiary name beneficiaryIban: type: string description: Beneficiary IBAN beneficiaryBic: type: string description: Beneficiary bank BIC/SWIFT code remittanceInformation: type: string description: Remittance information for the payment PaymentOrderCreate: type: object description: Request body for creating a payment order required: - debitAccountId - amount - currency - paymentType properties: debitAccountId: type: string description: Originating account identifier creditAccountId: type: string description: Destination account identifier for internal transfers beneficiaryName: type: string description: Beneficiary name for external transfers beneficiaryIban: type: string description: Beneficiary IBAN beneficiaryBic: type: string description: Beneficiary bank BIC/SWIFT code amount: type: number format: double description: Payment amount minimum: 0.01 currency: type: string description: Payment currency in ISO 4217 format pattern: ^[A-Z]{3}$ paymentType: type: string description: Type of payment enum: - SEPA_CREDIT - INSTANT_SEPA - SWIFT - DOMESTIC - INTERNAL - TARGET2 - CROSS_BORDER valueDate: type: string format: date description: Requested value date reference: type: string description: Payment reference maxLength: 140 endToEndId: type: string description: End-to-end identifier maxLength: 35 remittanceInformation: type: string description: Remittance information maxLength: 140 Error: type: object description: Error response properties: errorCode: type: string description: Machine-readable error code errorMessage: type: string description: Human-readable error description responses: Unauthorized: description: Authentication required or invalid credentials content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Requested resource not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: pageStart: name: page_start in: query description: Starting record number for pagination schema: type: integer minimum: 0 default: 0 pageSize: name: page_size in: query description: Number of records to return per page schema: type: integer minimum: 1 maximum: 100 default: 25 paymentOrderId: name: paymentOrderId in: path required: true description: Unique payment order identifier schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT externalDocs: description: Temenos BNPL API Documentation url: https://developer.temenos.com/service/buy-now-pay-later