# TransactionRiskEvaluateInput

Input · GraphQL API

Input fields used to define a transaction for risk evaluation.

## Fields

- `amount` (`MonetaryAmountInput!`) — required: Amount of a transaction under risk evaluation.
- `externalProcessor` (`ExternalProcessor`): The payment processor handling the transaction.
- `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.
- `riskData` (`RiskDataInput`): Customer device information, which is sent directly for fraud analysis.
- `fraudProtectionCustomFields` (`[FraudProtectionCustomFieldInput!]`): Collection of Fraud Protection custom field/value pairs passed through for Fraud Protection rule evaluation. No field definition is required up-front.
- `paymentInitiator` (`PaymentInitiator`): The initiator of the payment. Payment can either be merchant-initiated or customer-initiated. If the transaction is an ecommerce transaction initiated by the customer, no value is passed.
- `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.
- `customerDetails` (`TransactionCustomerDetailsInput`): Customer information to be stored on the transaction and used for fraud protection. Use this if you wish to pass customer information on a transaction without creating an independent stored customer record in the vault. This parameter can only be used if you do not pass `customerId`, and if you are not using a vaulted/multi-use payment method. In other words, this field is only valid when the transaction will not be associated with an existing customer.
- `shippingAddress` (`AddressInput`): Shipping address for the transaction.
- `billingAddress` (`AddressInput`): Billing address for the transaction.
- `lineItems` (`[TransactionLineItemInput!]`): Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.

## Used by

- [EvaluateTransactionRiskInput](/braintree/graphql/reference/types/evaluate-transaction-risk-input) — Input; transaction

## GraphQL definition

```graphql
input TransactionRiskEvaluateInput {
  amount: MonetaryAmountInput!
  externalProcessor: ExternalProcessor
  orderId: String
  riskData: RiskDataInput
  fraudProtectionCustomFields: [FraudProtectionCustomFieldInput!]
  paymentInitiator: PaymentInitiator
  customerId: ID
  customerDetails: TransactionCustomerDetailsInput
  shippingAddress: AddressInput
  billingAddress: AddressInput
  lineItems: [TransactionLineItemInput!]
}
```

---

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