# InStoreRefundInput

Input · GraphQL API

Input fields for creating an in-store transaction.

## Fields

- `amount` (`Amount!`) — required: Refund amount of the request. This value must be greater than 0, and must match the currency format of the merchant account. This can only contain numbers and one decimal point (e.g. x.xx). Can't be greater than the maximum allowed by the processor.
- `merchantAccountId` (`ID`): Merchant account ID used to process the refund. Currency is also determined by merchant account ID. If no merchant account ID is specified, we will use your default merchant account.
- `orderId` (`String`): Additional information about the refund. On PayPal refunds, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal refunds.
- `customFields` (`[CustomFieldInput!]`): Collection of custom field/value pairs. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
- `descriptor` (`TransactionDescriptorInput`): Fields used to define what will appear on a customer's bank statement for a specific purchase.

## Used by

- [RequestRefundFromInStoreReaderInput](/braintree/graphql/reference/types/request-refund-from-in-store-reader-input) — Input; refund

## GraphQL definition

```graphql
input InStoreRefundInput {
  amount: Amount!
  merchantAccountId: ID
  orderId: String
  customFields: [CustomFieldInput!]
  descriptor: TransactionDescriptorInput
}
```

---

[View the complete GraphQL schema on GitHub](https://raw.githubusercontent.com/braintree/graphql-api/refs/heads/master/schema.graphql)