Open (open.money) Refund API

The Refund API from Open (open.money) — 2 operation(s) for refund.

Operations 2

POST /refund/batch Batch Refund API #
GET /refund/batch/requery Requery Batch Refund #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/open-financial:open-financial-refund-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

open-financial-refund-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 1 Refund API
  version: '1'
servers:
- url: https://api.zwitch.io
security:
- sec0: []
tags:
- name: Refund
paths:
  /refund/batch:
    post:
      summary: Batch Refund API
      description: Initiates a batch of refunds in a single request. Each refund item is processed independently — some may succeed while others are rejected within the same batch.
      operationId: batch-refund-api
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - refund_batch_id
              - refunds
              properties:
                refund_batch_id:
                  type: string
                  description: Unique batch identifier from the merchant. Must not have been used before for this merchant.
                refunds:
                  type: array
                  description: List of refund items in the batch.
                  items:
                    properties:
                      payment_id:
                        type: string
                        description: Open PG transaction ID of the payment to refund.
                      amount:
                        type: number
                        description: Refund amount (supports decimals).
                        format: float
                      merchant_reference_id:
                        type: string
                        description: Unique reference ID per refund item from the merchant.
                    required:
                    - payment_id
                    - amount
                    - merchant_reference_id
                    type: object
            examples:
              Batch Refund:
                value:
                  refund_batch_id: BATCH-2026-001
                  refunds:
                  - payment_id: opg_abc1234567
                    amount: 500
                    merchant_reference_id: MER-REF-001
                  - payment_id: opg_xyz9876543
                    amount: 250
                    merchant_reference_id: MER-REF-002
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"batch_status\": \"success\",\n  \"refund_batch_id\": \"BATCH-2026-001\",\n  \"refunds\": [\n    {\n      \"refund_id\": \"rf_xxxxxxxxxxxx\",\n      \"amount\": 500.00,\n      \"refund_status\": \"request_initiated\",\n      \"message\": \"Request initiated successfully\",\n      \"merchant_reference_id\": \"MER-REF-001\"\n    },\n    {\n      \"refund_id\": \"rf_yyyyyyyyyyyy\",\n      \"amount\": 250.00,\n      \"refund_status\": \"rejected\",\n      \"message\": \"Payment is not in a refundable status\",\n      \"merchant_reference_id\": \"MER-REF-002\"\n    }\n  ]\n}\n\n"
              schema:
                type: object
                properties:
                  batch_status:
                    type: string
                    example: success
                  refund_batch_id:
                    type: string
                    example: BATCH-2026-001
                  refunds:
                    type: array
                    items:
                      type: object
                      properties:
                        refund_id:
                          type: string
                          example: rf_xxxxxxxxxxxx
                        amount:
                          type: integer
                          example: 500
                          default: 0
                        refund_status:
                          type: string
                          example: request_initiated
                        message:
                          type: string
                          example: Request initiated successfully
                        merchant_reference_id:
                          type: string
                          example: MER-REF-001
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Refund
  /refund/batch/requery:
    get:
      summary: Requery Batch Refund
      description: ''
      operationId: requery-batch-refund
      parameters:
      - name: refund_batch_id
        in: query
        description: Fetch all refunds belonging to a batch.
        schema:
          type: string
      - name: refund_id
        in: query
        description: Fetch a single refund by its system-generated ID.
        schema:
          type: string
      - name: merchant_reference_id
        in: query
        description: Fetch a single refund by the merchant's reference ID.
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"refund_batch_id\": \"BATCH-2026-001\",\n  \"refunds\": [\n    {\n      \"refund_id\": \"rf_xxxxxxxxxxxx\",\n      \"payment_id\": \"opg_abc1234567\",\n      \"amount\": 500.00,\n      \"refund_status\": \"request_initiated\",\n      \"merchant_reference_id\": \"MER-REF-001\",\n      \"refund_batch_id\": \"BATCH-2026-001\"\n    }\n  ]\n}\n\n"
              schema:
                type: object
                properties:
                  refund_batch_id:
                    type: string
                    example: BATCH-2026-001
                  refunds:
                    type: array
                    items:
                      type: object
                      properties:
                        refund_id:
                          type: string
                          example: rf_xxxxxxxxxxxx
                        payment_id:
                          type: string
                          example: opg_abc1234567
                        amount:
                          type: integer
                          example: 500
                          default: 0
                        refund_status:
                          type: string
                          example: request_initiated
                        merchant_reference_id:
                          type: string
                          example: MER-REF-001
                        refund_batch_id:
                          type: string
                          example: BATCH-2026-001
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Refund
components:
  securitySchemes:
    sec0:
      type: apiKey
      name: Authorization
      in: header
      x-bearer-format: bearer
      x-default: ''
x-readme-fauxas: true
x-provenance:
  method: searched
  source: https://developers.zwitch.io/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developers.zwitch.io/reference/accounts-get-all.md
  - https://developers.zwitch.io/reference/accounts-get-balance.md
  - https://developers.zwitch.io/reference/accounts-get-by-id.md
  - https://developers.zwitch.io/reference/accounts-get-statement.md
  - https://developers.zwitch.io/reference/accounts-virtual-deactivate.md
  - https://developers.zwitch.io/reference/accounts-virtual-test-balance.md
  - https://developers.zwitch.io/reference/bank-account-verification-copy-1.md
  - https://developers.zwitch.io/reference/batch-refund-api.md
  - https://developers.zwitch.io/reference/beneficiaries-bank-account-create.md
  - https://developers.zwitch.io/reference/beneficiaries-delete.md
  - https://developers.zwitch.io/reference/beneficiaries-get-all.md
  - https://developers.zwitch.io/reference/beneficiaries-get-by-id.md
  - https://developers.zwitch.io/reference/beneficiaries-update.md
  - https://developers.zwitch.io/reference/constants-business-categories.md
  - https://developers.zwitch.io/reference/constants-business-types.md
  - https://developers.zwitch.io/reference/constants-ifsc.md
  - https://developers.zwitch.io/reference/constants-state-codes.md
  - https://developers.zwitch.io/reference/create-payment-token.md
  - https://developers.zwitch.io/reference/get-all-sub-accounts.md
  - https://developers.zwitch.io/reference/get-sub-account-by-id.md
  - https://developers.zwitch.io/reference/requery-batch-refund.md
  - https://developers.zwitch.io/reference/status-check-api-with-payment_token.md
  - https://developers.zwitch.io/reference/transfers-bulk-by-id.md
  - https://developers.zwitch.io/reference/transfers-bulk-create.md
  - https://developers.zwitch.io/reference/transfers-bulk-get-all.md
  - https://developers.zwitch.io/reference/transfers-get-all.md
  - https://developers.zwitch.io/reference/transfers-get-by-id.md
  - https://developers.zwitch.io/reference/transfers-virtual-accounts-create-to-account-beneficiary.md
  - https://developers.zwitch.io/reference/update-sub-account.md
  - https://developers.zwitch.io/reference/upi-qr-intent-string.md
  - https://developers.zwitch.io/reference/verifications-bank-account-create.md
  - https://developers.zwitch.io/reference/verifications-name-create.md
  - https://developers.zwitch.io/reference/verifications-pan-create.md
  - https://developers.zwitch.io/reference/verifications-vpa-create.md
  - https://developers.zwitch.io/reference/webhooks-get-all-events.md
  merge:
    pages: 35
    deduped: 34
    conflicts_kept_first: 1