Tamara · Arazzo Workflow

Tamara Capture and Refund Order

Version 1.0.0

Capture funds against an authorised order, then issue a simplified refund.

1 workflow 1 source API 1 provider
View Spec View on GitHub BNPLBuy Now Pay LaterFintechPaymentsCheckoutShariah CompliantMENASaudi ArabiaUAEInstallmentsPay LaterMerchant ServicesOrderRefundsCaptureWebhookDisputesChannel PartnersE-CommercePoint-of-SaleArazzoWorkflows

Provider

tamara

Workflows

capture-and-refund-order
Capture an authorised Tamara order and then refund part or all of it.
Captures the supplied amount against an authorised order, then processes a partial or full simplified refund against that order.
2 steps inputs: captureAmount, merchantRefundId, merchantToken, orderId, refundAmount, refundComment, shippingInfo outputs: captureId, captureStatus, orderId, refundId, refundStatus
1
capture
captureOrder
Perform a full or partial capture against the authorised order, confirming shipment or fulfilment of items to the customer.
2
refund
simplifiedRefund
Process a partial or full refund against the captured order using the modern simplified-refund surface (no capture ids required).

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Tamara Capture and Refund Order
  summary: Capture funds against an authorised order, then issue a simplified refund.
  description: >-
    Chains the two money-movement steps a merchant runs after fulfilment changes.
    The workflow captures the supplied amount against an already-authorised order
    and then immediately issues a simplified refund against the same order using
    the modern refund surface, which does not require the caller to specify
    individual capture ids. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI descriptions.
  version: 1.0.0
sourceDescriptions:
- name: paymentsApi
  url: ../openapi/tamara-payments-api-openapi.yml
  type: openapi
workflows:
- workflowId: capture-and-refund-order
  summary: Capture an authorised Tamara order and then refund part or all of it.
  description: >-
    Captures the supplied amount against an authorised order, then processes a
    partial or full simplified refund against that order.
  inputs:
    type: object
    required:
    - merchantToken
    - orderId
    - captureAmount
    - shippingInfo
    - refundAmount
    - refundComment
    properties:
      merchantToken:
        type: string
        description: Tamara-issued merchant API bearer token.
      orderId:
        type: string
        description: The Tamara order_id (uuid) to capture then refund.
      captureAmount:
        type: object
        description: Money object (amount + currency) to capture.
      shippingInfo:
        type: object
        description: Shipping info (shipped_at, shipping_company, tracking_number, tracking_url).
      refundAmount:
        type: object
        description: Money object (amount + currency) to refund.
      refundComment:
        type: string
        description: Reason/comment recorded against the refund.
      merchantRefundId:
        type: string
        description: Optional merchant-side refund id for idempotency/reconciliation.
  steps:
  - stepId: capture
    description: >-
      Perform a full or partial capture against the authorised order, confirming
      shipment or fulfilment of items to the customer.
    operationId: captureOrder
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.merchantToken"
    requestBody:
      contentType: application/json
      payload:
        order_id: $inputs.orderId
        total_amount: $inputs.captureAmount
        shipping_info: $inputs.shippingInfo
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      captureId: $response.body#/capture_id
      captureStatus: $response.body#/status
      capturedAmount: $response.body#/captured_amount
  - stepId: refund
    description: >-
      Process a partial or full refund against the captured order using the modern
      simplified-refund surface (no capture ids required).
    operationId: simplifiedRefund
    parameters:
    - name: order_id
      in: path
      value: $inputs.orderId
    - name: Authorization
      in: header
      value: "Bearer $inputs.merchantToken"
    requestBody:
      contentType: application/json
      payload:
        total_amount: $inputs.refundAmount
        comment: $inputs.refundComment
        merchant_refund_id: $inputs.merchantRefundId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      refundId: $response.body#/refund_id
      refundStatus: $response.body#/status
      refundedAmount: $response.body#/refunded_amount
  outputs:
    orderId: $inputs.orderId
    captureId: $steps.capture.outputs.captureId
    captureStatus: $steps.capture.outputs.captureStatus
    refundId: $steps.refund.outputs.refundId
    refundStatus: $steps.refund.outputs.refundStatus

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/tamara-capture-and-refund-order-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.