> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tagada.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Refund payment

> Process a full or partial refund for a payment



## OpenAPI

````yaml /openapi.json post /api/public/v1/payments/refund
openapi: 3.0.3
info:
  title: TagadaPay API
  description: >-

    # TagadaPay API Documentation


    Welcome to the TagadaPay API. This REST API lets you process payments,
    manage subscriptions, handle customers, deploy plugins, and orchestrate
    checkout funnels — all programmatically.


    ## Authentication


    Authenticate every request with a Bearer token. Get your API key from the
    [TagadaPay Dashboard](https://app.tagada.io).


    ```

    Authorization: Bearer your-api-key

    ```


    All requests must be made over HTTPS with `Content-Type: application/json`.


    ## Rate Limits


    | Plan | Requests/min | Burst |

    |------|-------------|-------|

    | Standard | 100 | 150 |

    | Premium | 500 | 750 |


    Exceeding the limit returns `429 Too Many Requests`.


    ## Errors


    | Code | Meaning |

    |------|---------|

    | 400 | Bad request — invalid parameters |

    | 401 | Unauthorized — missing or invalid API key |

    | 403 | Forbidden — insufficient permissions |

    | 404 | Not found |

    | 409 | Conflict |

    | 429 | Rate limited |

    | 500 | Server error |


    ## Support


    - Email: api-support@tagada.io

    - Docs: [docs.tagadapay.com](https://docs.tagadapay.com)
        
  version: 1.0.0
servers:
  - url: https://api.tagada.io/
    description: Production
  - url: https://api.tagada.dev/
    description: Sandbox / Development
security:
  - bearerAuth: []
tags:
  - name: auth
    description: Test your API key and verify authentication.
  - name: stores
    description: Create and manage stores within your account.
  - name: products
    description: Create products with variants, prices, and currency options.
  - name: customers
    description: Manage customer records, addresses, and payment instruments.
  - name: orders
    description: List and retrieve orders with line items, payments, and metadata.
  - name: payments
    description: Process, list, refund, void, and dispute payments.
  - name: subscriptions
    description: >-
      Create and manage recurring subscriptions — billing, cancellation,
      rebilling, and processor changes.
  - name: payment-flows
    description: Configure payment routing strategies with cascading processor fallbacks.
  - name: payment-instruments
    description: >-
      Manage stored payment methods — cards, bank accounts, and tokenized
      instruments.
  - name: processors
    description: List connected payment processors (Stripe, NMI, Checkout.com, etc.).
  - name: promotions
    description: Create and manage discount promotions with rules and conditions.
  - name: promotion-codes
    description: Generate and manage reusable promotion/coupon codes.
  - name: block-rules
    description: >-
      Configure fraud prevention rules to block transactions by IP, email, card
      BIN, country, etc.
  - name: webhooks
    description: Register webhook endpoints to receive real-time event notifications.
  - name: events
    description: Query application events, statistics, and audit logs.
  - name: domains
    description: Add, verify, and manage custom domains for your checkout and funnels.
  - name: funnels
    description: >-
      Create and manage checkout funnels with routing, A/B testing, and CDN
      deployment.
  - name: funnel-sessions
    description: Retrieve funnel session data for analytics and debugging.
  - name: funnel-tracking
    description: Track funnel step events for conversion analytics.
  - name: plugins
    description: Deploy, manage, and configure checkout plugins.
  - name: plugins-v2
    description: >-
      V2 plugin system — deploy, mount, split-test, fork, promote, and manage
      plugin instances.
  - name: checkout
    description: >-
      Initialize checkout sessions and process payments through the hosted
      checkout.
  - name: 3ds
    description: >-
      3D Secure authentication — create sessions, authenticate, and handle
      challenges.
  - name: builder
    description: Generate and validate builder session tokens for the visual page editor.
  - name: health
    description: API health check endpoint.
  - name: test
    description: Test and debugging utilities for the event system (sandbox only).
paths:
  /api/public/v1/payments/refund:
    post:
      tags:
        - payments
      summary: Refund payment
      description: Process a full or partial refund for a payment
      operationId: post-api-public-v1-payments-refund
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                paymentIds:
                  type: array
                  items:
                    type: string
                amount:
                  type: number
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                cancelSubscription:
                  type: boolean
                dispute:
                  type: object
                  properties:
                    disputeStatus:
                      type: string
                      enum:
                        - response-needed
                        - under-review
                        - forfeited
                        - won
                        - lost
                        - unknown
                        - refunded
                        - refunded_externally
                    disputeType:
                      type: string
                      enum:
                        - information-request
                        - first-chargeback
                        - second-chargeback
                        - fraud
                        - ethoca-alert
                        - verifi-alert
                        - paypal-claim
                        - representment
                        - rdr
                    disputeReasonCode:
                      type: string
                      enum:
                        - '0'
                        - '00'
                        - '1'
                        - '2'
                        - '3'
                        - '4'
                        - '5'
                        - '6'
                        - '7'
                        - '8'
                        - '9'
                        - '10.1'
                        - '10.2'
                        - '10.3'
                        - '10.4'
                        - '10.5'
                        - '11.1'
                        - '11.2'
                        - '11.3'
                        - '12'
                        - '12.1'
                        - '12.2'
                        - '12.3'
                        - '12.4'
                        - '12.5'
                        - '12.6'
                        - '12.7'
                        - '13.1'
                        - '13.2'
                        - '13.3'
                        - '13.4'
                        - '13.5'
                        - '13.6'
                        - '13.7'
                        - '13.8'
                        - '13.9'
                        - '30'
                        - '31'
                        - '34'
                        - '35'
                        - '37'
                        - '40'
                        - '41'
                        - '42'
                        - '46'
                        - '47'
                        - '49'
                        - '50'
                        - '51'
                        - '53'
                        - '54'
                        - '55'
                        - '57'
                        - '59'
                        - '60'
                        - '62'
                        - '63'
                        - '70'
                        - '71'
                        - '72'
                        - '73'
                        - '74'
                        - '75'
                        - '76'
                        - '77'
                        - '78'
                        - '79'
                        - '80'
                        - '81'
                        - '82'
                        - '83'
                        - '85'
                        - '86'
                        - '93'
                        - '98'
                        - '1000'
                        - '2700'
                        - '2702'
                        - A
                        - A01
                        - A02
                        - A08
                        - AL
                        - AP
                        - AW
                        - B
                        - C02
                        - C04
                        - C05
                        - C08
                        - C14
                        - C18
                        - C28
                        - C31
                        - C32
                        - CA
                        - CD
                        - CR
                        - DA
                        - DP
                        - DP1
                        - EX
                        - F10
                        - F14
                        - F22
                        - F24
                        - F29
                        - FR1
                        - FR4
                        - FR6
                        - IC
                        - IN
                        - IS
                        - LP
                        - M01
                        - M10
                        - M49
                        - 'N'
                        - NA
                        - NC
                        - P
                        - P01
                        - P03
                        - P04
                        - P05
                        - P07
                        - P08
                        - P22
                        - P23
                        - R03
                        - R13
                        - RG
                        - RM
                        - RN1
                        - RN2
                        - SV
                        - TF
                        - TNM
                        - UA01
                        - UA02
                        - UA03
                        - UA10
                        - UA11
                        - UA12
                        - UA18
                        - UA20
                        - UA21
                        - UA22
                        - UA23
                        - UA28
                        - UA30
                        - UA31
                        - UA32
                        - UA38
                        - UA99
                        - bank_cannot_process
                        - credit_not_processed
                        - customer_initiated
                        - debit_not_authorized
                        - duplicate
                        - fraudulent
                        - general
                        - incorrect_account_details
                        - insufficient_funds
                        - pre-chargeback-alert
                        - product_not_received
                        - product_unacceptable
                        - subscription_canceled
                        - unrecognized
                    disputedTransactionId:
                      type: string
                    disputeNote:
                      type: string
                  required:
                    - disputeStatus
                    - disputeType
                    - disputeReasonCode
                  additionalProperties: false
                blacklistCustomer:
                  type: boolean
              required:
                - paymentIds
              additionalProperties: false
            examples:
              full:
                summary: Full refund
                value:
                  paymentId: pay_123xyz
                  refundAll: true
                  metadata:
                    reason: Customer request
                    initiatedBy: merchant
              partial:
                summary: Partial refund
                value:
                  paymentId: pay_123xyz
                  amount: 1500
                  metadata:
                    reason: Partial return
                    initiatedBy: merchant
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema: {}
              examples:
                success:
                  summary: Successful refund
                  value:
                    id: pay_123xyz
                    refundedAmount: 1500
                    status: partially_refunded
                    refund:
                      id: ref_456
                      amount: 1500
                      currency: USD
                      status: succeeded
                      createdAt: '2024-03-20T10:30:00Z'
        default:
          $ref: '#/components/responses/error'
      security:
        - bearerAuth: []
components:
  responses:
    error:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              issues:
                type: array
                items:
                  type: object
                  properties:
                    message:
                      type: string
                  required:
                    - message
                  additionalProperties: false
            required:
              - message
              - code
            additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Enter your API key as: `Bearer your-api-key`'

````