# InStoreAuthorizationInput

Input · GraphQL API

Input fields for creating an in-store authorization.

## Fields

- `amount` (`Amount!`) — required: Billing 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 transaction. 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 transaction. On PayPal transactions, 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 transactions.
- `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.
- `customerId` (`ID`): If charging a single-use payment method, optional ID of a customer to associate the transaction with. If vaulting the single-use payment method, this customer will be associated with the resulting multi-use payment method.
- `vaultPaymentMethodAfterTransacting` (`VaultPaymentMethodAfterTransactingInput`): When a single-use payment method is used to create this transaction, it can be automatically stored in the vault after transacting. If this field is left blank, the single-use payment method will not be vaulted.
- `channel` (`String`): For partners and shopping carts only. If you are a shopping cart provider or other Braintree partner, pass a string identifier for your service. For PayPal transactions, this maps to paypal.bn_code.
- `industry` (`TransactionIndustryInput`): Industry data information. Only one of the three sub-input fields can be provided.
- `acceptPartialAuthorization` (`Boolean`): Controls whether to allow partial authorizations (or "partial approvals") for this transaction. Defaults to false.
- `paymentInitiator` (`InStorePaymentInitiator`): This field denotes the nature or characteristic of a transaction, including whether it is initiated by the merchant or the customer.

## Used by

- [RequestAuthorizeFromInStoreReaderInput](/braintree/graphql/reference/types/request-authorize-from-in-store-reader-input) — Input; transaction

## GraphQL definition

```graphql
input InStoreAuthorizationInput {
  amount: Amount!
  merchantAccountId: ID
  orderId: String
  customFields: [CustomFieldInput!]
  descriptor: TransactionDescriptorInput
  customerId: ID
  vaultPaymentMethodAfterTransacting: VaultPaymentMethodAfterTransactingInput
  channel: String
  industry: TransactionIndustryInput
  acceptPartialAuthorization: Boolean
  paymentInitiator: InStorePaymentInitiator
}
```

---

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