Input fields for creating a transaction.
amountAmount!RequiredBilling 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.
customer DetailsTransactionCustomer 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.
If vaultPaymentMethodAfterTransacting is also passed, these values will be used when creating a new customer for the newly-vaulted payment method.
customer IdIDIf 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.
custom Fields[CustomCollection of custom field/value pairs. You must set up each custom field in the Control Panel prior to passing it with a request.
descriptorTransactionFields used to define what will appear on a customer's bank statement for a specific purchase.
exchange Rate Quote IdIDID of exchange rate quote to be used for the transaction.
industryTransactionIndustry data information. Only one of the three sub-input fields can be provided.
line Items[TransactionLine items for this transaction. Up to 249 line items may be specified.
Required for Level 3 processing.
merchant Account IdIDMerchant 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.
merchant Category CodeMerchantMerchant Category Code (MCC) used to classify the type of business associated with this transaction. Defaults to merchant account's configured MCC unless explicitly overridden during transaction creation.
payment FacilitatorPaymentDetails of the Payment Facilitator (mandatory for PayFac Merchants).
payment InitiatorPaymentThe 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.
processing OverridesTransactionThe values provided will take precedence over any similar fields, and will only be used for processing. These values will not update any similar fields and will not be returned in responses.
risk DataRiskCustomer device information, which is sent directly to supported processors for fraud analysis.
shippingTransactionShipping information.
Required for Level 3 processing.
Tax information about the transaction.
Required for Level 2 processing.
vault Payment Method After TransactingVaultWhen 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.
recurringRecurringThis field is included for supporting legacy clients. Please use paymentInitiator instead.
The type of recurring payment this transaction represents.
three D Secure Pass ThroughThreeThis field is included for supporting legacy clients. This field is specific to credit card payment methods only, and cannot be applied to transactions with other payment method types. If you need to pass this field, please use authorizeCreditCard or chargeCreditCard. See the CreditCardTransactionOptionsInput type for details.
Results of a merchant-performed 3D Secure authentication. You will only need to use these fields if you've performed your own integration with a 3D Secure MPI provider (e.g. Cardinal Centinel). Otherwise, Braintree's SDKs handle this for you in our standard 3D Secure integration.
Authorize Credit Card InputInputtransactionAuthorize In Store Credit Card InputInputtransactionAuthorize Payment Method InputInputtransactionAuthorize Pay Pal Account InputInputtransactionAuthorize Venmo Account InputInputtransactionCharge Credit Card InputInputtransactionCharge In Store Credit Card InputInputtransactionCharge Payment Method InputInputtransactionCharge Pay Pal Account InputInputtransactionCharge Us Bank Account InputInputtransactionCharge Venmo Account InputInputtransactionCreate Offline Declined Transaction InputInputtransactioninput TransactionInput {
amount: Amount!
merchantAccountId: ID
orderId: String
exchangeRateQuoteId: ID
purchaseOrderNumber: String
riskData: RiskDataInput
customFields: [CustomFieldInput!]
descriptor: TransactionDescriptorInput
recurring: RecurringType @deprecated(reason: "This field is included for supporting legacy clients. Please use `paymentInitiator` instead.")
paymentInitiator: PaymentInitiator
channel: String
customerId: ID
shipping: TransactionShippingInput
tax: TransactionTaxInput
discountAmount: String
surchargeAmount: String
lineItems: [TransactionLineItemInput!]
threeDSecurePassThrough: ThreeDSecurePassThroughInput @deprecated(reason: "This field is included for supporting legacy clients. This field is specific to credit card payment methods only, and cannot be applied to transactions with other payment method types. If you need to pass this field, please use `authorizeCreditCard` or `chargeCreditCard`. See the `CreditCardTransactionOptionsInput` type for details.")
vaultPaymentMethodAfterTransacting: VaultPaymentMethodAfterTransactingInput
customerDetails: TransactionCustomerDetailsInput
processingOverrides: TransactionProcessingOverridesInput
industry: TransactionIndustryInput
acceptPartialAuthorization: Boolean
paymentFacilitator: PaymentFacilitatorInput
merchantCategoryCode: MerchantCategoryCode
}