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: $. }]