Interswitch · Capability

Interswitch Refunds API — Refunds

Create and inspect full or partial refunds against successful Interswitch payments.

Interswitch Refunds API — Refunds is a Naftiko capability published by Interswitch, one of 12 capabilities the APIs.io network indexes for this provider. It bundles 2 operations across the POST and GET methods rooted at /v1/refunds.

The capability includes 1 read-only operation and 1 state-changing operation. Lead operation: Create a full or partial refund. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Interswitch and Refunds.

Run with Naftiko InterswitchRefunds

What You Can Do

POST
Createrefund
/v1/refunds
GET
Getrefund
/v1/refunds/{refundReference}

MCP Tools

interswitch-create-refund

Create a full or partial refund.

interswitch-get-refund

Get a refund by reference.

read-only idempotent

Capability Spec

refunds-refunds.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Interswitch Refunds API — Refunds
  description: Create and inspect full or partial refunds against successful Interswitch payments.
  tags:
  - Interswitch
  - Refunds
  created: '2026-05-24'
  modified: '2026-05-24'
binds:
- namespace: env
  keys:
    INTERSWITCH_BEARER_TOKEN: INTERSWITCH_BEARER_TOKEN
capability:
  consumes:
  - type: http
    namespace: refunds-refunds
    baseUri: https://qa.interswitchng.com
    resources:
    - name: refunds
      path: /paymentgateway/api/v1/refunds
      operations:
      - name: createRefund
        method: POST
        description: Create a full or partial refund.
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters:
        - { name: body, in: body, type: object, required: true }
    - name: refund-by-reference
      path: /paymentgateway/api/v1/refunds/{refundReference}
      operations:
      - name: getRefund
        method: GET
        description: Get a refund by reference.
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters:
        - { name: refundReference, in: path, type: string, required: true }
    authentication:
      type: apikey
      key: Authorization
      value: 'Bearer {{env.INTERSWITCH_BEARER_TOKEN}}'
      placement: header
  exposes:
  - type: rest
    namespace: refunds-refunds-rest
    port: 8080
    resources:
    - path: /v1/refunds
      name: refunds
      operations:
      - method: POST
        name: createRefund
        call: refunds-refunds.createRefund
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v1/refunds/{refundReference}
      name: refund-by-reference
      operations:
      - method: GET
        name: getRefund
        call: refunds-refunds.getRefund
        with: { refundReference: rest.path.refundReference }
        outputParameters: [{ type: object, mapping: $. }]
  - type: mcp
    namespace: refunds-refunds-mcp
    port: 9090
    transport: http
    tools:
    - name: interswitch-create-refund
      description: Create a full or partial refund.
      hints: { readOnly: false, destructive: true, idempotent: false }
      call: refunds-refunds.createRefund
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - name: interswitch-get-refund
      description: Get a refund by reference.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: refunds-refunds.getRefund
      with: { refundReference: tools.refundReference }
      outputParameters: [{ type: object, mapping: $. }]