Application Fee Refunds

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

The Application Fee Refund object

Attributes

  • idstring

    Unique identifier for the object.

  • amountinteger

    Amount, in cents.

  • currencyenum

    Three-letter ISO currency code, in lowercase. Must be a supported currency.

  • feestringExpandable

    ID of the application fee that was refunded.

  • metadatanullable dictionary

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

More attributes

  • objectstring

  • balance_transactionnullable stringExpandable

  • createdtimestamp

The Application Fee Refund object
{
"id": "fr_1MtJRpKbnvuxQXGuM6Ww0D24",
"object": "fee_refund",
"amount": 100,
"balance_transaction": null,
"created": 1680651573,
"currency": "usd",
"fee": "fee_1B73DOKbnvuxQXGuhY8Aw0TN",
"metadata": {}
}

Create an application fee refund

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.

You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded.

Once entirely refunded, an application fee can’t 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.

Parameters

  • amountinteger

    A positive integer, in cents, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee.

  • metadatadictionary

    Set of key-value pairs 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.

Returns

Returns the Application Fee Refund object if the refund succeeded. Raises an error if the fee has already been refunded, or if an invalid fee identifier was provided.

POST /v1/application_fees/:id/refunds
import stripe
stripe.api_key = "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc"
stripe.ApplicationFee.create_refund("fr_1MtJRpKbnvuxQXGuM6Ww0D24")
Response
{
"id": "fr_1MtJRpKbnvuxQXGuM6Ww0D24",
"object": "fee_refund",
"amount": 100,
"balance_transaction": null,
"created": 1680651573,
"currency": "usd",
"fee": "fee_1B73DOKbnvuxQXGuhY8Aw0TN",
"metadata": {}
}

Update an application fee refund

Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

This request only accepts metadata as an argument.

Parameters

  • metadatadictionary

    Set of key-value pairs 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.

Returns

Returns the application fee refund object if the update succeeded. This call will raise an error if update parameters are invalid.

POST /v1/application_fees/:id/refunds/:id
import stripe
stripe.api_key = "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc"
stripe.ApplicationFee.modify_refund(
"fee_1B73DOKbnvuxQXGuhY8Aw0TN",
"fr_1MtJRpKbnvuxQXGuM6Ww0D24",
metadata={"order_id": "6735"},
)
Response
{
"id": "fr_1MtJRpKbnvuxQXGuM6Ww0D24",
"object": "fee_refund",
"amount": 100,
"balance_transaction": null,
"created": 1680651573,
"currency": "usd",
"fee": "fee_1B73DOKbnvuxQXGuhY8Aw0TN",
"metadata": {
"order_id": "6735"
}
}

Retrieve an application fee refund

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.

Parameters

No parameters.

Returns

Returns the application fee refund object.

GET /v1/application_fees/:id/refunds/:id
import stripe
stripe.api_key = "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc"
stripe.ApplicationFee.retrieve_refund(
"fee_1B73DOKbnvuxQXGuhY8Aw0TN",
"fr_1MtJRpKbnvuxQXGuM6Ww0D24",
)
Response
{
"id": "fr_1MtJRpKbnvuxQXGuM6Ww0D24",
"object": "fee_refund",
"amount": 100,
"balance_transaction": null,
"created": 1680651573,
"currency": "usd",
"fee": "fee_1B73DOKbnvuxQXGuhY8Aw0TN",
"metadata": {}
}
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g., )
The Stripe Shell is best experienced on desktop.
$