Temenos · Arazzo Workflow

Temenos BNPL Generate Offer And Accept Into Loan

Version 1.0.0

Generate a buy-now-pay-later offer for a purchase and accept it into an active loan.

1 workflow 1 source API 1 provider
View Spec View on GitHub BankingCloud BankingCore BankingDigital BankingFinancial ServicesFintechOpen BankingPaymentsWealth ManagementArazzoWorkflows

Provider

temenos

Workflows

bnpl-offer-accept-loan
Generate a BNPL offer, accept it into a loan, and confirm the loan.
Generates a BNPL credit offer for a purchase, accepts the first offer to create the loan, and retrieves the loan to confirm its installment terms.
3 steps inputs: currency, customerId, merchantId, purchaseAmount, purchaseDescription outputs: decisionExplanation, loanId, loanStatus, offerId
1
generateOffer
createCreditOffer
Generate a BNPL credit offer for the purchase using Explainable AI decisioning.
2
acceptOffer
acceptCreditOffer
Accept the first returned offer to create the loan and trigger merchant settlement.
3
confirmLoan
getBnplLoan
Retrieve the created BNPL loan to confirm its installment schedule and status.

Source API Descriptions

Arazzo Workflow Specification

temenos-bnpl-offer-accept-loan-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Temenos BNPL Generate Offer And Accept Into Loan
  summary: Generate a buy-now-pay-later offer for a purchase and accept it into an active loan.
  description: >-
    Buy-now-pay-later checkout flow in Temenos. The workflow generates a BNPL
    credit offer for a customer's purchase using Explainable AI decisioning,
    accepts the first returned offer to create the loan and trigger merchant
    settlement, and then reads the resulting loan back to confirm its
    installment schedule and status. Every step inlines its request so the
    chain is self-describing.
  version: 1.0.0
sourceDescriptions:
- name: bnplApi
  url: ../openapi/temenos-bnpl-openapi.yml
  type: openapi
workflows:
- workflowId: bnpl-offer-accept-loan
  summary: Generate a BNPL offer, accept it into a loan, and confirm the loan.
  description: >-
    Generates a BNPL credit offer for a purchase, accepts the first offer to
    create the loan, and retrieves the loan to confirm its installment terms.
  inputs:
    type: object
    required:
    - customerId
    - purchaseAmount
    - currency
    properties:
      customerId:
        type: string
        description: Customer identifier requesting the BNPL offer.
      merchantId:
        type: string
        description: Merchant identifier for the purchase.
      purchaseAmount:
        type: number
        description: Purchase amount to finance.
      currency:
        type: string
        description: Purchase currency in ISO 4217 format.
      purchaseDescription:
        type: string
        description: Description of the purchase being financed.
  steps:
  - stepId: generateOffer
    description: >-
      Generate a BNPL credit offer for the purchase using Explainable AI
      decisioning.
    operationId: createCreditOffer
    requestBody:
      contentType: application/json
      payload:
        customerId: $inputs.customerId
        merchantId: $inputs.merchantId
        purchaseAmount: $inputs.purchaseAmount
        currency: $inputs.currency
        purchaseDescription: $inputs.purchaseDescription
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      offerId: $response.body#/offers/0/offerId
      decisionExplanation: $response.body#/decisionExplanation
  - stepId: acceptOffer
    description: >-
      Accept the first returned offer to create the loan and trigger merchant
      settlement.
    operationId: acceptCreditOffer
    parameters:
    - name: offerId
      in: path
      value: $steps.generateOffer.outputs.offerId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      loanId: $response.body#/loanId
      status: $response.body#/status
  - stepId: confirmLoan
    description: >-
      Retrieve the created BNPL loan to confirm its installment schedule and
      status.
    operationId: getBnplLoan
    parameters:
    - name: loanId
      in: path
      value: $steps.acceptOffer.outputs.loanId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      loanId: $response.body#/loanId
      outstandingBalance: $response.body#/outstandingBalance
      numberOfInstallments: $response.body#/numberOfInstallments
      nextPaymentDate: $response.body#/nextPaymentDate
      status: $response.body#/status
  outputs:
    offerId: $steps.generateOffer.outputs.offerId
    loanId: $steps.confirmLoan.outputs.loanId
    decisionExplanation: $steps.generateOffer.outputs.decisionExplanation
    loanStatus: $steps.confirmLoan.outputs.status