Till Payments · Arazzo Workflow

Till Payments — authorize and capture

Version 1.0.0

Preauthorize a card payment, then capture the reserved funds, on the Till Payments Gateway V3 API.

1 workflow 1 source API 1 provider
View Spec View on GitHub PaymentsAustraliaPayment GatewayPayment ProcessingAcquiringMerchant ServicesCard PaymentsIn-Person PaymentsArazzoWorkflows

Provider

till-payments

Workflows

authorizeAndCapture
Reserve funds with a preauthorization then settle them with a capture.
2 steps inputs: amount, apiKey, currency, merchantTransactionId, transactionToken outputs: authorizationUuid, captureUuid
1
preauthorize
processPreauthorize
Authorize (reserve) funds.
2
capture
processCapture
Capture the previously authorized amount.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Till Payments — authorize and capture
  version: 1.0.0
  summary: Preauthorize a card payment, then capture the reserved funds, on the Till Payments Gateway V3 API.
sourceDescriptions:
  - name: gateway
    url: ../openapi/till-payments-gateway.yml
    type: openapi
workflows:
  - workflowId: authorizeAndCapture
    summary: Reserve funds with a preauthorization then settle them with a capture.
    inputs:
      type: object
      properties:
        apiKey:
          type: string
          description: Per-connector API key (path parameter).
        merchantTransactionId:
          type: string
          description: Unique merchant transaction id for the authorization.
        amount:
          type: string
        currency:
          type: string
        transactionToken:
          type: string
          description: Stored payment instrument token (ix::...).
    steps:
      - stepId: preauthorize
        description: Authorize (reserve) funds.
        operationId: processPreauthorize
        parameters:
          - name: apiKey
            in: path
            value: $inputs.apiKey
        requestBody:
          contentType: application/json
          payload:
            merchantTransactionId: $inputs.merchantTransactionId
            amount: $inputs.amount
            currency: $inputs.currency
            transactionToken: $inputs.transactionToken
        outputs:
          uuid: $response.body#/uuid
          returnType: $response.body#/returnType
      - stepId: capture
        description: Capture the previously authorized amount.
        operationId: processCapture
        parameters:
          - name: apiKey
            in: path
            value: $inputs.apiKey
        requestBody:
          contentType: application/json
          payload:
            merchantTransactionId: $inputs.merchantTransactionId
            referenceUuid: $steps.preauthorize.outputs.uuid
            amount: $inputs.amount
            currency: $inputs.currency
        outputs:
          captureUuid: $response.body#/uuid
    outputs:
      authorizationUuid: $steps.preauthorize.outputs.uuid
      captureUuid: $steps.capture.outputs.captureUuid