Adopets · Arazzo Workflow

Refund an adoption payment transaction (Adopets External API)

Version 1.0.0

Connect a staff user, look up a payment transaction by uuid, then issue a refund. Grounded in real operationIds from the Adopets External API.

1 workflow 1 source API 1 provider
View Spec View on GitHub Pet AdoptionAnimal WelfareShelters and RescuesAdoption ManagementPaymentsNonprofit TechnologySaaSCompanyArazzoWorkflows

Provider

adopets

Workflows

refund-transaction
Connect, fetch a transaction, and refund it (in whole or in part).
3 steps inputs: amount, email, reason, role, transaction_uuid outputs: refunded_uuid
1
connect
connectExternalSystemUser
2
get-transaction
getPaymentTransaction
3
refund
refundPaymentTransaction

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Refund an adoption payment transaction (Adopets External API)
  version: 1.0.0
  description: >-
    Connect a staff user, look up a payment transaction by uuid, then issue a refund. Grounded
    in real operationIds from the Adopets External API.
sourceDescriptions:
  - name: adopets
    url: ../openapi/adopets-external-openapi.yml
    type: openapi
workflows:
  - workflowId: refund-transaction
    summary: Connect, fetch a transaction, and refund it (in whole or in part).
    inputs:
      type: object
      properties:
        email: { type: string }
        role: { type: string }
        transaction_uuid: { type: string }
        amount: { type: number }
        reason: { type: string }
    steps:
      - stepId: connect
        operationId: connectExternalSystemUser
        requestBody:
          contentType: application/json
          payload:
            email: $inputs.email
            role: $inputs.role
        outputs:
          session: $response.body#/data/authorization
      - stepId: get-transaction
        operationId: getPaymentTransaction
        requestBody:
          contentType: application/json
          payload:
            uuid: $inputs.transaction_uuid
      - stepId: refund
        operationId: refundPaymentTransaction
        requestBody:
          contentType: application/json
          payload:
            uuid: $inputs.transaction_uuid
            type_key: SHELTER_FUNDS
            reason: $inputs.reason
            amount: $inputs.amount
    outputs:
      refunded_uuid: $inputs.transaction_uuid