Stripe Refund API

The Refund API from Stripe — 3 operation(s) for refund.

OpenAPI Specification

stripe-refund-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Stripe Accounts Account Refund API
  description: This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.
  contact:
    email: dev-platform@stripe.com
    name: Stripe Dev Platform Team
    url: https://stripe.com
  termsOfService: https://stripe.com/us/terms/
  version: '2023-10-16'
  x-stripeSpecFilename: spec3
servers:
- url: https://api.stripe.com/
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Refund
paths:
  /v1/application_fees/{fee}/refunds/{id}:
    get:
      description: <p>By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.</p>
      operationId: GetApplicationFeesFeeRefundsId
      parameters:
      - description: Specifies which fields in the response should be expanded.
        explode: true
        in: query
        name: expand
        required: false
        schema:
          items:
            maxLength: 5000
            type: string
          type: array
        style: deepObject
      - in: path
        name: fee
        required: true
        schema:
          maxLength: 5000
          type: string
        style: simple
      - in: path
        name: id
        required: true
        schema:
          maxLength: 5000
          type: string
        style: simple
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding: {}
            schema:
              additionalProperties: false
              properties: {}
              type: object
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fee_refund'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Retrieve Application Fee Refund
      tags:
      - Refund
      x-api-evangelist-processing:
        ChooseTags: true
    post:
      description: '<p>Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>


        <p>This request only accepts metadata as an argument.</p>'
      operationId: PostApplicationFeesFeeRefundsId
      parameters:
      - in: path
        name: fee
        required: true
        schema:
          maxLength: 5000
          type: string
        style: simple
      - in: path
        name: id
        required: true
        schema:
          maxLength: 5000
          type: string
        style: simple
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding:
              expand:
                explode: true
                style: deepObject
              metadata:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              properties:
                expand:
                  description: Specifies which fields in the response should be expanded.
                  items:
                    maxLength: 5000
                    type: string
                  type: array
                metadata:
                  anyOf:
                  - additionalProperties:
                      type: string
                    type: object
                  - enum:
                    - ''
                    type: string
                  description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
              type: object
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fee_refund'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Update Application Fee Refund
      tags:
      - Refund
      x-api-evangelist-processing:
        ChooseTags: true
  /v1/application_fees/{id}/refund:
    post:
      description: ''
      operationId: PostApplicationFeesIdRefund
      parameters:
      - in: path
        name: id
        required: true
        schema:
          maxLength: 5000
          type: string
        style: simple
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding:
              expand:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              properties:
                amount:
                  type: integer
                directive:
                  maxLength: 5000
                  type: string
                expand:
                  description: Specifies which fields in the response should be expanded.
                  items:
                    maxLength: 5000
                    type: string
                  type: array
              type: object
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application_fee'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Refund Application Fee
      tags:
      - Refund
      x-api-evangelist-processing:
        ChooseTags: true
  /v1/application_fees/{id}/refunds:
    post:
      description: '<p>Refunds an application fee that has previously been collected but not yet refunded.

        Funds will be refunded to the Stripe account from which the fee was originally collected.</p>


        <p>You can optionally refund only part of an application fee.

        You can do so multiple times, until the entire fee has been refunded.</p>


        <p>Once entirely refunded, an application fee cant be refunded again.

        This method will raise an error when called on an already-refunded application fee,

        or when trying to refund more money than is left on an application fee.</p>'
      operationId: PostApplicationFeesIdRefunds
      parameters:
      - in: path
        name: id
        required: true
        schema:
          maxLength: 5000
          type: string
        style: simple
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding:
              expand:
                explode: true
                style: deepObject
              metadata:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              properties:
                amount:
                  description: A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee.
                  type: integer
                expand:
                  description: Specifies which fields in the response should be expanded.
                  items:
                    maxLength: 5000
                    type: string
                  type: array
                metadata:
                  additionalProperties:
                    type: string
                  description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
                  type: object
              type: object
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fee_refund'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Create Application Fee Refund
      tags:
      - Refund
      x-api-evangelist-processing:
        ChooseTags: true
components:
  schemas:
    fee_refund:
      description: '`Application Fee Refund` objects allow you to refund an application fee that

        has previously been created but not yet refunded. Funds will be refunded to

        the Stripe account from which the fee was originally collected.


        Related guide: [Refunding application fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee)'
      properties:
        amount:
          description: Amount, in cents (or local equivalent).
          type: integer
        balance_transaction:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/balance_transaction'
          description: Balance transaction that describes the impact on your account balance.
          nullable: true
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/balance_transaction'
        created:
          description: Time at which the object was created. Measured in seconds since the Unix epoch.
          format: unix-time
          type: integer
        currency:
          description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
          type: string
        fee:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/application_fee'
          description: ID of the application fee that was refunded.
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/application_fee'
        id:
          description: Unique identifier for the object.
          maxLength: 5000
          type: string
        metadata:
          additionalProperties:
            maxLength: 500
            type: string
          description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
          nullable: true
          type: object
        object:
          description: String representing the object's type. Objects of the same type share the same value.
          enum:
          - fee_refund
          type: string
      required:
      - amount
      - created
      - currency
      - fee
      - id
      - object
      title: FeeRefund
      type: object
      x-expandableFields:
      - balance_transaction
      - fee
      x-resourceId: fee_refund
    application_fee:
      description: ''
      properties:
        account:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/account'
          description: ID of the Stripe account this fee was taken from.
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/account'
        amount:
          description: Amount earned, in cents (or local equivalent).
          type: integer
        amount_refunded:
          description: Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the fee if a partial refund was issued)
          type: integer
        application:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/application'
          description: ID of the Connect application that earned the fee.
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/application'
        balance_transaction:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/balance_transaction'
          description: Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).
          nullable: true
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/balance_transaction'
        charge:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/charge'
          description: ID of the charge that the application fee was taken from.
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/charge'
        created:
          description: Time at which the object was created. Measured in seconds since the Unix epoch.
          format: unix-time
          type: integer
        currency:
          description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
          type: string
        id:
          description: Unique identifier for the object.
          maxLength: 5000
          type: string
        livemode:
          description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
          type: boolean
        object:
          description: String representing the object's type. Objects of the same type share the same value.
          enum:
          - application_fee
          type: string
        originating_transaction:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/charge'
          description: ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter.
          nullable: true
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/charge'
        refunded:
          description: Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false.
          type: boolean
        refunds:
          description: A list of refunds that have been applied to the fee.
          properties:
            data:
              description: Details about each object.
              items:
                $ref: '#/components/schemas/fee_refund'
              type: array
            has_more:
              description: True if this list has another page of items after this one that can be fetched.
              type: boolean
            object:
              description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
              enum:
              - list
              type: string
            url:
              description: The URL where this list can be accessed.
              maxLength: 5000
              type: string
          required:
          - data
          - has_more
          - object
          - url
          title: FeeRefundList
          type: object
          x-expandableFields:
          - data
      required:
      - account
      - amount
      - amount_refunded
      - application
      - charge
      - created
      - currency
      - id
      - livemode
      - object
      - refunded
      - refunds
      title: PlatformFee
      type: object
      x-expandableFields:
      - account
      - application
      - balance_transaction
      - charge
      - originating_transaction
      - refunds
      x-resourceId: application_fee
    error:
      description: An error response from the Stripe API
      properties:
        error:
          $ref: '#/components/schemas/api_errors'
      required:
      - error
      type: object