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