Paymentsense · Arazzo Workflow

Paymentsense Pay-At-Counter — take a card payment

Version 1.0.0

List a terminal, start a card transaction on it, and poll to the outcome.

1 workflow 1 source API 1 provider
View Spec View on GitHub PaymentsUnited KingdomPayment GatewayPayment ProcessingCard PaymentsAcquiringPoint of SaleIn-Person PaymentsArazzoWorkflows

Provider

paymentsense

Workflows

pacTakePayment
Take an in-person Pay-At-Counter card payment and confirm the result.
3 steps inputs: amount, transactionType outputs: requestId, status
1
listTerminals
PACTerminals
2
startTransaction
TransactionOnTID
3
pollTransaction
GetTransactionWithRequestId

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Paymentsense Pay-At-Counter — take a card payment
  version: 1.0.0
  summary: List a terminal, start a card transaction on it, and poll to the outcome.
sourceDescriptions:
  - name: connectV2
    url: ../openapi/paymentsense-connect-v2.json
    type: openapi
workflows:
  - workflowId: pacTakePayment
    summary: Take an in-person Pay-At-Counter card payment and confirm the result.
    inputs:
      type: object
      properties:
        amount:
          type: integer
          description: Minor units (pence).
        transactionType:
          type: string
          default: SALE
      required: [amount]
    steps:
      - stepId: listTerminals
        operationId: PACTerminals
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          tid: $response.body[0].tid
      - stepId: startTransaction
        operationId: TransactionOnTID
        parameters:
          - name: tid
            in: path
            value: $steps.listTerminals.outputs.tid
        requestBody:
          contentType: application/json
          payload:
            amount: $inputs.amount
            transactionType: $inputs.transactionType
        successCriteria:
          - condition: $statusCode == 202
        outputs:
          requestId: $response.body.requestId
      - stepId: pollTransaction
        operationId: GetTransactionWithRequestId
        parameters:
          - name: tid
            in: path
            value: $steps.listTerminals.outputs.tid
          - name: requestId
            in: path
            value: $steps.startTransaction.outputs.requestId
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          status: $response.body.transactionResult
    outputs:
      requestId: $steps.startTransaction.outputs.requestId
      status: $steps.pollTransaction.outputs.status