Temenos · Arazzo Workflow

Temenos Cloud Banking Open Commercial Account And Pay

Version 1.0.0

Open a commercial banking account and make a payment from it.

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

Provider

temenos

Workflows

open-account-make-payment
Open a commercial account and make a payment from it.
Opens a commercial banking account for a customer and issues a payment from the new account, returning the initiated payment identifier and status.
2 steps inputs: amount, beneficiaryAccountId, beneficiaryName, currency, customerId, productId, reference outputs: accountId, paymentId, paymentStatus
1
openAccount
createCmbAccount
Open a commercial banking account for the corporate customer.
2
makePayment
createCmbPayment
Make a payment from the newly opened account to the supplied beneficiary.

Source API Descriptions

Arazzo Workflow Specification

temenos-cloud-banking-account-payment-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Temenos Cloud Banking Open Commercial Account And Pay
  summary: Open a commercial banking account and make a payment from it.
  description: >-
    Commercial banking flow in Temenos Cloud Banking. The workflow opens a
    commercial account for a corporate customer against a product and currency,
    then makes a payment from that account to a named beneficiary, returning the
    initiated payment's identifier and status. Every step inlines its request so
    the chain is self-describing.
  version: 1.0.0
sourceDescriptions:
- name: cloudBankingApi
  url: ../openapi/temenos-cloud-banking-openapi.yml
  type: openapi
workflows:
- workflowId: open-account-make-payment
  summary: Open a commercial account and make a payment from it.
  description: >-
    Opens a commercial banking account for a customer and issues a payment from
    the new account, returning the initiated payment identifier and status.
  inputs:
    type: object
    required:
    - customerId
    - productId
    - currency
    - amount
    properties:
      customerId:
        type: string
        description: Corporate customer identifier.
      productId:
        type: string
        description: Product identifier defining the account type.
      currency:
        type: string
        description: Account and payment currency in ISO 4217 format.
      beneficiaryName:
        type: string
        description: Beneficiary name for the payment.
      beneficiaryAccountId:
        type: string
        description: Beneficiary account identifier for the payment.
      amount:
        type: number
        description: Payment amount.
      reference:
        type: string
        description: Payment reference.
  steps:
  - stepId: openAccount
    description: Open a commercial banking account for the corporate customer.
    operationId: createCmbAccount
    requestBody:
      contentType: application/json
      payload:
        customerId: $inputs.customerId
        productId: $inputs.productId
        currency: $inputs.currency
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      accountId: $response.body#/accountId
  - stepId: makePayment
    description: >-
      Make a payment from the newly opened account to the supplied beneficiary.
    operationId: createCmbPayment
    requestBody:
      contentType: application/json
      payload:
        debitAccountId: $steps.openAccount.outputs.accountId
        beneficiaryName: $inputs.beneficiaryName
        beneficiaryAccountId: $inputs.beneficiaryAccountId
        amount: $inputs.amount
        currency: $inputs.currency
        reference: $inputs.reference
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      paymentId: $response.body#/paymentId
      status: $response.body#/status
      errorCode: $response.body#/errorCode
  outputs:
    accountId: $steps.openAccount.outputs.accountId
    paymentId: $steps.makePayment.outputs.paymentId
    paymentStatus: $steps.makePayment.outputs.status