Reference
Query
pingInStoreReader
Triggers a beep on a connected Reader and returns the Reader information or an error if unable to ping the device.
args:
- readerId: ID!
output:
idFromLegacyId
Get a GraphQL ID from a legacy ID that was returned from an SDK or a legacyId field. Does not verify existence except for payment methods.
args:
- legacyId: ID!
- type: LegacyIdType!
output:
- ID!
report
A collection of the available reports. Each field on the `Report` type is a different report that can be queried with its own input parameters.
output:
search
A collection of the available searches. Each field on the `Search` type is a different search that can be queried with its own input parameters.
output:
paypalFinancingOptions
Retrieve PayPal financing options that include payment installment plans.
args:
- input: PayPalFinancingOptionsInput!
Mutation
captureTransaction
Capture an authorized transaction and return a payload that includes details of the transaction.
args:
- input: CaptureTransactionInput!
output:
chargePaymentMethod
Charge any payment method and return a payload that includes details of the resulting transaction.
args:
- input: ChargePaymentMethodInput!
output:
chargeUsBankAccount
Charge a US bank account and return a payload that includes details of the resulting transaction. See https://developers.braintreepayments.com/guides/ach/configuration for information on eligibility and setup.
args:
- input: ChargeUsBankAccountInput!
output:
chargePayPalAccount
Charge a PayPal account and return a payload that includes details of the resulting transaction.
args:
- input: ChargePayPalAccountInput!
output:
chargeVenmoAccount
Charge a Venmo account and return a payload that includes details of the resulting transaction. See https://articles.braintreepayments.com/guides/payment-methods/venmo for information on eligibility and setup.
args:
- input: ChargeVenmoAccountInput!
output:
chargeCreditCard
Charge a credit card of any origin and return a payload that includes details of the resulting transaction.
args:
- input: ChargeCreditCardInput!
output:
vaultPaymentMethod
Vault payment information from a single-use payment method and return a payload that includes a new multi-use payment method. When vaulting a credit card, by default, this mutation will also verify that card before vaulting.
args:
- input: VaultPaymentMethodInput!
output:
vaultUsBankAccount
Vault payment information from a single-use US bank account payment method and return a payload that includes a new multi-use payment method.
args:
- input: VaultUsBankAccountInput!
output:
vaultCreditCard
Vault payment information from a single-use credit card and return a payload that includes a new multi-use payment method. By default, this mutation will also verify the card before vaulting.
args:
- input: VaultCreditCardInput!
output:
refundTransaction
Refund a settled transaction and return a payload that includes details of the refund.
args:
- input: RefundTransactionInput!
output:
reverseTransaction
Reverse a transaction and return a payload that includes either the voided transaction or a refund.
args:
- input: ReverseTransactionInput!
output:
reverseRefund
Reverse a refund and return a payload that includes voided refund.
args:
- input: ReverseRefundInput!
output:
refundCreditCard
Create a detached refund (unassociated with any previous Braintree payment) to a credit card and return a payload that includes details of the refund.
We have previously referred to this as issuing a "detached credit," and it is disallowed by default. See the [documentation](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits) for more information regarding eligibility and configuration.
args:
- input: RefundCreditCardInput!
output:
refundUsBankAccount
Create a detached refund (unassociated with any previous Braintree payment) to a US Bank Account and return a payload that includes details of the refund.
We have previously referred to this as issuing a "detached credit," and it is disallowed by default. See the [documentation](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits) for more information regarding eligibility and configuration.
args:
- input: RefundUsBankAccountInput!
output:
updateCustomFields
Update custom fields on a transaction or refund. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
args:
- input: UpdateCustomFieldsInput!
output:
verifyPaymentMethod
Run a verification on a multi-use payment method.
args:
- input: VerifyPaymentMethodInput!
output:
verifyCreditCard
Run a verification on a multi-use credit card payment method.
args:
- input: VerifyCreditCardInput!
output:
verifyUsBankAccount
Run a verification on a multi-use US bank account payment method.
args:
- input: VerifyUsBankAccountInput!
output:
confirmMicroTransferAmounts
Confirm micro-transfer amounts initiated by vaultUsBankAccount or verifyUsBankAccount, completing the verification process for a US Bank Account via micro-transfer.
args:
- input: ConfirmMicroTransferAmountsInput!
createClientToken
Create a client token that can be used to initialize a client in order to tokenize payment information.
args:
- input: CreateClientTokenInput
output:
createUniversalAccessToken
Create a PayPal access token that can be used to make additional API calls or initialize a client.
args:
- input: CreateUniversalAccessTokenInput!
partialCaptureTransaction
Partially capture funds from a transaction that was successfully authorized and return a payload that includes a new transaction with information about the capture. This is available for [Venmo](https://developers.braintreepayments.com/guides/venmo/submit-for-partial-settlement) and [PayPal](https://articles.braintreepayments.com/guides/payment-methods/paypal/processing#multiple-partial-settlements) transactions.
args:
- input: PartialCaptureTransactionInput!
tokenizeCustomActionsPaymentMethod
Tokenize Custom Actions fields and return a payload that includes a single-use payment method.
args:
tokenizeCreditCard
Tokenize credit card fields and return a payload that includes a single-use payment method.
args:
- input: TokenizeCreditCardInput!
output:
tokenizeCvv
Tokenize a credit card's CVV and return a payload that includes a single-use payment method.
args:
- input: TokenizeCvvInput!
output:
tokenizeNetworkToken
Tokenize a network tokenized payment instrument and return a payload that includes a single-use payment method.
args:
- input: TokenizeNetworkTokenInput!
output:
tokenizeUsBankAccount
Tokenize US bank account fields and return a payload that includes a single-use payment method.
args:
- input: TokenizeUsBankAccountInput!
output:
tokenizePayPalOneTimePayment
Tokenize PayPal One-Time Payment and return a payload that includes a single-use payment method.
args:
createPayPalOneTimePayment
Set up a PayPal One-Time Payment for approval by a PayPal user. See [documentation](https://developer.paypal.com/braintree/docs/guides/paypal/checkout-with-paypal) for more information. Your account must be enabled for this feature.
args:
- input: CreatePayPalOneTimePaymentInput!
tokenizePayPalBillingAgreement
Tokenize PayPal account and return a payload that includes a single-use payment method.
args:
createPayPalBillingAgreement
Set up a PayPal Billing Agreement Token for approval by a PayPal user.
args:
createCustomer
Create a customer for storing individual customer information and/or grouping transactions and multi-use payment methods.
args:
- input: CreateCustomerInput
output:
deleteCustomer
Delete a customer, breaking association between any of the customer's transactions. Will not delete if the customer has existing payment methods.
args:
- input: DeleteCustomerInput!
output:
updateCreditCardBillingAddress
Set a new billing address for a multi-use credit card payment method. By default, this mutation will also verify the card with the new billing address before updating.
args:
updateCreditCardCardholderName
Set a new cardholder name for a multi-use credit card payment method. By default, this mutation will also verify the card with the new cardholder name before updating.
args:
updateCreditCardExpirationDate
Set a new expiration date for a multi-use credit card payment method. By default, this mutation will also verify the card with the new expiration date before updating.
args:
performThreeDSecureLookup
Attempt to perform 3D Secure Authentication on credit card payment method. This may consume the payment method and return a new single-use payment method.
args:
- input: PerformThreeDSecureLookupInput!
acceptDispute
Accepts a dispute and returns a payload that includes the dispute that was accepted. Only disputes with a status of OPEN can be accepted.
args:
- input: AcceptDisputeInput!
output:
finalizeDispute
Finalizes a dispute and returns a payload that includes the dispute that was finalized. Only disputes with a status of OPEN can be finalized.
args:
- input: FinalizeDisputeInput!
output:
createDisputeTextEvidence
Creates text evidence to a dispute and returns a payload that includes the evidence that was created. Only disputes with a status of OPEN can have text evidence created for them.
args:
- input: CreateDisputeTextEvidenceInput!
createDisputeFileEvidence
Uploads an evidence file and associates it with a dispute. **Note:**: file upload requires a special request format. See the ['Uploading Files' integration guide](https://graphql.braintreepayments.com/integration_guides/uploading_files) for instructions on how to perform this mutation.
args:
- input: CreateDisputeFileEvidenceInput!
vaultPayPalBillingAgreement
Vault an existing PayPal Billing Agreement that was not created through Braintree. Only use this mutation if you need to import PayPal Billing Agreements from an existing PayPal integration into your Braintree account.
args:
- input: VaultPayPalBillingAgreementInput!
sandboxSettleTransaction
Force a transaction to settle in the sandbox environment. Generates an error elsewhere.
args:
- input: SandboxSettleTransactionInput!
output:
createInStoreLocation
Creates a new In-Store Location to associate Readers.
args:
- input: CreateInStoreLocationInput!
output:
pairInStoreReader
Pairs a Reader to an account and In-Store Location.
args:
- input: PairInStoreReaderInput!
output:
requestAuthorizeFromInStoreReader
Request an in-store reader to begin the authorize flow. Only supported on payment application versions >= 5.1.0.
args:
output:
requestRefundFromInStoreReader
Request an in-store reader to start an unreferenced refund flow.
args:
output:
requestFirmwareUpdateFromInStoreReader
Request an in-store reader to update to the latest version of software.
args:
output:
requestSignaturePromptFromInStoreReader
Request an in-store reader to display a signature prompt. Only supported on payment application versions >= 3.3.0.
args:
output:
requestConfirmationPromptFromInStoreReader
Request an in-store reader to display a confirmation prompt. Only supported on payment application versions >= 3.3.0.
args:
output:
requestNonPciCardDataFromInStoreReader
Request an in-store reader to collect non [PCI-scoped](https://www.braintreepayments.com/blog/understanding-pci-dss-compliance) card data. Only supported on payment application versions >= 5.2.0.
args:
output:
requestAmountPromptFromInStoreReader
Request an in-store reader to display an amount prompt. Only supported on payment application versions >= 5.2.0.
args:
output:
requestMultiChoiceSingleSelectPromptFromInStoreReader
Request an in-store reader to display a multi-choice single-select prompt. Only supported on payment application versions >= 5.4.0.
output:
requestTextPromptFromInStoreReader
Request an in-store reader to display a text prompt. Only supported on payment application versions >= 5.2.0.
args:
output:
requestPrintFromInStoreReader
Request an in-store reader to print content. Only supported on the Verifone V400m device using payment application version >= 5.5.0.
args:
output:
createVenmoPaymentContext
Create a Venmo payment context.
args:
- input: CreateVenmoPaymentContextInput!
output:
updateTransactionAmount
Updates the authorization amount of the transaction.
args:
- input: UpdateTransactionAmountInput!
output:
generateExchangeRateQuote
Generate a customized currency exchange rate quote for items on a merchant's page. This allows merchants to advertise products in their customer's currency. Your account must be enabled to use this feature.
args:
- input: GenerateExchangeRateQuoteInput!
output:
createNonInstantLocalPaymentContext
Creates a non-instant local payment context. Your account must be enabled to use this feature.
args:
createOAuthClientSecret
Create an OAuth client secret.
To call this mutation you must obtain an OAuth Access Token with scope MANAGE_OAUTH_CLIENT_SECRETS,
the associated merchant must have [IP or hostname restrictions](https://developer.paypal.com/braintree/articles/risk-and-security/allowlisting) enabled and you must send your request from a host
that is allowed by the merchant's allowed hosts list.
args:
- input: CreateOAuthClientSecretInput!
disableOAuthClientSecret
Disable an OAuth client secret.
To call this mutation you must obtain an OAuth Access Token with scope MANAGE_OAUTH_CLIENT_SECRETS,
the associated merchant must have [IP or hostname restrictions](https://developer.paypal.com/braintree/articles/risk-and-security/allowlisting) enabled and you must send your request from a host
that is allowed by the merchant's allowed hosts list.
args:
- input: DisableOAuthClientSecretInput!
deleteOAuthClientSecret
Delete a disabled OAuth client secret.
To call this mutation you must obtain an OAuth Access Token with scope MANAGE_OAUTH_CLIENT_SECRETS,
the associated merchant must have [IP or hostname restrictions](https://developer.paypal.com/braintree/articles/risk-and-security/allowlisting) enabled and you must send your request from a host
that is allowed by the merchant's allowed hosts list.
args:
- input: DeleteOAuthClientSecretInput!
enableProductForMerchant
Enable product for calling merchant.
args:
- input: EnableProductForMerchantInput!
disableProductForMerchant
Disable product for calling merchant.
args:
- input: DisableProductForMerchantInput!
createTransactionPackageTracking
Creates a package tracker record for Pay with PayPal transactions. Your account must be enabled to use this feature.
args:
Interfaces
DisputeEvidence
Evidence provided by a merchant to respond to a dispute.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- createdAt: TimestampDate and time when the evidence was created with Braintree.
- sentToProcessorAt: TimestampDate and time when the evidence was sent to the processor.
- category: DisputeEvidenceCategoryThe evidence category.
Implementations:
InStoreContextResult
Reference object for an in-store request.
fields:
- id: ID!A unique ID for this in-store request.
- reader: InStoreReaderThe reader associated with the in-store request.
Implementations:
- InStoreContext
- RequestAmountPromptInStoreContext
- RequestAuthorizeInStoreContext
- RequestChargeInStoreContext
- RequestConfirmationPromptInStoreContext
- RequestDisplayInStoreContext
- RequestFirmwareUpdateInStoreContext
- RequestMultiChoiceSingleSelectPromptInStoreContext
- RequestNonPciCardDataInStoreContext
- RequestPrintInStoreContext
- RequestRefundInStoreContext
- RequestSignaturePromptInStoreContext
- RequestTextPromptInStoreContext
- RequestVaultInStoreContext
InStoreReaderOriginDetails
Additional information about the payment method supplied by an in-store payment reader.
fields:
- authorizationMode: InStoreReaderAuthorizationModeThe authorization mode used to perform the transaction on the payment reader.
- pinVerified: BooleanAn indicator for whether the transaction was verified via pin.
- inputMode: PaymentReaderInputModeThe input mode used on the payment reader to facilitate an in-store transaction.
- terminalId: StringThe ID of the terminal that was processed this transaction.
Implementations:
Node
Relay compatible Node interface.
fields:
- id: ID!Global ID for a given object.
Implementations:
- BusinessAccountCreationRequest
- CustomActionsPaymentContext
- Customer
- Dispute
- InStoreContext
- InStoreLocation
- InStoreReader
- LocalPaymentContext
- PaymentMethod
- Refund
- RequestAmountPromptInStoreContext
- RequestAuthorizeInStoreContext
- RequestChargeInStoreContext
- RequestConfirmationPromptInStoreContext
- RequestDisplayInStoreContext
- RequestFirmwareUpdateInStoreContext
- RequestMultiChoiceSingleSelectPromptInStoreContext
- RequestNonPciCardDataInStoreContext
- RequestPrintInStoreContext
- RequestRefundInStoreContext
- RequestSignaturePromptInStoreContext
- RequestTextPromptInStoreContext
- RequestVaultInStoreContext
- Transaction
- VenmoPaymentContext
- Verification
Payment
A merchant-initiated movement of money between the merchant and a customer, by way of a payment method. Payments can represent money moving either from a customer to the merchant by charging a payment method (a Transaction), or from the merchant back to a customer by refunding a previous transaction (a Refund).
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- createdAt: TimestampDate and time when the payment was created.
- amount: MonetaryAmountThe amount charged or credited to the payment method. Note that in the case of a Transaction, this amount will represent the amount moving from the customer to the merchant, and in the case of a Refund, will represent the amount moving from the merchant back to the customer.
- orderId: StringThe order ID.
- status: PaymentStatusThe current status of this payment.
- statusHistory: [PaymentStatusEvent!]The records of all statuses this payment has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.
- merchantAccountId: IDThe ID of the merchant account that processed this payment.
- source: PaymentSourceHow the payment was created.
- paymentMethodSnapshot: PaymentMethodSnapshotSnapshot of payment method details used to create the payment, preserved at the time the transaction was created. This will always be present.
Implementations:
PaymentStatusEvent
Status event in the [lifecycle of a payment](https://articles.braintreepayments.com/get-started/transaction-lifecycle).
fields:
- status: PaymentStatusNew status of the payment.
- timestamp: TimestampDate and time when the status event occurred.
- amount: MonetaryAmountThe payment amount applicable to the status. For instance, the amount when a transaction is `SUBMITTED_FOR_SETTLEMENT` might be less than the amount for which it was `AUTHORIZED`.
- source: PaymentSourceSource that caused the status event to occur.
- terminal: BooleanWhether this is the final state for the payment. If false, this transaction will pass into another subsequent state.
Enums
ACHStandardEntryClassCode
A NACHA standard entry class (SEC) code, which designates how an ACH transaction was authorized.
enum values:
- CCDCorporate credit or debit.
- PPDPrearranged payment and deposit.
- TELTelephone-initiated.
- WEBInternet-initiated/mobile.
ACRType
The authentication context class reference that indcates how a universal access token can be used.
enum values:
- CLIENT
- SERVER
AccountCreationStatus
The status of the business account creation request.
enum values:
- COMPLETED
- DECLINED
- IN_SETUP
- IN_VETTING
- SUBMITTED
AniNameResponseCode
Response codes for name verification if the processor supports the account information inquiry.
enum values:
- MATCH
- NOT_SUPPORTED
- NOT_VERIFIED
- NO_INPUT
- NO_MATCH
- PARTIAL_MATCH
- RETRY
ApplePayStatus
The environment being used for Apple Pay.
enum values:
- MOCK
- OFF
- PRODUCTION
- mock
- off
- production
ApplicationBankAccountPurpose
The purpose of the merchant application bank account.
enum values:
- CHECKING
- SAVINGS
ApplicationStatus
The status of a merchant account application.
enum values:
- APPROVED
- PROCESSING
- REJECTED
AvsCvvResponseCode
Response codes from the processing bank's Address Verification System (AVS) and CVV verification.
enum values:
- BYPASSAVS or CVV checks were skipped via the API.
- DOES_NOT_MATCH
- ISSUER_DOES_NOT_PARTICIPATE
- MATCHES
- NOT_APPLICABLE
- NOT_PROVIDED
- NOT_VERIFIED
- SYSTEM_ERROR
BinRecordValue
A boolean-like value that includes `UNKNOWN` in the case where the information isn't available.
enum values:
- NO
- UNKNOWN
- YES
- No
- Unknown
- Yes
BusinessType
The type of the business.
enum values:
- GOVERNMENT_AGENCY
- LIMITED_LIABILITY_CORPORATION
- NONPROFIT
- PARTNERSHIP
- PRIVATE_CORPORATION
- PUBLIC_CORPORATION
- SOLE_PROPRIETORSHIP
CardAccountType
The type of account to be used when transacting with a combo card.
enum values:
- CREDIT
- DEBIT
Challenge
A list of challenges that are required by the current merchant to process a given credit card.
enum values:
- CVV
- POSTAL_CODE
- cvv
- postal_code
ChargebackProtectionLevel
The chargeback protection level indicates the transaction or dispute's protection status.
enum values:
- EFFORTLESSThe transaction or dispute is protected by the effortless chargeback protection product.
- NOT_PROTECTEDThe merchant has not enrolled any chargeback protection products, or the merchant is registered, but the transaction or dispute is not protected.
- STANDARDThe transaction or dispute is protected by the standard chargeback protection product.
ClientConfigurationEnvironment
The client configuration environment being used.
enum values:
- DEVELOPMENT
- PRODUCTION
- QA
- SANDBOX
- TEST
- development
- production
- qa
- sandbox
- test
ClientFeature
A value used by Braintree client SDKs to determine what operations are supported through this GraphQL API.
enum values:
- TOKENIZE_CREDIT_CARDS
- tokenize_credit_cards
ConfirmMicroTransferAmountsStatus
The status of a micro-transfer amount confirmation.
enum values:
- AMOUNTS_DO_NOT_MATCH
- CONFIRMED
- TOO_MANY_ATTEMPTS
CreditCardBrandCode
A code identifying the card brand.
enum values:
- AMERICAN_EXPRESS
- CITI
- DINERS
- DISCOVER
- ELO
- HIPER
- HIPERCARD
- INTERNATIONAL_MAESTRO
- JCB
- MASTERCARD
- SOLO
- SWITCH
- UK_MAESTRO
- UNION_PAY
- UNKNOWN
- VISA
- american_express
- citi
- diners
- discover
- elo
- hiper
- hipercard
- international_maestro
- jcb
- mastercard
- solo
- switch
- uk_maestro
- union_pay
- unknown
- visa
CustomerAuthenticationIndicator
A value indicating when to perform further customer authentication.
enum values:
- OPTIONALIndicates further authentication is optional.
- REQUIREDIndicates further authentication should be performed.
- UNAVAILABLECustomer authentication indicator information is unavailable at this time.
CustomerAuthenticationRegulationEnvironment
The customer authentication regulation environment that applies to the transaction, such as [PSD2](https://www.braintreepayments.com/blog/understanding-and-preparing-for-psd2-strong-customer-authentication/).
enum values:
- PSDTWOEU Regulation [PSD2 Strong Customer Authentication](https://www.braintreepayments.com/blog/understanding-and-preparing-for-psd2-strong-customer-authentication/) applies to this transaction.
- RBIReserve Bank of India regulations apply to this transactions.
- UNAVAILABLECustomer authentication regulation environment information is unavailable for this transaction at this time.
- UNREGULATEDNo customer authentication regulations apply to this transaction.
CustomerClient
Client the customer used to initiate the transaction.
enum values:
- DESKTOP
- MOBILE_APP
- MOBILE_WEB
- NATIVE_WEB
DisplayItemType
The display item type to be displayed on the in-store reader.
enum values:
- CHARGE
- DISCOUNT
- LINE_BREAK
- TEXT
DisputeEvidenceCategory
The evidence category that specifies which requirement it satisfies.
enum values:
- CARRIER_NAME
- CARRIER_NAME_OTHER
- CREDIT_ISSUED_AMOUNT
- CREDIT_ISSUED_ARN
- CREDIT_ISSUED_DATE_TIME
- DEVICE_ID
- DEVICE_NAME
- DOWNLOAD_DATE_TIME
- EVIDENCE_TYPE
- GENERAL
- GEOGRAPHICAL_LOCATION
- LEGIT_PAYMENTS_FOR_SAME_MERCHANDISE
- MERCHANT_WEBSITE_OR_APP_ACCESS
- PRIOR_DIGITAL_GOODS_TRANSACTION_ARN
- PRIOR_DIGITAL_GOODS_TRANSACTION_DATE_TIME
- PRIOR_DIGITAL_GOODS_TRANSACTION_ID
- PRIOR_NON_DISPUTED_TRANSACTION_ARN
- PRIOR_NON_DISPUTED_TRANSACTION_DATE_TIME
- PRIOR_NON_DISPUTED_TRANSACTION_EMAIL_ADDRESS
- PRIOR_NON_DISPUTED_TRANSACTION_ID
- PRIOR_NON_DISPUTED_TRANSACTION_IP_ADDRESS
- PRIOR_NON_DISPUTED_TRANSACTION_PHONE_NUMBER
- PRIOR_NON_DISPUTED_TRANSACTION_PHYSICAL_ADDRESS
- PROFILE_SETUP_OR_APP_ACCESS
- PROOF_OF_3D_SECURE
- PROOF_OF_AUTHORIZED_SIGNER
- PROOF_OF_DELIVERY
- PROOF_OF_DELIVERY_EMP_ADDRESS
- PROOF_OF_POSSESSION_OR_USAGE
- PURCHASER_EMAIL_ADDRESS
- PURCHASER_IP_ADDRESS
- PURCHASER_NAME
- RECURRING_TRANSACTION_ARN
- RECURRING_TRANSACTION_DATE_TIME
- RECURRING_TRANSACTION_ID
- REFUND_ID
- SIGNED_DELIVERY_FORM
- SIGNED_ORDER_FORM
- TICKET_PROOF
- TRACKING_NUMBER
- TRACKING_URL
DisputeFileEvidenceCategory
For file evidence: the evidence category that specifies which requirement it satisfies.
enum values:
- GENERAL
- LEGIT_PAYMENTS_FOR_SAME_MERCHANDISE
- MERCHANT_WEBSITE_OR_APP_ACCESS
- PROFILE_SETUP_OR_APP_ACCESS
- PROOF_OF_3D_SECURE
- PROOF_OF_AUTHORIZED_SIGNER
- PROOF_OF_DELIVERY
- PROOF_OF_DELIVERY_EMP_ADDRESS
- PROOF_OF_POSSESSION_OR_USAGE
- SIGNED_DELIVERY_FORM
- SIGNED_ORDER_FORM
- TICKET_PROOF
DisputeProtectionLevel
The Protection level indicates if dispute is eligible for protection through any feature enabled on your account.
enum values:
- CHARGEBACK_PROTECTION_TOOLThe dispute is protected by the standard chargeback protection product.
- EFFORTLESS_CHARGEBACK_PROTECTION_TOOLThe dispute is protected by the effortless chargeback protection product.
- NO_PROTECTIONThe merchant has not enrolled in any chargeback protection products, or the merchant is enrolled, but the dispute is not protected.
DisputeReason
The reason a customer opened a chargeback, pre-arbitration, or retrieval.
enum values:
- CANCELLED_RECURRING_TRANSACTION
- CREDIT_NOT_PROCESSED
- DUPLICATE
- FRAUD
- GENERAL
- INVALID_ACCOUNT
- NOT_RECOGNIZED
- PRODUCT_NOT_RECEIVED
- PRODUCT_UNSATISFACTORY
- RETRIEVAL
- TRANSACTION_AMOUNT_DIFFERS
DisputeStatus
The status of the dispute.
enum values:
- ACCEPTED
- AUTO_ACCEPTED
- DISPUTED
- EXPIRED
- LOST
- OPEN
- UNDER_REVIEW
- WON
DisputeTextEvidenceCategory
For text evidence: the evidence category that specifies which requirement it satisfies.
enum values:
- CARRIER_NAME
- CREDIT_ISSUED_AMOUNT
- CREDIT_ISSUED_ARN
- CREDIT_ISSUED_DATE_TIME
- DEVICE_ID
- DEVICE_NAME
- DOWNLOAD_DATE_TIME
- GENERAL
- GEOGRAPHICAL_LOCATION
- PRIOR_DIGITAL_GOODS_TRANSACTION_ARN
- PRIOR_DIGITAL_GOODS_TRANSACTION_DATE_TIME
- PRIOR_DIGITAL_GOODS_TRANSACTION_ID
- PRIOR_NON_DISPUTED_TRANSACTION_ARN
- PRIOR_NON_DISPUTED_TRANSACTION_DATE_TIME
- PRIOR_NON_DISPUTED_TRANSACTION_EMAIL_ADDRESS
- PRIOR_NON_DISPUTED_TRANSACTION_ID
- PRIOR_NON_DISPUTED_TRANSACTION_IP_ADDRESS
- PRIOR_NON_DISPUTED_TRANSACTION_PHONE_NUMBER
- PRIOR_NON_DISPUTED_TRANSACTION_PHYSICAL_ADDRESS
- PURCHASER_EMAIL_ADDRESS
- PURCHASER_IP_ADDRESS
- PURCHASER_NAME
- RECURRING_TRANSACTION_ARN
- RECURRING_TRANSACTION_DATE_TIME
- RECURRING_TRANSACTION_ID
- REFUND_ID
- TRACKING_NUMBER
DisputeType
Type of dispute.
enum values:
- CHARGEBACK
- PRE_ARBITRATIONA [second challenge to a charge](https://articles.braintreepayments.com/risk-and-security/chargebacks-retrievals/overview#pre-arbitrations), in the case that you have won an initial chargeback.
- RETRIEVAL
ExternalVaultStatus
A credit card's assocation with an external vault.
enum values:
- VAULTEDThe payment method for this transaction has been vaulted in an external vault.
- WILL_VAULTThe payment method has not been vaulted in an exernal vault, but it will be if this transaction is successfully processed.
FraudServiceProvider
The fraud service provider used to generate the risk decision.
enum values:
- CHARGEBACK_PROTECTION
- EFFORTLESS_CHARGEBACK_PROTECTION
- FRAUD_PROTECTION
- FRAUD_PROTECTION_ADVANCED
- FRAUD_PROTECTION_ENTERPRISE
- KOUNT
FrequencyUnit
The unit of time for the interval which the payment is charged in a recurring billing plan.
enum values:
- DAY
- MONTH
- WEEK
- YEAR
GatewayRejectionReason
Possible reasons why a transaction was rejected by the gateway.
enum values:
- APPLICATION_INCOMPLETE
- AVS
- AVS_AND_CVV
- CVV
- DUPLICATE
- EXCESSIVE_RETRY
- FRAUD
- MANUAL_TRANSACTIONS_DISABLED
- PAYMENT_METHOD_BLOCKED
- RISK_THRESHOLD
- THREE_D_SECURE
- TOKEN_ISSUANCE
- TOO_MANY_CONFIRMATION_ATTEMPTS
- UNION_PAY_ENROLLMENT_REQUIRED
GooglePayEnvironment
The environment being used for Google Pay.
enum values:
- PRODUCTION
- SANDBOX
- production
- sandbox
InStoreBackgroundStyle
The type of background style on an in-store reader.
enum values:
- PRIMARY
- SECONDARY
InStoreContextStatus
Potential statuses of a context created as part of an in-store request.
enum values:
- CANCELLEDThe request was canceled.
- COMPLETEThe requested operation was successfully completed.
- FAILEDThe requested operation failed.
- PENDINGThe request has been sent to the reader and is pending customer or point-of-sale interaction.
- PROCESSINGThe requested operation is in progress.
InStorePaymentInitiator
The nature or characteristic of a transaction, including whether it is initiated by the merchant or the customer.
enum values:
- ESTIMATEDTransactions that are initiated by the customer when the final amount of the transaction is not known at the time of authorization. Applicable for InStoreAuthorizationInput only.
InStorePrintAlignment
The alignment of the content when printed on the in-store reader.
enum values:
- CENTER
- LEFT
- RIGHT
InStorePrintTextDecoration
The decoration of the text on an in-store reader.
enum values:
- LINE_THROUGH
- NORMAL
- OVERLINE
- UNDERLINE
InStoreReaderDisplayAlignment
The alignment of the text when displayed on the in-store reader.
enum values:
- CENTER
- LEFT
InStoreReaderTextPromptType
The type of text prompt on the in-store reader. If any of the SENSITIVE values are selected, the input characters will be masked on the device display.
enum values:
- ALPHANUMERIC
- NUMERIC
- SENSITIVE_ALPHANUMERIC
- SENSITIVE_NUMERIC
InStoreTransactionContextStatusReason
Additional information about an in-store charge or authorize context status.
enum values:
- PARTIALLY_AUTHORIZEDThe context was completed with a partially authorized transaction. Please note that partial authorizations are only supported on versions >= 5.0.0 of the in-store reader payment application.
IndustryAdditionalChargeType
The type of additional charge for industry data.
enum values:
- GIFT_SHOP
- LAUNDRY
- MINI_BAR
- OTHER
- RESTAURANT
- TELEPHONE
IndustryCruiseTravelPackageType
The type of cruise travel package.
enum values:
- CAR
- FLIGHT
- FLIGHT_AND_CAR
- OTHER
LegacyIdType
The type of object the legacy ID represents when converting it to a global ID.
enum values:
- CUSTOMER
- DISPUTE
- MERCHANT_ACCOUNT_APPLICATION
- PAYMENT_CONTEXT
- PAYMENT_METHOD
- REFUND
- TRANSACTION
- US_BANK_ACCOUNT_VERIFICATION
- VERIFICATION
LiabilityShiftCondition
If enrolled in Effortless Chargeback Protection, and in the event the transaction is disputed, these are the specific conditions under which the responsible party assumes liability for that chargeback.
enum values:
- ITEM_NOT_RECEIVED
- UNAUTHORIZED
LiabilityShiftResponsibleParty
If enrolled in Effortless Chargeback Protection, and in the event the transaction is disputed, these are the possible parties which can assume liability.
enum values:
- ISSUER
- PAYPAL
LocalPaymentMethodType
A value identifying the type of regional payment method.
enum values:
- ALIPAY
- BANCOMATPAY
- BANCONTACT
- BLIK
- BOLETOBANCARIO
- EPS
- GIROPAY
- GRABPAY
- IDEAL
- MBWAY
- MULTIBANCO
- MYBANK
- OXXO
- P24
- PAYU
- PAY_UPON_INVOICE
- SATISPAY
- SEPA
- SOFORT
- SWISH
- TRUSTLY
- VERKKOPANKKI
- VIPPS
- WECHAT_PAY
MVVRegistrationType
Supported MVV (Merchant Verification Value) programs.
enum values:
- LOAN_VPP
- TAX_DEBIT
- UTIL_RATE
- UTIL_VPP
MVVUtilityType
Supported MVV (Merchant Verification Value) utility types.
enum values:
- ELECTRIC
- GAS
- TRASH
- WATER
MerchantAccountStatus
The status of a merchant account. This determines whether the merchant account can be used to create a Payment, and whether funds can continue to flow to the associated bank account.
enum values:
- ACTIVEThe merchant account can be used to create transactions and refunds.
- PENDINGThe merchant account is still being set up, and cannot be used to create transactions or refunds yet.
- SUSPENDEDThe merchant account cannot be used to process transactions or refunds.
NonInstantLocalPaymentMethodType
A value identifying the type of non-instant regional payment method.
enum values:
- BOLETOBANCARIO
- MULTIBANCO
- OXXO
- TRUSTLY
OwnerPosition
The position that the owner holds in the business.
enum values:
- BENEFICIAL_OWNER
- CHAIRMAN
- DIRECTOR
- PARTNER
- SECRETARY
- TREASURER
OwnerRole
The role that the owner holds in the business.
enum values:
- BENEFICIAL_OWNER
- SIGNIFICANT_RESPONSIBILITY
PayPalBillingAgreementChargePattern
Expected business/pricing model for a billing agreement (Charge Patterns).
enum values:
- DEFERREDPay after use, non-recurring post-paid, variable amount, irregular.
- IMMEDIATEOn-demand instant payments - non-recurring, pre-paid, variable amount.
- RECURRING_POSTPAIDPay on a fixed date based on usage or consumption after the goods/service is delivered.
- RECURRING_PREPAIDPay upfront fixed or variable amount on a fixed date before the goods/service is delivered.
- THRESHOLD_POSTPAIDCharge payer when the set amount is reached or monthly billing cycle, whichever comes first, after the goods/service is delivered.
- THRESHOLD_PREPAIDCharge payer when the set amount is reached or monthly billing cycle, whichever comes first, before the goods/service is delivered.
PayPalEnvironment
The environment being used for PayPal.
enum values:
- CUSTOM
- LIVE
- OFFLINE
- custom
- live
- offline
PayPalFinancingCreditProductIdentifier
Possible identifiers for credit products provided via PayPal.
enum values:
- CREDIT_CARD_INSTALLMENTS_BRBrazil Credit Card Installments.
- CREDIT_CARD_INSTALLMENTS_MXMexico Credit Card Installments.
- CREDIT_CARD_USUnited States Credit Card.
- PAYPAL_CREDIT_DEGermany PayPal Credit.
- PAYPAL_CREDIT_UKUnited Kingdom PayPal Credit.
- PAYPAL_CREDIT_USUnited States PayPal Credit.
- PAY_LATER_FRFrance Pay Later.
- PAY_LATER_GBGreat Britain Pay Later.
- PAY_LATER_USUnited States Pay Later.
- PAY_UPON_INVOICE_DEGermany Pay Upon Invoice.
PayPalFinancingOptionCreditType
PayPal Financing option credit type.
enum values:
- INSTALLMENT
- NO_INTEREST
- PAY_UPON_INVOICE
- SAME_AS_CASH
PayPalIntent
The intent for PayPal payments.
enum values:
- AUTHORIZEMerchant will authorize the payment, but the funds will be captured separately.
- ORDERMerchant will create a PayPal Order. This validates the transaction without an authorization (i.e. without holding funds). Useful for authorizing and capturing funds up to 90 days after the order has been placed.
- SALEMerchant will authorize and captures funds simultaneously.
PayPalLandingPageType
The type of landing page to display on the PayPal site for user checkout.
enum values:
- BILLING
- DEFAULT
- LOGIN
PayPalRecurringBillingPlan
The type of recurring billing plan associated with the billing agreement.
enum values:
- INSTALLMENT
- RECURRING
- SUBSCRIPTION
- UNSCHEDULED
PayPalRecurringBillingPricingModel
The type of pricing model used for recurring billing.
enum values:
- AUTO_RELOAD
- FIXED
- VARIABLE
PayPalShippingOptionType
The method by which the payer wants to receive their items.
enum values:
- PICKUP
- SHIPPING
PaymentInitiator
The initiator of the payment. Payment can either be merchant-initiated or customer-initiated.
enum values:
- ESTIMATEDTransactions that are initiated by the merchant or customer when the final amount of the transaction is not known at the time of authorization.
- INSTALLMENTTransactions for subsequent installment payments. (e.g. when the customer makes a single large purchase and wants to make payments over time).
- INSTALLMENT_FIRSTTransactions that represent the first in a series of installment payments. Note: INSTALLMENT and INSTALLMENT_FIRST may only be available in certain regions. If installment transactions are not supported in your region, the transaction will automatically be categorized as recurring.
- MOTOTransactions that are initiated by the customer via the merchant by mail or telephone.
- RECURRINGTransactions that are initiated by the merchant for subsequent recurring payments (e.g. subscriptions with a fixed amount on a predefined schedule).
- RECURRING_FIRSTTransactions initiated by the customer that represent the first in a series of recurring payments or subscription.
- UNSCHEDULEDTransactions that are initiated by the merchant for unscheduled payments that are not recurring on a predefined schedule or amount (e.g. balance top-up).
PaymentMethodDeletionInitiator
Initiator of a payment method delete request.
enum values:
- CUSTOMER
- MERCHANT
PaymentMethodOriginType
A value identifying the third-party origin from which a customer provided their payment method.
enum values:
- APPLE_PAY
- GOOGLE_PAY
- IN_STORE_READER
- MASTERPASS
- META_CHECKOUT
- NETWORK_TOKEN
- PAYPAL
- SAMSUNG_PAYDeprecated: Samsung is no longer supported.
- VISA_CHECKOUT
PaymentMethodSnapshotSearchType
A value identifying the type of payment method used for a transaction. For certain payment methods such as credit cards, this value also encodes the origin from which a customer provided that payment method.
enum values:
- ALIPAY_VIA_PAYPAL
- BANCOMATPAY_VIA_PAYPAL
- BANCONTACT_VIA_PAYPAL
- BLIK_VIA_PAYPAL
- BOLETOBANCARIO_VIA_PAYPAL
- CREDIT_CARD
- CREDIT_CARD_VIA_APPLE_PAY
- CREDIT_CARD_VIA_GOOGLE_PAY
- CREDIT_CARD_VIA_MASTERPASS
- CREDIT_CARD_VIA_META_CHECKOUT
- CREDIT_CARD_VIA_NETWORK_TOKEN
- CREDIT_CARD_VIA_SAMSUNG_PAYDeprecated: Samsung is no longer supported.
- CREDIT_CARD_VIA_VISA_CHECKOUT
- EPS_VIA_PAYPAL
- GIROPAY_VIA_PAYPAL
- GRABPAY_VIA_PAYPAL
- IDEAL_VIA_PAYPAL
- LOCAL_PAYMENT
- MBWAY_VIA_PAYPAL
- MULTIBANCO_VIA_PAYPAL
- MYBANK_VIA_PAYPAL
- OXXO_VIA_PAYPAL
- P24_VIA_PAYPAL
- PAYPAL
- PAYU_VIA_PAYPAL
- PAY_UPON_INVOICE_VIA_PAYPAL
- SATISPAY_VIA_PAYPAL
- SEPA_DIRECT_DEBIT
- SEPA_VIA_PAYPAL
- SOFORT_VIA_PAYPAL
- SWISH_VIA_PAYPAL
- TRUSTLY_VIA_PAYPAL
- US_BANK_ACCOUNT
- VENMO_ACCOUNT
- VERKKOPANKKI_VIA_PAYPAL
- VIPPS_VIA_PAYPAL
- WECHAT_PAY_VIA_PAYPAL
PaymentReaderInputMode
The input mode used on the payment reader to facilitate an in-store transaction.
enum values:
- CONTACT
- CONTACTLESS
- MAGSTRIPE
- MAGSTRIPE_FALLBACK
- MANUAL_KEY_ENTRY
- VAULT
PaymentSearchType
The type of a Payment, based primarily on implementing type.
enum values:
- DETACHED_REFUNDOnly use this field if you have processed [detached credits](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits). The payment is a Refund, and represents a refund of a transaction not processed through your Braintree account.
- REFUNDThe payment is a Refund, and represents a refund of a transaction present in this Braintree account. Unless you have processed any [detached credits](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits), this type encompasses all refunds.
- TRANSACTIONThe payment is a Transaction.
PaymentSource
The origin of a request that created or changed a transaction or refund.
enum values:
- API
- CONTROL_PANEL
- PAYMENT_READER
- RECURRING
- UNKNOWN
PaymentStatus
The status of the payment, indicating its success or failure, and where it is in its [lifecycle](https://articles.braintreepayments.com/get-started/transaction-lifecycle). For further details on why any given status occurred, consult the corresponding `PaymentStatusEvent` in the payment's `statusHistory`.
enum values:
- AUTHORIZATION_EXPIREDThe transaction spent too much time in the `AUTHORIZED` status and was marked as expired. Expiration [time frames](https://developers.braintreepayments.com/reference/general/statuses#authorization-expired) differ by card type, transaction type, and, in some cases, merchant category.
- AUTHORIZEDThe processor authorized the transaction, putting your customer's funds on hold. Your customer may see a pending charge on his or her account. However, before the customer is actually charged and before you receive the funds, you must use the `captureTransaction` mutation. If you do not want to capture the transaction, you should use the `reverseTransaction` mutation to avoid a misuse of authorization fee.
- AUTHORIZINGIf a payment remains in a status of `AUTHORIZING`, [contact us for assistance](https://help.braintreepayments.com?issue=TransactionProcessingQuestion).
- FAILEDAn error occurred when sending the payment to the downstream processor. See the payment's `statusHistory` for the exact error.
- GATEWAY_REJECTEDThe transaction was [rejected](https://articles.braintreepayments.com/control-panel/transactions/gateway-rejections) based on one or more settings or rules in your Braintree gateway. See the transaction's `statusHistory` to determine which resulted in the decline.
- PROCESSOR_DECLINEDThe processor declined the transaction while attempting to authorize it. See the transaction's `statusHistory` to determine what reason the processor gave for the decline.
- SETTLEDThe payment has been settled. For transactions, this means your customer has been charged and the process of disbursing the funds to your bank account has begun. For refunds, it means that the process of disbursing funds back to the customer has begun.
- SETTLEMENT_CONFIRMEDThe transaction was captured partially and will not be submitted to processor for settling. Its child transaction(s) has been successfully captured and will be included in the next settlement batch.
- SETTLEMENT_DECLINEDThe processor declined the payment while attempting to capture it. See the payment's `statusHistory` to determine why it wasn't settled. This status is rare, and only certain types of transactions can be affected.
- SETTLEMENT_PENDINGThe transaction has not yet fully settled. This status is rare, and will generally resolve to a status of `SETTLED`. Only certain types of transactions can be affected.
- SETTLINGThe payment is in the process of being settled. This is a transitory state, and will resolve to a status of `SETTLED`.
- SUBMITTED_FOR_SETTLEMENTThe payment has been successfully captured, and will be included in the next settlement batch, at which time it will become settled.
- VOIDEDThe payment has been voided or canceled. For transactions, this means it's no longer authorized, your customer's funds are no longer on hold, and you can't use the `captureTransaction` mutation on this transaction. For refunds, it means the customer will not receive the funds from the refund.
PreDisputeProgram
The pre-dispute program of the dispute.
enum values:
- NONEThe dispute does not have a pre-dispute program.
- VISA_RDRThe dispute is part of the Visa Rapid Dispute Resolution (RDR) program.
ProcessingMode
A value identifying whether the authorization for a transaction was requested online or as a deferred authorization.
enum values:
- DEFERRED
- ONLINE
ProcessorDeclineType
Whether the decline is likely to be temporary or persistent. Can be taken into consideration when determining whether to retry a declined charge.
enum values:
- HARDHard declines are the result of an error or issue which can't be resolved immediately; the decline is not temporary and subsequent charges on the same payment method will likely not be successful.
- SOFTSoft declines result from a temporary issue and can be retried; subsequent charges on the same payment method may be successful.
ProductEnablementStatus
Product enablement state.
enum values:
- AVAILABLE
- DISABLED
- ENABLED
- NOT_AVAILABLE
- PROVISIONING
RecurringType
The type of recurring payment a transaction represents.
enum values:
- FIRST
- SUBSEQUENT
- UNSCHEDULED
RefundPolicy
Supported refund policies.
enum values:
- EXCHANGE_ONLY
- NO_REFUND_OR_EXCHANGE
- REFUND_CARDHOLDER
RiskDecision
The risk decision provides further context on how a transaction was scored for risk by Braintree.
enum values:
- APPROVE
- DECLINE
- NOT_EVALUATED
- REVIEW
SamsungPayEnvironment
Deprecated: Samsung pay is no longer supported.
The environment being used for Samsung Pay.
enum values:
- PRODUCTION
- SANDBOX
- production
- sandbox
SandboxSettlementState
The settlement state when forcing transaction settlement in the sandbox environment.
enum values:
- SETTLED
- SETTLEMENT_DECLINED
ScaExemptionType
The type of Strong Customer Authentication Exemption.
enum values:
- LOW_VALUE
- SECURE_CORPORATE
- TRANSACTION_RISK_ANALYSIS
- TRUSTED_BENEFICIARY
ThreeDSecureAuthenticationAcsWindowSize
An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.
enum values:
- FULL_PAGE
- W250_H400
- W390_H400
- W500_H600
- W600_H400
ThreeDSecureAuthenticationDeliveryTimeframe
Indicates the delivery timeframe if applicable.
enum values:
- ELECTRONIC_DELIVERY
- OVERNIGHT_SHIPPING
- SAME_DAY_SHIPPING
- TWO_OR_MORE_DAY_SHIPPING
ThreeDSecureAuthenticationMerchantProductCode
Merchant product code.
enum values:
- ACCOMMODATION_RETAIL
- AIRLINE
- CAR_RENTAL
- CASH_DISPENSING
- DIGITAL_GOODS
- FUEL
- GENERAL_RETAIL
- LUXURY_RETAIL
- OTHER
- RESTAURANT
- SERVICES
- TRAVEL
ThreeDSecureAuthenticationShippingType
Indicates the shipping type for the transaction.
enum values:
- DIGITAL_GOODS
- OTHER
- SHIP_TO_ADDRESS_ON_FILE
- SHIP_TO_BILLING_ADDRESS
- SHIP_TO_OTHER_ADDRESS
- SHIP_TO_STORE
- TICKETS_NOT_SHIPPED
ThreeDSecureAuthenticationStatus
The 3D Secure authentication status of the card.
enum values:
- AUTHENTICATE_ATTEMPT_SUCCESSFUL
- AUTHENTICATE_ERROR
- AUTHENTICATE_FAILED
- AUTHENTICATE_FAILED_ACS_ERROR
- AUTHENTICATE_FRICTIONLESS_FAILED
- AUTHENTICATE_REJECTED
- AUTHENTICATE_SUCCESSFUL
- AUTHENTICATE_UNABLE_TO_AUTHENTICATE
- AUTHENTICATION_UNAVAILABLE
- CHALLENGE_REQUIRED
- DATA_ONLY_SUCCESSFUL
- EXEMPTION_LOW_VALUE_SUCCESSFUL
- EXEMPTION_TRA_SUCCESSFUL
- LOOKUP_BYPASSED
- LOOKUP_CARD_ERROR
- LOOKUP_ENROLLED
- LOOKUP_ERROR
- LOOKUP_FAILED_ACS_ERROR
- LOOKUP_NOT_ENROLLED
- LOOKUP_SERVER_ERROR
- MPI_SERVER_ERROR
- SKIPPED_DUE_TO_RULE
- UNSUPPORTED_ACCOUNT_TYPE
- UNSUPPORTED_CARD
- UNSUPPORTED_THREE_D_SECURE_VERSION
ThreeDSecureAuthenticationStatusIndicator
Indicates the current status of the 3D Secure authentication.
enum values:
- AUTHENTICATION_REJECTED
- CHALLENGE_REQUIRED_DECOUPLED_AUTHENTICATION
- CHALLENGE_REQUIRED_FOR_AUTHENTICATION
- FAILED_AUTHENTICATION
- INFORMATIONAL_CHALLENGE_PREFERENCE_ACKNOWLEDGED
- SUCCESSFUL_ATTEMPTS_TRANSACTION
- SUCCESSFUL_AUTHENTICATION
- UNABLE_TO_COMPLETE_AUTHENTICATION
ThreeDSecureAuthenticationTransactionType
Indicates the type of transaction for 3D Secure authentication.
enum values:
- ADD_CARD
- CARDHOLDER_VERIFICATION
- DELAYED_SHIPMENT
- INSTALLMENT
- MAINTAIN_CARD
- PAYMENT
- PAYMENT_WITH_MULTIPLE_MERCHANTS
- RECURRING
- SPLIT_SHIPMENT
ThreeDSecureCardEnrolled
Indicates whether the card is enrolled in a 3D Secure program.
enum values:
- BYPASSAuthentication has been bypassed. This status will be returned if you set up bypass rules with CardinalCommerce, and they are triggered.
- ERRORThere was an error in determining whether the card is enrolled in a 3D Secure program.
- NOThe card is not enrolled.
- UNAVAILABLEThe DS (directory server) or ACS (access control server) is not available for authentication at the time of the request.
- YESThe card is enrolled.
ThreeDSecureDeviceChannel
The 3D Secure device channel.
enum values:
- BROWSER
- SDKFor transactions initiated with Cardinal Mobile SDK.
- THREE_R_IFor Merchant Initiated or 3RI transactions.
ThreeDSecureLookupShippingMethod
Indicates the shipping method chosen for the transaction in the 3D Secure lookup.
enum values:
- ELECTRONIC_DELIVERY
- GROUND
- OVERNIGHT_EXPEDITED
- PRIORITY
- SAME_DAY
- SHIP_TO_STORE
ThreeDSecureMerchantInitiatedRequestType
The 3D Secure Merchant Initiated Request Type.
enum values:
- DELAYED_SHIPMENT
- INSTALLMENT
- PAYMENT_WITH_MULTIPLE_MERCHANTS
- RECURRING
- SPLIT_SHIPMENT
ThreeDSecurePriorAuthenticationMethod
The 3D Secure Prior Authentication Method.
enum values:
- AVS_VERIFIED
- CHALLENGE
- FRICTIONLESS
- OTHER_ISSUER_METHOD
TransactionInstallmentAdjustmentType
Transaction Installment Adjustment type to indicate the reason for the adjustment.
enum values:
- DISPUTEDispute.
- REFUNDRefund.
TransactionLineItemType
Indicates whether a transaction line item is a debit (sale) or credit (refund).
enum values:
- CREDIT
- DEBIT
TransactionShippingMethod
Shipping method.
enum values:
- ELECTRONIC
- GROUND
- NEXT_DAY
- PICKUP_IN_STORE
- PRIORITY
- SAME_DAY
- SHIP_TO_STORE
UsBankAccountVerificationAddOn
Additional verifications for UsBankAccountVerificationMethod of type Network Check. See our [ACH guide](https://articles.braintreepayments.com/guides/payment-methods/ach#verification-methods).
enum values:
- CUSTOMER_VERIFICATIONAdditional verification via customer information.
UsBankAccountVerificationMethod
The type of verification on a US bank account payment method. See our [ACH guide](https://articles.braintreepayments.com/guides/payment-methods/ach#verification-methods).
enum values:
- INDEPENDENT_CHECKVerification conducted independently by the merchant, not through Braintree.
- MICRO_TRANSFERSVerification by micro-deposits transferred to the bank account, which the customer must then confirm. The most reliable method, but takes additional time.
- NETWORK_CHECKVerification via account information. Will complete the verification process immediately, but is not supported by all banks.
- TOKENIZED_CHECKVerification at the point of tokenization. Requires integration with a third-party provider. Because this requires a different tokenization flow, this method of verification is only supported for vaulting tokenized US bank account logins, and is not supported when re-verifying a US bank account payment method.
UsStateCode
A two-letter code representing a US state or territory.
enum values:
- AK
- AL
- AR
- AS
- AZ
- CA
- CO
- CT
- DC
- DE
- FL
- GA
- GU
- HI
- IA
- ID
- IL
- IN
- KS
- KY
- LA
- MA
- MD
- ME
- MI
- MN
- MO
- MP
- MS
- MT
- NC
- ND
- NE
- NH
- NJ
- NM
- NV
- NY
- OH
- OK
- OR
- PA
- PR
- RI
- SC
- SD
- TN
- TX
- UM
- UT
- VA
- VI
- VT
- WA
- WI
- WV
- WY
VaultPaymentMethodCriteria
Defines criteria for vaulting a single-use payment method after transacting with it.
enum values:
- ALWAYSAlways store the single-use payment method after transacting, regardless of the status of the transaction.
- ON_SUCCESSFUL_TRANSACTIONOnly store the single-use payment method if it was successfully authorized.
VaultQRCOverride
The override options for QR code vaulting.
enum values:
- HIDE_QRCDo not show QR code as a payment option, even if it is enabled.
- SHOW_QRC_NO_VAULTIf QR codes are enabled, show as a payment option, but do not vault.
VenmoIntent
The intended checkout flow communicated to the Venmo app.
enum values:
- CONTINUEContinue through the current checkout flow.
- PAY_FROM_APPInitiate the transaction directly from the Venmo app.
VenmoPaymentContextStatus
The status of the Venmo payment context.
enum values:
- APPROVEDVenmo user has approved the payment.
- CANCELEDVenmo user has canceled the payment.
- CREATEDThe Venmo payment context is created.
- EXPIREDThe window for payment has expired and the context was ended.
- FAILEDThe payment failed and the context was ended.
- SCANNEDVenmo user has scanned the QR code.
VerificationStatus
The status of the verification, indicating whether the payment method was successfully verified. Braintree recommends only vaulting payment methods with successful verifications.
enum values:
- FAILEDIndicates the verification was unsuccessful because of an issue communicating with the processor.
- GATEWAY_REJECTEDIndicates that the verification was unsuccessful because the payment method failed one or more fraud checks. In this case, the `gatewayRejectionReason` will indicate which fraud check failed.
- PENDINGIndicates that the verification is pending.
- PROCESSOR_DECLINEDIndicates that the verification was unsuccessful based on the response from the processor.
- VERIFIEDIndicates that the verification was successful.
- VERIFYINGIndicates that the verification is in the process of verifying.
Inputs
AccountCreationStatusSearchInput
Input fields for searching for BusinessAccountCreationRequests by their `AccountCreationStatus`.
input:
- is: AccountCreationStatusThe creation status is exactly this value.
- in: [AccountCreationStatus!]The creation status is one of these values.
AddressInput
Input fields for an Address.
input:
- company: StringCompany name. 255 character maximum.
- streetAddress: StringThe street address. 255 character maximum.
- addressLine1: StringThe first line of the street address, such as street number, street name. 255 character maximum.
- extendedAddress: StringExtended address information, such as an apartment or suite number. 255 character maximum.
- addressLine2: StringExtended address information, such as apartment number or suite number. 255 character maximum.
- firstName: StringFirst name. 255 character maximum.
- lastName: StringLast name. 255 character maximum.
- locality: StringLocality/city. 255 character maximum.
- adminArea2: StringA city, town or village. 255 character maximum.
- region: StringState or province. 255 character maximum.
- adminArea1: StringHighest level subdivision, such as state, province or ISO-3166-2 subdivision. 255 character maximum.
- postalCode: StringPostal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code. Nine alphanumeric characters maximum, may also contain spaces and hyphens. *Required in the shipping address for Level 3 processing*.
- countryCode: CountryCodeCountry code for the address. *Required in the shipping address for Level 3 processing*.
AuthenticationInsightInput
Input fields when requesting authentication insight for a payment method.
input:
- merchantAccountId: ID!ID of the merchant account that will be used when charging this payment method.
- amount: AmountThe intended transaction amount to be authorized on this payment method.
- recurringCustomerConsent: BooleanA flag indicating whether the customer has consented to further recurring transactions.
- recurringMaxAmount: AmountThe maximum amount permitted for recurring transactions set by the customer.
BusinessAccountCreationRequestSearchInput
Input fields for searching for BusinessAccountCreationRequests.
input:
- id: SearchValueInputFind BusinessAccountCreationRequests with an ID or IDs.
- externalId: SearchValueInputFind BusinessAccountCreationRequests by their external ID or IDs.
- status: AccountCreationStatusSearchInputFind BusinessAccountCreationRequests by their creation status.
CaptureTransactionInput
Top-level input fields for capturing an authorized transaction.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transactionId: ID!ID of the transaction to be captured.
- transaction: CaptureTransactionOptionsInputInput fields for the capture, with details that will define the resulting transaction.
CaptureTransactionOptionsInput
Input fields for a capture, with details that will define the resulting transaction.
input:
- amount: AmountThe amount to capture on the transaction. Must be greater than 0. You can't capture more than the authorized amount unless your industry and processor support settlement adjustment (capturing a certain percentage over the authorized amount); [contact us for assistance](https://help.braintreepayments.com?issue=TransactionProcessingQuestion). If you capture an amount that is less than what was authorized, the transaction object will return the amount captured.
- descriptor: TransactionDescriptorInputFields used to define what will appear on a customer's bank statement for a specific purchase. If specified, this will update the existing descriptor on the transaction.
- discountAmount: StringDiscount amount that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. This value can't be negative. Please note that this field is not used on PayPal transactions. *Required for Level 3 processing*.
- lineItems: [TransactionLineItemInput!]Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
- orderId: StringAdditional 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. If specified, this will update the existing order ID on the transaction.
- purchaseOrderNumber: StringA purchase order identification value you associate with this transaction. *Required for Level 2 processing*.
- shipping: TransactionShippingInputShipping information. *Required for Level 3 processing*.
- tax: TransactionTaxInputTax information about the transaction. *Required for Level 2 processing*.
- industry: TransactionIndustryInputIndustry data information. Only one of the three sub-input fields can be provided.
ChargeCreditCardInput
Top-level input fields for creating a transaction by charging a credit card.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of a credit card payment method to be charged.
- options: CreditCardTransactionOptionsInputInput fields for creating a credit card transaction.
- transaction: TransactionInput!Input fields for the charge, with details that will define the resulting transaction.
ChargePayPalAccountInput
Top-level input fields for creating a transaction by charging a PayPal account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!The ID of an existing PayPal account.
- options: ChargePayPalAccountOptionsInputInput fields related to the PayPal account being charged.
- transaction: TransactionInput!Input fields for the charge, with details that will define the resulting transaction.
ChargePayPalAccountOptionsInput
Input fields for creating a transaction with a PayPal account.
input:
- customField: StringVariable passed directly to PayPal for your own tracking purposes. Customers do not see this value.
- description: StringDescription of the transaction that is displayed to customers in PayPal email receipts.
- selectedFinancingOption: SelectedPayPalFinancingOptionInputBuyer selected PayPal financing option.
ChargePaymentMethodInput
Top-level input fields for creating a transaction by charging a payment method.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of a payment method to be charged.
- transaction: TransactionInput!Input fields for the charge, with details that will define the resulting transaction.
ChargeUsBankAccountInput
Top-level input fields for creating a transaction by charging a US bank account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!The ID of an existing US bank account.
- options: ChargeUsBankAccountOptionsInputInput fields related to the US bank account being charged.
- transaction: TransactionInput!Input fields for the charge, with details that will define the resulting transaction.
ChargeUsBankAccountOptionsInput
Input fields for creating a transaction with a US bank account.
input:
- standardEntryClassCode: ACHStandardEntryClassCodeA NACHA standard entry class (SEC) code, which designates how the transaction was authorized. Most internet-based sales should use the `WEB` code.
ChargeVenmoAccountInput
Top-level input fields for creating a transaction by charging a Venmo account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!The ID of an existing Venmo account.
- options: ChargeVenmoAccountOptionsInputInput fields for creating a Pay with Venmo transaction.
- transaction: TransactionInput!Input fields for the charge, with details that will define the resulting transaction.
ChargeVenmoAccountOptionsInput
Input fields for creating a Pay with Venmo transaction.
input:
- profileId: StringSpecifies which Venmo business profile to use for the transaction.
ClientTokenInput
Input fields for creating a client token.
input:
- merchantAccountId: IDThe merchant account ID used to create the client token. Defaults to your default merchant account ID.
- customerId: IDThe ID of an existing customer. Including this will allow your customer to vault and manage their payment methods.
- domains: [String!]Some services require a list of domains that are allowed to use this token.
ConfirmMicroTransferAmountsInput
Top-level input field for confirming micro-transfer values.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- verificationId: ID!The ID of the verification from vaulting the bank account.
- amountsInCents: [Int!]!The amounts, in cents, of two deposits made into the customer's bank account after initiating a MICRO_TRANSFERS verification. These values should be collected from your customer.
CreateClientTokenInput
Top-level input field for generating a client token.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- clientToken: ClientTokenInputInput fields for creating a client token.
CreateCustomerInput
Top-level field for creating a customer.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- customer: CustomerInputInput fields for creating a customer.
CreateDisputeFileEvidenceInput
Top-level input fields for adding file evidence to a dispute.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- disputeId: ID!The ID of the dispute to be accepted.
- category: DisputeFileEvidenceCategoryThe category for the evidence file.
CreateDisputeTextEvidenceInput
Top-level input fields for creating text evidence for a dispute.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- disputeId: ID!The ID of the dispute to create the evidence for.
- category: DisputeTextEvidenceCategoryThe category of the text evidence.
- content: String!The content of the text evidence.
CreateInStoreLocationInput
Input fields for creating an in store location.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- location: InStoreLocationInput!Input fields to create an in-store Location.
CreateNonInstantLocalPaymentContextInput
Top-level input fields for creating a non-instant local payment context.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentContext: NonInstantLocalPaymentContextInput!Input fields for creating a non-instant local payment context.
CreateOAuthClientSecretInput
Input fields for creating a new OAuth client secret.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
CreatePayPalBillingAgreementInput
Top-level input field for creating a PayPal Billing Agreement Token.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- merchantAccountId: IDBraintree merchant account ID associated with the PayPal account to be used for the Billing Agreement creation.
- returnUrl: URL!URL for redirect back to merchant app on the client indicating successful approval.
- cancelUrl: URL!URL for redirect back to merchant app on the client indicating unsuccessful approval.
- description: StringDescription of the PayPal Billing Agreement, displayed to the PayPal user on paypal.com and other PayPal user experiences.
- email: EmailAddressEmail of the payer (if known). This will prepopulate the input field in the PayPal approval page.
- offerPayPalCredit: BooleanIndicates whether PayPal Credit should be offered in the PayPal approval flow.
- recurringBillingPlan: PayPalRecurringBillingPlanInputBilling plan for recurring payments.
- paypalRiskCorrelationId: IDPayPal Risk correlation ID (also known as the Client Metadata ID).
- paypalExperienceProfile: PayPalBillingAgreementExperienceProfileInputDefines the experience profile used to render the billing agreement approval flow.
- shippingAddress: AddressInputMerchant-provided shipping address. Fields addressLine1, adminArea2, and countryCode are required for Billing Agreements.
- paypalProductAttributes: PayPalProductAttributesInputProduct attributes input for PayPal billing agreement.
CreatePayPalOneTimePaymentInput
Top-level input field for creating a PayPal One-Time Payment.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- merchantAccountId: IDBraintree merchant account ID associated with the PayPal account to be used for the One-Time payment creation.
- amount: MonetaryAmountInput!Total amount for payment to be charged to consumer.
- cancelUrl: URL!URL for redirect back to merchant app on the client indicating unsuccessful approval.
- email: EmailAddressEmail of the payer. This will prepopulate the input field in the PayPal approval login page.
- intent: PayPalIntent!The payment intent.
- lineItems: [PayPalLineItemInput!]The line items for this transaction. Maximum 249 line items.
- offerPayLater: BooleanIndicates whether PayPal Pay Later should be offered in the PayPal approval flow.
- paypalRiskCorrelationId: IDPayPal Risk correlation ID (also known as the Client Metadata ID).
- paypalExperienceProfile: PayPalExperienceProfileInputDefines the experience profile used to render the approval flow.
- requestBillingAgreement: BooleanIndicates whether this payment uses the [Billing Agreement with Purchase flow](https://developers.braintreepayments.com/guides/paypal/checkout-with-paypal/javascript/v3#checkout-using-paypal-billing-agreement-with-purchase-flow). This will request Billing Agreement approval from the customer, and a multi-use PayPal payment method will be created alongside the transaction.
- billingAgreementDescription: StringA description of the Billing Agreement being requested. This is displayed to the customer on paypal.com when `requestBillingAgreement` is true. Maximum 127 characters.
- returnUrl: URL!URL for redirect back to merchant app on the client indicating successful approval.
- shippingAddress: AddressInputMerchant-provided shipping address. If passing a shipping address, fields addressLine1, adminArea2, and countryCode are required.
- shippingOptions: [PayPalShippingOptionInput!]List of shipping options offered by the payee or merchant to the payer to ship or pick up their items. **Note:** `shippingOptions` may not be passed with intent `ORDER` payments.
- shippingCallbackUrl: URLURL for redirecting back to the merchant app to update a customer shipping address.
CreateProductRequestForMerchantInput
Input fields for requesting access to a product.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- productCode: ProductCode!Code of product to be requested.
CreateTransactionPackageTrackingInput
Input fields for creating an individual package tracker for a PayPal transaction.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transactionId: ID!The ID of the transaction to create the tracker for. The transaction be must be submitted for settlement before adding trackers. If this is a partial settlement transaction, provide the child transaction ID.
- trackingNumber: String!Tracking number for this package. 64 characters maximum.
- carrier: String!Shipping carrier. In order to provide customer with convenient tracking updates, refer to [PayPal Add Tracking API Carriers](https://developer.paypal.com/docs/tracking/reference/carriers/), and use the middle column of screaming snake case values for the carrier of the shipment. If the carrier cannot be found in this list, use the carrier's name. 64 characters maximum.
- notifyPayer: BooleanIndicator of whether or not to send customer notifications of shipment. Defaults to false.
- lineItems: [TransactionPackageTrackingLineItemInput!]Line items for this shipment. Up to 249 line items may be specified.
CreateUniversalAccessTokenInput
Top-level input field for generating a PayPal access token.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- customerId: IDThe ID of an existing customer. Including this will allow the access token to interact with this customer's data.
- type: ACRType!Authentication context class reference for the universal access token.
CreateVenmoPaymentContextInput
Fields that are provided when creating a Venmo context.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- intent: VenmoIntent!Complete the transaction from merchant site or Venmo App.
- paymentMethodUsage: PaymentMethodUsage!Whether the resulting payment method may be used to make a one time payment (`SINGLE_USE`) or to create a vaulted multi-use payment token (`MULTI_USE`).
- customerClient: CustomerClient!Client the customer used to initiate the transaction.
- merchantProfileId: IDAn identifier representing the profile of the merchant used to initiate the transaction.
- displayName: StringThe sub-merchant display name shown on the Venmo app consent screen. This field will only be present for PayFast channel partner merchants.
- paysheetDetails: VenmoPaysheetDetailsInputDetails about the information to be displayed on the Venmo Paysheet.
- isFinalAmount: BooleanIndicates whether the purchase amount is the final amount.
- returnUrl: URLURL for redirecting back to merchant app or website on the client.
CreditCardFraudToolsOptionsInput
Input fields that allow you to skip certain fraud checks. These will override Control Panel settings.
input:
- skipCvv: BooleanSkip CVV checks. Will result in a `cvvResponse` of `BYPASS` in the response from the processor. This only applies to chargeCreditCard and authorizeCreditCard; you cannot use these fields for vaultCreditCard and verifyCreditCard.
- skipAvs: BooleanSkip AVS checks. Will result in an `avsPostalCodeResponse` of `BYPASS` in the response from the processor. This only applies to chargeCreditCard and authorizeCreditCard; you cannot use these fields for vaultCreditCard and verifyCreditCard.
- skipAdvancedFraudChecking: BooleanSkip [advanced fraud checks](https://developers.braintreepayments.com/guides/advanced-fraud-management-tools/overview).
CreditCardInput
Input fields for a credit card.
input:
- number: StringThe 12-to-19-digit value that uniquely identifies this credit card, also known as the primary account number or PAN.
- expirationYear: StringThe two- or four-digit year associated with a credit card, formatted `YYYY` or `YY`.
- expirationMonth: StringThe expiration month of a credit card, formatted `MM`.
- cvv: StringA three- or four-digit card verification value assigned to credit cards. The CVV will never be stored, but it can be provided with one-time requests to verify the card.
- cardholderName: StringWhen supplied, the cardholder name that will be tokenized with the contents of the fields.
- billingAddress: AddressInputThe billing address for the credit card.
CreditCardTransactionOptionsInput
Input fields for creating a transaction by authorizing or charging a credit card.
input:
- externalVault: TransactionExternalVaultOptionsInputDetails about this transaction if it's being created from a credit card that is or will be stored in an non-Braintree vault.
- billingAddress: AddressInputA billing address to use for the transaction. If a billing address was provided when tokenizing or is present on the vaulted credit card, it will be *merged* with this input value, with priority given to this input value.
- accountType: CardAccountTypeThe type of account to be used when transacting with a combo card.
- tokenizedCvv: IDThe CVV for the credit card to be used when creating this transction, securely tokenized with the `tokenizeCvv` mutation.
- fraudTools: CreditCardFraudToolsOptionsInputControl which fraud tools will be applied to this transaction. Fraud tools cannot be retroactively applied to a transaction if skipped.
- threeDSecureAuthentication: ThreeDSecureAuthenticationInput3D Secure authentication information performed for this transaction. Only use these fields if you are charging or authorizing a single-use payment method ID that was *not* generated by a 3DS flow on on the client.
- scaExemption: ScaExemptionTypeThe type of Strong Customer Authentication Exemption requested.
- installmentCount: IntNumber of monthly installments (can be anywhere between 2 and 48).
CreditCardVerificationOptionsInput
Input fields that specify options for verifying the credit card.
input:
- merchantAccountId: IDID of the merchant account to use when verifying the credit card.
- accountType: CardAccountTypeThe type of account to be used when verifying a combo card.
- riskData: RiskDataInputCustomer device information, which is sent directly to supported processors for fraud analysis.
- fraudTools: CreditCardFraudToolsOptionsInputControl which fraud tools will be applied to this verification. Fraud tools cannot be retroactively applied to a verification if skipped.
- tokenizedCvv: IDThe CVV for the credit card to be used when verifying the credit card, securely tokenized with the `tokenizeCvv` mutation.
- amount: AmountThe amount to use to verify the credit card.
- skip: BooleanWhether to opt out of verifying the credit card. Defaults to `false`. Clients should only pass `true` in the uncommon scenario that the credit card has been verified externally to Braintree.
CustomActionsPaymentMethodFieldInput
Fields that are provided during tokenization and are presented to the invoked action to be consumed.
CustomActionsPaymentMethodInput
Input fields for a Custom Actions payment method.
input:
- actionName: String!The action you wish to invoke when using the tokenized payment method.
- fields: [CustomActionsPaymentMethodFieldInput!]!Fields that your action requires.
CustomFieldInput
Custom field name/value pairs. Maximum 255 characters. 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.
input:
- name: CustomFieldName!Name of the custom field as defined in the Control Panel.
- value: StringValue for the named custom field. A null value will ignore (on create) or remove (on update) the custom field.
CustomerInput
Input fields for creating or updating a customer. On update, omitted fields will not be updated. Passing a null value will assign null to that field.
input:
- company: StringCompany or business name associated with the customer.
- 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.
- email: StringEmail address for the customer.
- firstName: StringCustomer's first name.
- lastName: StringCustomer's last name.
- phoneNumber: StringThe customer's phone number.
- fax: StringThe customer's fax.
- website: URLThe customer's website.
- taxIdentifiers: [CustomerTaxIdentifierInput!]A set of country code ID pairs, analogous to Social Security numbers in the United States. A customer may have multiple tax identifiers, but only one per tax jurisdiction. The values provided for an update will be stored and previous entries will be updated. **Note:** You will only need to use these fields for processing in certain countries.
CustomerSearchInput
Input fields for searching for customers.
input:
- id: SearchValueInputFind customers with an id or ids.
- company: SearchTextInputFind customers with a given company or business name.
- createdAt: SearchTimestampInputFind customers with a given created at time.
- email: SearchTextInputFind customers with a given email address.
- firstName: SearchTextInputFind customers with a given first name.
- lastName: SearchTextInputFind customers with a given last name.
- phoneNumber: SearchTextInputFind customers with a given phone number.
CustomerTaxIdentifierInput
The customer's tax identifer for a given tax jurisdiction.
input:
- identifier: String!The identifier provided in the format required for the given tax jurisdiction.
- countryCode: CountryCode!The country code of the tax jurisdiction for this tax identifier.
DeletePaymentMethodFromSingleUseTokenInput
Top-level input fields for deleting a payment method referenced by a single-use token.
DeletePaymentMethodFromVaultInput
Top-level input fields for deleting a multi-use payment method from the vault.
DetachedRefundInput
Specific input fields for describing a detached refund.
input:
- amount: Amount!The amount to refund.
- orderId: StringThe refund's order ID.
- merchantAccountId: IDID of the merchant account that will be used when performing the refund.
- 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: TransactionDescriptorInputFields used to define what will appear on a customer's statement (for instance, credit card or bank statement) for this refund. This should match the original transaction if possible.
DisableProductForMerchantInput
Input to disable a Product for a Merchant.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- code: ProductCode!Unique code of the product being disabled.
DisputeSearchInput
Input fields for searching for Disputes.
input:
- id: SearchValueInputFind disputes with an id or ids.
- status: SearchDisputeStatusInputFind disputes with a given status.
- type: SearchDisputeTypeInputFind disputes with a given type.
- reason: SearchDisputeReasonInputFind disputes with a given reason description.
- caseNumber: SearchTextInputFind disputes with a given processor's caseNumber.
- referenceNumber: SearchTextInputFind disputes with a given transaction referenceNumber.
- amountDisputed: MonetaryAmountSearchInputFind disputes for a given amount or currency.
- amountWon: MonetaryAmountSearchInputFind disputes by the amount won.
- receivedDate: SearchDateInputFind disputes by the date received.
- replyByDate: SearchDateInputFind disputes by the reply by date.
- effectiveDate: SearchDateInputFind disputes by the date a status change history event took effect.
- transaction: DisputeTransactionSearchInputFind disputes based on a set of transaction criteria.
- protectionLevel: SearchDisputeProtectionLevelInputFind disputes with a given protection level.
- preDisputeProgram: SearchPreDisputeProgramInputFind disputes with a given pre-dispute program.
DisputeTransactionSearchInput
Transaction input fields for searching for disputes.
input:
- transactionId: SearchValueInputFind disputes for a transaction id or ids.
- customerId: SearchValueInputFind disputes for a customer id or ids.
- transactionSource: SearchTransactionSourceInputFind disputes with a given transaction source.
- paymentMethodSnapshotType: SearchPaymentMethodSnapshotTypeInputFind disputes on transactions charging payment methods of the given type.
- facilitatorOAuthApplicationClientId: SearchValueInputFind disputes on transactions created by a third party via the Grant API using a given OAuth application client ID.
- disbursementDate: SearchDateInputFind disputes by the transaction's disbursement date.
- merchantAccountId: SearchDisputeMerchantAccountIdInputFind disputes on transactions associated with a merchant account ID or IDs.
EnableProductForMerchantInput
Input to enable a Product for a Merchant.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- code: ProductCode!Unique code of the product being enabled.
ExchangeRateQuoteInput
Input to generate the exchange rate quote.
input:
- baseCurrency: CurrencyCodeAlpha!The currency code from which the exchange rate will be used to convert to the `quoteCurrency`.
- quoteCurrency: CurrencyCodeAlpha!The currency code to which the exchange rate will be used to convert from `baseCurrency`.
- baseAmount: AmountThe amount in the `baseCurrency` to be converted to the `quoteCurrency`. If this is provided, the result will include the converted amount properly rounded.
- markup: PercentageA percentage added into the exchange rate. This allows the merchant to settle for more than the quoted `tradeRate`.
GenerateExchangeRateQuoteInput
Input to generate a list of exchange rate quotes.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- quotes: [ExchangeRateQuoteInput!]!Base and quote currency combinations for which the quote will be generated.
GeoCoordinatesInput
Coordinates describing a geographic position.
input:
- latitude: Float!The angular distance of a place north or south of the earth's equator. A positive value is north of the equator, a negative value is south of the equator.
- longitude: Float!The angular distance of a place east or west of the meridian at Greenwich, England. A positive value is east of the prime meridian, a negative value is west of the prime meridian.
InStoreChoiceInput
Input fields for a choice on an in-store reader.
input:
- primaryText: String!The primary text of the choice to be displayed on the in-store reader, with a maximum of 35 characters.
- secondaryText: StringThe secondary text of the choice to be displayed on the in-store reader, with a maximum of 35 characters.
- style: InStoreBackgroundStyleThe background style of the choice. Defaults to PRIMARY.
InStoreDisplayItemInput
Input fields for an individual display item on an in-store reader.
input:
- kind: DisplayItemType!The display item type to be displayed on the in-store reader.
- description: StringThe display item text to be displayed on the in-store reader. 35 character maximum.
- quantity: FloatThe number of units for a CHARGE or DISCOUNT item. Must be greater than 0.
- amount: AmountThe total amount of a CHARGE or DISCOUNT item.
InStoreLocationAddressInput
Input fields for an in-store Location Address.
input:
- streetAddress: String!The street address.
- extendedAddress: StringExtended address information, such as an apartment or suite number.
- locality: String!Locality/city.
- region: String!State or province.
- postalCode: String!Postal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
- countryCode: CountryCode!Country code for the address.
InStoreLocationAddressSearchInput
Input fields for searching an in-store location address. If multiple fields are specified, location addresses will be returned which meet all of the specified criteria.
input:
- streetAddress: SearchTextValueInputFind in-store locations with a given street address (case-insensitive).
- extendedAddress: SearchTextValueInputFind in-store locations with a given extended address (case-insensitive).
- locality: SearchTextValueInputFind in-store locations with a given locality (case-insensitive).
- region: SearchTextValueInputFind in-store locations with a given region (case-insensitive).
- postalCode: SearchTextValueInputFind in-store locations with a given postal code.
InStoreLocationAddressUpdateInput
Input fields for an in-store Location Address update.
input:
- streetAddress: StringThe street address.
- extendedAddress: StringExtended address information, such as an apartment or suite number.
- locality: StringLocality/city.
- region: StringState or province.
- postalCode: StringPostal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
- countryCode: CountryCodeCountry code for the address.
InStoreLocationConditionInput
Input fields for searching an in-store location. If multiple fields are specified, locations will be returned which meet all of the specified criteria.
input:
- id: SearchValueInputFind in-store locations with a given ID or IDs.
- name: SearchTextValueInputFind in-store locations with a given name (case-insensitive).
- internalName: SearchTextValueInputFind in-store locations with a given internal name (case-insensitive).
- address: InStoreLocationAddressSearchInputFind in-store locations with a given address.
InStoreLocationInput
Fields required for an instore location.
input:
- name: String!The publicly visible label of this Location.
- internalName: String!Name assigned by the merchant to uniquely identify this Location.
- address: InStoreLocationAddressInput!The address of the in-store Location.
- geoCoordinates: GeoCoordinatesInputThe coordinates of this location.
- payerId: IDThe PayPal account ID to which this Location will be added.
- enableQRCodePayments: Boolean!Whether QR code payments will be enabled for this location.
InStoreLocationSearchInput
Input fields for searching in-store locations.
input:
- conditionsIn: [InStoreLocationConditionInput!]Find in-store locations which meet any of the specified conditions.
InStoreLocationUpdateInput
Fields required to update an in-store location.
input:
- name: StringThe publicly visible label of this location.
- internalName: StringName assigned by the merchant to uniquely identify this location.
- address: InStoreLocationAddressUpdateInputThe address of the location.
- geoCoordinates: GeoCoordinatesInputThe coordinates of this location.
- payerId: IDThe PayPal account ID to which this location will be added.
- enableQRCodePayments: BooleanWhether QR code payments will be enabled for this location.
InStorePrintContentInput
Input fields for content to be printed on the in-store reader.
input:
- text: InStorePrintTextInputThe text content to be printed.
- image: InStorePrintImageInputThe image content to be printed.
InStorePrintImageInput
Input fields for image content to be printed on the in-store reader.
input:
- value: String!The base64-encoded string representation of the image. The image must be in PNG format and cannot exceed 76,800 bytes in size.
- endOfLineFlag: BooleanA boolean flag indicating whether this is the last item on the current line. Defaults to `true`. Also, it offers the option for the caller to print two or more items side-by-side.
- alignment: InStorePrintAlignmentThe alignment of the image on the printed paper. Defaults to `CENTER`.
InStorePrintTextInput
Input fields for text content to be printed on the in-store reader.
input:
- value: String!The text value to be printed.
- endOfLineFlag: BooleanA boolean flag indicating whether this is the last item on the current line. Defaults to `true`.
- alignment: InStorePrintAlignmentThe alignment of the text on the printed paper. Defaults to `CENTER`.
- textDecoration: InStorePrintTextDecorationThe decoration of the text. Defaults to `NORMAL`.
- fontWeight: InStorePrintTextFontWeightThe font weight of the text. Defaults to `NORMAL`.
- fontStyle: InStorePrintTextFontStyleThe font style of the text. Defaults to `NORMAL`.
- fontSize: IntThe font size of the text. Defaults to `24`.
InStoreReaderConditionInput
Input fields for searching an in-store reader. If multiple fields are specified, only readers that meet all of the specified criteria will be returned.
input:
- id: SearchValueInputFind in-store readers with a given ID or IDs.
- name: SearchTextValueInputFind in-store readers with a given name. Note: Field is case insensitive.
- status: ReaderStatusFind in-store readers with a given reader status.
- softwareVersion: SearchTextValueInputFind in-store readers with a given software version. Note: Field is case insensitive.
- model: SearchTextValueInputFind in-store readers with a given model. Note: Field is case insensitive.
- serialNumber: SearchTextValueInputFind in-store readers with a given serial number. Note: Field is case insensitive.
- location: [InStoreLocationConditionInput!]Find in-store readers with a given location.
InStoreReaderSearchInput
Input fields for searching for in-store readers.
input:
- locationId: SearchValueInputFind in-store readers with location ID or IDs.
- softwareVersion: SearchSoftwareVersionInputFind in-store readers with software version.
- readerStatus: ReaderStatusFind in-store readers with reader status.
- conditionsIn: [InStoreReaderConditionInput!]Find in-store readers which meet any of the specified conditions.
InStoreRefundInput
Input fields for creating an in-store transaction.
input:
- amount: Amount!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: IDMerchant 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: StringAdditional 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: TransactionDescriptorInputFields used to define what will appear on a customer's bank statement for a specific purchase.
InStoreTransactionInput
Input fields for creating an in-store transaction.
input:
- amount: Amount!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: IDMerchant 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: StringAdditional 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: TransactionDescriptorInputFields used to define what will appear on a customer's bank statement for a specific purchase.
- customerId: IDIf 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: VaultInStorePaymentMethodAfterTransactingInputWhen 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: StringFor 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.
- purchaseOrderNumber: StringA purchase order identification value you associate with this transaction. *Required for Level 2 processing*.
- tax: TransactionTaxInputTax information about the transaction. *Required for Level 2 processing*.
- shipping: TransactionShippingInputShipping information. *Required for Level 3 processing*.
- discountAmount: StringDiscount amount that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. This value can't be negative. Please note that this field is not used on PayPal transactions. *Required for Level 3 processing*.
- lineItems: [TransactionLineItemInput!]Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
- industry: TransactionIndustryInputIndustry data information. Only one of the three sub-input fields can be provided.
- acceptPartialAuthorization: BooleanControls whether to allow partial authorizations (or "partial approvals") for this transaction. Defaults to false.
IndustryAdditionalChargeInput
Input fields for industry data additional charges.
input:
- kind: IndustryAdditionalChargeType!The kind of charge.
- amount: Amount!The amount of the additional charge.
IndustryCruiseInput
Input fields for industry cruise data.
input:
- travelPackage: IndustryCruiseTravelPackageType!The cruise travel package.
- lodgingCheckInDate: DateThe date of cruise check in.
- lodgingCheckOutDate: DateThe date of cruise check out.
- departureDate: DateThe date of cruise departure.
- lodgingName: StringThe cruise lodging name.
IndustryFlightInput
Input fields for industry flight data.
input:
- passengerFirstName: StringThe passenger's first name.
- passengerLastName: StringThe passenger's last name.
- passengerMiddleInitial: StringThe passenger's middle initial.
- passengerTitle: StringThe passenger's title (e.g. Mr, Ms).
- dateOfBirth: DateThe passenger's date of birth.
- countryCode: CountryCodeAlpha2The passenger's nationality.
- issuedDate: DateThe day on which the tickets were issued.
- travelAgencyName: StringThe travel agency's name.
- travelAgencyCode: StringThe travel agency's IATA code.
- ticketNumber: StringThe primary ticket number. Maximum 15 characters.
- issuingCarrierCode: StringThe ticket issuer's IATA code. Maximum 4 characters. For airline, code is obtained from the Official Airline Guide or its equivalent. Required for Reduced Interchange.
- customerCode: StringThe code supplied by the customer using a purchase card. Maximum 17 characters.
- fareAmount: AmountThe fare amount.
- feeAmount: AmountThe fee amount.
- taxAmount: AmountThe tax amount.
- restrictedTicket: Boolean!Indicates if the ticket is restricted.
- arrivalDate: DateThe date of check-in.
- ticketIssuerAddress: AddressInputThe address of the agency issuing the ticket.
- legs: [IndustryFlightLegInput!]Identifies the different legs of travel. It can include up to 12 items.
IndustryFlightLegInput
Input fields for industry data legs.
input:
- conjunctionTicket: StringThe conjunction ticket. Maximum 14 characters.
- exchangeTicket: StringThe ticket number issued when the ticket was exchanged. Maximum 15 characters.
- couponNumber: StringThe coupon number. Exactly 1 character.
- serviceClass: StringThe class of service's IATA code. Maximum 2 characters.
- carrierCode: StringThe carrier's IATA code. Maximum 2 characters.
- fareBasisCode: StringThe fare basis code. Maximum 15 characters.
- flightNumber: StringThe flight number. Maximum 5 characters.
- departureDate: DateThe day of departure.
- departureAirportCode: StringThe departure airport's IATA code. Exactly 3 characters.
- departureTime: StringThe departure time in the 24-hour format HH:MM.
- arrivalAirportCode: StringThe arrival airport's IATA code. Exactly 3 characters.
- arrivalTime: StringThe arrival time in the 24-hour format HH:MM.
- stopoverPermitted: BooleanIndicates whether a stopover is permitted.
- fareAmount: AmountThe fare amount.
- feeAmount: AmountThe fee amount.
- taxAmount: AmountThe tax amount.
- endorsementOrRestrictions: StringThe notes or notations about endorsements or restrictions (e.g. NOT REFUNDABLE).
IndustryLodgingInput
Input fields for industry lodging data.
input:
- folioNumber: StringThe folio number assigned to the itemized statement assigned to this stay. Alphanumeric with a maximum of 12 characters.
- checkInDate: DateCustomer check-in date.
- checkOutDate: DateCustomer check-out date.
- roomRate: AmountHotel daily room charge.
- roomTax: AmountHotel daily tax.
- noShow: BooleanIndicates whether or not the customer checked in, rented a car, etc. It should be true when the guest did not show up for the reservation.
- advancedDeposit: BooleanThis transaction is an advanced payment for a hotel stay.
- fireSafe: BooleanThis property complies with the Hotel and Motel Fire Safety Act of 1990.
- propertyPhone: StringThe property's 10-digit phone number, consisting of digits (0-9), dashes (-), parentheses (()), and dots (.). Examples: (555)555-1234, 555-555-1234.
- additionalCharges: [IndustryAdditionalChargeInput!]The list of additional charges for the hotel stay.
LocalPaymentAddressInput
Input fields for local payment addresses.
input:
- streetAddress: StringThe street address.
- extendedAddress: StringExtended address information, such as an apartment or suite number.
- locality: StringLocality/city.
- region: StringState or province.
- postalCode: StringPostal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
- countryCode: CountryCodeCountry code for the address.
LocalPaymentPayerInfoInput
Input fields for the payer of a local payment.
input:
- givenName: String!The payer's given (first) name.
- surname: String!The payer's surname (last name).
- email: EmailAddressThe payer's email.
- phoneNumber: StringThe payer's phone number.
- shippingAddress: LocalPaymentAddressInputThe payer's shipping address.
- billingAddress: LocalPaymentAddressInputThe payer's billing address.
- taxInfo: TaxInfoInputThe payer's tax information. This is only required for Boleto Bancário payments.
MerchantAccountSearchInput
Input fields for searching for merchant accounts.
input:
- id: SearchValueInputFind merchant accounts with an id or ids.
- paypalAccountId: SearchValueInputFind merchant accounts associated with a given PayPal account ID.
MonetaryAmountInput
Input fields representing an amount with currency.
input:
- value: Amount!The amount of money, either a whole number or a number with up to 3 decimal places.
- currencyCode: CurrencyCodeAlpha!The currency code for the monetary amount.
MonetaryAmountSearchInput
Input fields for searching for a transaction or refund amount.
input:
- value: SearchRangeInputFind transactions for a given amount.
- currencyCode: SearchTextInputFind transactions with a given currency.
NameInput
The name of the party.
input:
- prefix: StringThe prefix, or title, to the party name.
- givenName: String!The party's given, or first, name. Required if the party is a person.
- surname: String!The party's surname or family name. Also known as the last name. Required if the party is a person. Use also to store multiple surnames including the matronymic, or mother's, surname.
- middleName: StringThe party's middle name. Use also to store multiple middle names including the patronymic, or father's, middle name.
- suffix: StringThe suffix for the party's name.
- alternateFullName: StringThe party's alternate name. Can be a business name, nickname, or any other name that cannot be split into first, last name. Required for a business party name.
NetworkTokenInput
Input fields for a network tokenized card.
input:
- cryptogram: String!A one-time-use string generated by the token requester to validate the transaction.
- eCommerceIndicator: ECommerceIndicatorA two-digit string that should be passed along in the authorization message.
- expirationMonth: Month!A two-digit string representing the expiration month of the DPAN.
- expirationYear: Year!A four-digit string representing the expiration year of the DPAN.
- number: CreditCardNumber!The card number used in processing. This is a device PAN (DPAN), not the backing card number (FPAN).
- originDetails: NetworkTokenOriginDetailsInput!Additional information about a network token.
NetworkTokenOriginDetailsInput
Information about the network token, such as the origin of the network token, source card details, and other token requestor data.
input:
- origin: NetworkTokenOrigin!The origin of the network token.
- sourceCardDescription: StringA string, suitable for display, that describes the backing card.
- sourceCardLast4: CreditCardLast4The last 4 digits of the backing card number (FPAN).
- sourceCardType: CreditCardBrandCodeThe card type of the backing card.
- tokenRequestorId: StringThe token requestor ID of the entity that generated this network token.
- transactionId: StringThe transaction ID for this network token.
NonInstantLocalPaymentContextInput
Input fields for non-instant local payment context.
input:
- orderId: StringThe order id of the eventual Braintree transaction and the invoice number of the local payment context. Maximum 127 characters.
- amount: MonetaryAmountInput!The amount of the local payment.
- type: NonInstantLocalPaymentMethodType!The type of the non-instant local payment.
- countryCode: CountryCodeThe country code of the local payment. For local payments supported in multiple countries, this value may determine which banks are presented to the customer.
- locale: LanguageThe language tag for the language in which to localize the error-related strings.
- returnUrl: String!The URL where the customer is redirected after the customer approves the payment.
- cancelUrl: String!The URL where the customer is redirected after the customer cancels the payment.
- merchantAccountId: IDID of the PayPal merchant account that will be used when charging this payment method.
- payerInfo: LocalPaymentPayerInfoInput!The payer's information.
- expiryDate: DateOverrides the default date at which the local payment context will expire. MULTIBANCO is not overridable.
PairInStoreReaderInput
Input fields for pairing an in store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- userCode: String!Code displayed on Reader during pairing.
- reader: InStoreReaderSetupInput!Inputs for Reader.
PartialCaptureTransactionInput
Top-level input fields for capturing outstanding funds authorized by a transaction.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transactionId: ID!ID of the original authorized transaction to be partially captured.
- transaction: PartialCaptureTransactionOptionsInputInput fields for the capture, with details that will define the resulting capture transaction.
PartialCaptureTransactionOptionsInput
Input fields for the capture, with details that will define the resulting capture transaction.
input:
- amount: Amount!The amount to capture on the transaction against the parent authorization transaction. Must be greater than 0. You can perform multiple partial capture transactions as long as the cumulative amount of those transactions is less than or equal to the amount authorized by the parent transaction. You can't capture more than the authorized amount unless your industry and processor support settlement adjustment (capturing a certain percentage over the authorized amount); [contact us for assistance](https://help.braintreepayments.com?issue=TransactionProcessingQuestion).
- discountAmount: StringDiscount amount that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. This value can't be negative. Please note that this field is not on PayPal transactions. *Required for Level 3 processing*.
- finalCapture: BooleanInput to specify current partial capture is the final one for parent authorized transaction.
- lineItems: [TransactionLineItemInput!]Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
- orderId: StringAdditional 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. If specified, this will update the existing order ID on the transaction.
- purchaseOrderNumber: StringA purchase order identification value you associate with this transaction. *Required for Level 2 processing*.
- shipping: TransactionShippingInputShipping information. *Required for Level 3 processing*.
- tax: TransactionTaxInputTax information about the transaction. *Required for Level 2 processing*.
- descriptor: TransactionDescriptorInputFields used to define what will appear on a customer's bank statement for a specific purchase. If specified, this will update the existing descriptor on the transaction.
- industry: TransactionIndustryInputIndustry data information. Only one of the three sub-input fields can be provided.
PayPalAccountInput
Input for identifying a PayPal account.
input:
- payerId: IDThe unique PayPal ID of the PayPal account.
PayPalBillingAgreementExperienceProfileInput
Controls the experience in a PayPal billing agreement approval flow.
input:
- brandName: StringMerchant brand name to be displayed on the PayPal approval pages.
- collectShippingAddress: BooleanIndicates whether a shipping address will be collected from the customer during the agreement approval flow.
- landingPageType: PayPalLandingPageTypeSpecifies the PayPal page to display when a user lands on the PayPal site to complete the payment.
- locale: LanguageLocale of the PayPal payment approval experience.
- shippingAddressEditable: BooleanIndicates whether to enable user editing of the shipping address. Only applies when shipping address is provided by merchant.
PayPalBillingAgreementInput
Input fields for a PayPal account to be vaulted.
input:
- billingAgreementToken: ID!The Billing Agreement token.
PayPalExperienceProfileInput
Controls the experience in a PayPal approval flow.
input:
- brandName: StringMerchant brand name to be displayed on the PayPal approval pages.
- collectShippingAddress: BooleanIndicates whether a shipping address will be collected from the customer during the agreement approval flow.
- landingPageType: PayPalLandingPageTypeSpecifies the PayPal page to display when a user lands on the PayPal site to complete the payment.
- locale: LanguageLocale of the PayPal payment approval experience.
- shippingAddressEditable: BooleanIndicates whether to enable user editing of the shipping address. Only applies when shipping address is provided by merchant.
- userAction: PayPalUserActionPresents the customer with either the Continue or Pay Now (COMMIT) checkout flow. Default is Continue flow if the field is not provided.
PayPalFinancingOptionsInput
Input fields for requesting information about PayPal financing options.
input:
- paymentMethodId: ID!ID of an existing multi-use PayPal payment method to request financing options for.
- amount: MonetaryAmountInput!The transaction currency and total amount to finance.
- countryCode: CountryCodeAlpha2!The financing country code.
PayPalLineItemInput
Line items for a PayPal payment.
input:
- name: String!Item name. Maximum 127 characters.
- quantity: Int!Number of units of the item purchased. This value can't be negative or zero.
- unitAmount: Amount!Per-unit price of the item. Can include up to 2 decimal places. This value can't be negative or zero.
- type: TransactionLineItemType!Indicates whether the line item is a debit (sale) or credit (refund or discount) to the customer.
- description: StringItem description. Maximum 127 characters.
- productCode: StringProduct or UPC code for the item. Maximum 127 characters.
- unitTaxAmount: Amount!Per-unit tax price of the item. Can include up to 2 decimal places. This value can't be negative or zero. If this is a line item for a Venmo transaction, this value can be zero.
- url: URLThe URL to product information.
- imageUrl: URLURL to an image that represents the product. Max 1024 characters.
- upc: LineItemUpcInputUPC of the line item.
PayPalPayeeOptionsInput
Input fields for a PayPal account receiving transaction funds.
input:
- email: StringThe email address associated with the payee PayPal account.
PayPalProductAttributesInput
Product attributes input for PayPal billing agreement.
input:
- paypalBillingAgreementChargePattern: PayPalBillingAgreementChargePatternExpected business/pricing model for a billing agreement (Charge Patterns).
PayPalRecurringBillingCycleInput
The billing cycle that is a part of a recurring billing plan.
input:
- trial: BooleanWhether the cycle is or is not a trial period.
- pricingScheme: PayPalRecurringBillingPricingSchemeInputThe pricing scheme for the billing cycle.
- frequencyInterval: PayPalRecurringBillingFrequencyIntervalInputThe frequency interval of the payments towards the plan.
- billingCycleSequence: Int!The order that this cycle runs among other billing cycles.
- startDate: DateStart date for the billing cycle.
- numberOfExecutions: IntThe number of times the billing cycle will be executed. Zero indicates infinite.
PayPalRecurringBillingFrequencyIntervalInput
The frequency interval of payments in a recurring billing cycle.
input:
- billingFrequencyUnit: FrequencyUnitThe unit of time for the interval which the payment is charged.
- billingFrequency: IntThe amount of time of the interval which the next payment is charged.
PayPalRecurringBillingOneTimeChargesInput
Charges due at the initial checkout for a recurring billing plan.
PayPalRecurringBillingPlanInput
Billing plan for recurring payments.
input:
- planType: PayPalRecurringBillingPlan!The type of recurring billing plan.
- planMetadata: PayPalRecurringBillingPlanMetadataInputAdditional properties of the recurring billing plan.
PayPalRecurringBillingPlanMetadataInput
Additional properties of a recurring billing plan.
input:
- name: StringThe name of the billing plan to be displayed at checkout.
- product: PayPalRecurringBillingProductInputThe optional product included or associated with the recurring payment.
- billingCycles: [PayPalRecurringBillingCycleInput!]!Array of billing cycles. At most two trial cycles and one regular cycle.
- oneTimeCharges: PayPalRecurringBillingOneTimeChargesInputCharges due at initial checkout.
- totalAmount: Amount!The total amount associated with the billing cycle at the time of checkout.
- taxAmount: AmountThe tax amount for the billing cycle at the time of checkout.
- currencyCode: CurrencyCodeAlpha!The currency code for the entire billing plan.
PayPalRecurringBillingPricingSchemeInput
The pricing scheme for a recurring billing cycle.
input:
- pricingModel: PayPalRecurringBillingPricingModelThe type of pricing model used.
- price: AmountThe recurring charge amount.
- reloadThresholdAmount: AmountThe reload trigger threshold condition amount when the customer is charged.
PayPalShippingOptionInput
A shipping option for a PayPal One-Time payment.
input:
- amount: MonetaryAmountInput!The cost for this shipping option.
- id: ID!A unique ID that identifies a shipping option.
- description: String!The shipping option description. Localize this description to the payer's locale. For example, `Free Shipping`, `USPS Priority Shipping`, `Expédition prioritaire USPS`, or `USPS yōuxiān fā huò`.
- selected: Boolean!Indicates which shipping option is selected by default when the payer views the shipping options within the PayPal checkout experience. Only one shipping option can be selected at a time.
- type: PayPalShippingOptionType!The method by which the payer wants to receive their items.
PaymentMethodVerificationOptionsInput
Input fields that specify options for verifying the vaulted payment method. Only applicable for payment method types that suport verification.
input:
- merchantAccountId: IDID of the merchant account to use when verifying the payment method. The verification will use the default merchant account if this field is left blank.
- skip: BooleanWhether to opt out of verifying the payment method. Defaults to `false` for payment methods that support verification. Clients should only pass `true` in the uncommon scenario that the payment method has been verified externally to Braintree.
PaymentSearchInput
Input fields for searching for any type of Payment.
input:
- id: SearchValueInputFind payments with an ID or IDs.
- type: SearchPaymentTypeInputFind payments by their type. Use this field to search for payments by the direction of money movement.
- status: SearchPaymentStatusInputFind payments with a given status.
- statusTransition: SearchPaymentStatusTransitionInputFind payments based on the time at which they transitioned to a given status.
- createdAt: SearchTimestampInputFind payments based on the time they were created.
- amount: MonetaryAmountSearchInputFind payments for a given amount or currency.
- orderId: SearchTextInputFind payments with a given orderId.
- merchantAccountId: SearchPaymentMerchantAccountIdInputFind payments processed through a merchant account ID or IDs.
- customer: SearchPaymentCustomerInputFind payments with a given customer.
- disbursementDate: SearchDateInputFind payments by their disbursement date. Only use this search criteria if you have an eligible merchant account. Note that payments can only be disbursed after they reach the SETTLED status.
- source: SearchPaymentSourceInputFind payments created with a given source.
- settlementBatchId: SearchTextInputFind payments by the batch ID under which the payment was submitted for settlement.
- paymentMethod: SearchPaymentPaymentMethodInputFind payments based on information about the payment method used for the payment.
- facilitatorOAuthApplicationClientId: SearchValueInputFind payments created by a third party via the Grant API using a given OAuth application client ID.
- userId: SearchValueInputFind payments with a user ID or IDs.
- storeId: SearchValueInputFind payments by the ID of the store that the transaction was processed in.
- shippingAddress: SearchAddressInputFind payments by the shipping address.
- billingAddress: SearchAddressInputFind payments by the billing address.
- disputeReceivedDate: SearchDateInputFind payments by dispute received date.
- processorAuthorizationId: SearchTextInputFind payments by the processor authorization code.
- processingMode: SearchProcessingModeInputFind payments by the processing mode.
PerformThreeDSecureLookupInput
Top-level fields for performing a 3D Secure Lookup.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- merchantAccountId: IDID of the merchant account that will be used when charging the payment method.
- dfReferenceId: StringReference ID used by our MPI provider CardinalCommerce to connect the lookup request to the device data that was previously collected.
- paymentMethodId: ID!ID of a payment method to perform the lookup on.
- amount: Amount!The amount you plan to charge the payment method after the 3D Secure authentication.
- transactionInformation: ThreeDSecureLookupTransactionInformationInputAdditional information about the transaction when authenticating through 3D Secure.
- cardholderInformation: ThreeDSecureLookupCardholderInformationInputAdditional information about the cardholder when authenticating through 3D Secure.
- requestAuthenticationChallenge: BooleanWhen set to true, requests a 3D Secure authentication challenge from the issuer. A challenge will result in the acsUrl field being populated on the response, requiring you to open the challenge on the client side.
- requestedExemptionType: ScaExemptionTypeIndicates an exemption to be requested. If the exemption's conditions are satisfied, then will it be applied to 3D Secure.
- clientInformation: ThreeDSecureLookupClientInformationInputInformation about the client-side lookup process.
- dataOnlyRequested: BooleanWhen set to true, the data-only 3D Secure call will be created. The status of [DATA_ONLY_SUCCESSFUL](https://developers.braintreepayments.com/guides/3d-secure/advanced-options#using-data-only-3d-secure) will be returned as `ThreeDSecureAuthenticationStatus` for a successful response.
- cardAdd: BooleanIf set to true, a card-add challenge will be requested from the issuer to confirm adding new card to the merchant's vault. This flag should only be used when adding a card to a merchant’s vault and not for creating transactions.
- merchantInitiatedRequest: ThreeDSecureMerchantInitiatedRequestInput3RI (3DS Requester Initiated) request.
PhoneInput
The phone number in its international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en).
input:
- countryPhoneCode: String!The country calling code (CC), in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
- phoneNumber: String!The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
- extensionNumber: StringThe extension number.
ProductsInput
Input for selecting products to be returned.
input:
- codes: [ProductCode!]!Products to be returned.
RefundCreditCardInput
Top-level input fields for creating a detached refund on a credit card.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of the credit card to be refunded.
- refund: DetachedRefundInput!Input fields containing details about the refund.
RefundInput
Specific input fields for describing a refund.
input:
- amount: AmountThe amount to refund. Must be less than or equal to the amount of the original transaction. Defaults to the total amount of the original transaction.
- orderId: StringThe refund's order ID. Defaults to the order ID of the original transaction.
- merchantAccountId: IDID of the merchant account that will be used when performing the refund.
- description: StringDescription of the refund that is displayed to customers in PayPal email receipts.
- lineItems: [TransactionLineItemInput!]Line items for this refund. Up to 249 line items may be specified. Only allowed for Custom Actions transactions.
RefundSearchInput
Input fields for searching for refunds.
input:
- id: SearchValueInputFind refunds with an ID or IDs.
- status: SearchTransactionStatusInputFind refunds with the given status.
- statusTransition: SearchPaymentStatusTransitionInputFind payments based on the time at which they transitioned to a given status.
- createdAt: SearchTimestampInputFind refunds based on the time they were created.
- amount: MonetaryAmountSearchInputFind refunds with a given amount or currency.
- orderId: SearchTextInputFind refunds with a given orderId.
- merchantAccountId: SearchPaymentMerchantAccountIdInputFind refunds processed through a merchant account ID or IDs. In most cases, this will be the merchant account of the original refunded transaction.
- customer: SearchPaymentCustomerInputFind refunds with a given customer.
- disbursementDate: SearchDateInputFind refunds by their disbursement date. Only use this search criteria if you have an eligible merchant account. Note that refunds can only be disbursed after they reach the SETTLED status.
- source: SearchPaymentSourceInputFind refunds created with a given source.
- settlementBatchId: SearchTextInputFind refunds by the batch ID under which the refund was submitted for settlement.
- paymentMethod: SearchPaymentPaymentMethodInputFind refunds based on information about the payment method used for the refund.
- facilitatorOAuthApplicationClientId: SearchValueInputFind refunds created by a third party via the Grant API using a given OAuth application client ID.
- userId: SearchValueInputFind refunds with a user ID or IDs.
- storeId: SearchValueInputFind refunds by the ID of the store that the transaction was processed in.
- shippingAddress: SearchAddressInputFind refunds by the shipping address.
- billingAddress: SearchAddressInputFind refunds by the billing address.
- disputeReceivedDate: SearchDateInputFind refunds by dispute received date.
- processorAuthorizationId: SearchTextInputFind refunds by the processor authorization code.
- processingMode: SearchProcessingModeInputFind refunds by the processing mode.
RefundTransactionInput
Top-level input fields for refunding a transaction.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transactionId: ID!The ID of a transaction to be refunded.
- refund: RefundInputInput fields for the details of the refund.
RefundUsBankAccountInput
Top-level input fields for creating a detached refund on a US Bank Account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of the US Bank Account to be refunded.
- options: ChargeUsBankAccountOptionsInputInput fields related to the US bank account being charged.
- refund: DetachedRefundInput!Input fields containing details about the refund.
RequestAmountPromptFromInStoreReaderInput
Input fields for requesting an amount on an in-store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the in-store reader to request an amount from.
- title: StringTitle to be displayed on the in-store reader. 1000 character maximum.
- text: StringText to be displayed on the in-store reader. 65536 character maximum. '\n' line breaks will be respected.
- alignment: InStoreReaderDisplayAlignmentThe way the text is aligned when displayed on an in-store reader. Defaults to CENTER.
- waitForNextRequest: BooleanOnce the customer submits a response, a loading screen should be displayed on the in-store reader until the next request comes in. The screen saver is displayed by default.
- displayTimeout: IntDisplay timeout in seconds. This is the time allotted for the user to complete their input. Defaults to 120 seconds.
- decimalPlaces: DecimalPlacesThe number of digits that appear after the decimal point in the amount. Defaults to TWO. Allowed to be ZERO, TWO, or THREE.
- cancellationText: StringText for the cancellation button to be displayed on the in-store reader. 20 character maximum. Defaults to 'Cancel'.
- confirmationText: StringText for the confirmation button to be displayed on the in-store reader. 20 character maximum. Defaults to 'Submit'.
RequestCancelFromInStoreReaderInput
Input fields for requesting a cancel during an in-store charge flow.
RequestChargeFromInStoreReaderInput
Input fields for beginning the in-store charge flow.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request a charge from.
- transaction: InStoreTransactionInput!Information about the requested in-store transaction.
RequestConfirmationPromptFromInStoreReaderInput
Input fields for requesting a confirmation prompt on an in-store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request a confirmation prompt from.
- title: String!Title to be displayed on the in-store reader. 50 character maximum.
- text: String!Text to be displayed on the in-store reader. 65536 character maximum. '\n' line breaks will be respected.
- alignment: InStoreReaderDisplayAlignmentThe way the text is aligned when displayed on an in-store reader. Defaults to CENTER.
- waitForNextRequest: BooleanOnce the customer submits a response, a loading screen should be displayed on the in-store reader until the next request comes in. The screen saver is displayed by default. Only supported on payment application versions >= 5.2.0.
- displayTimeout: IntDisplay timeout in seconds. This is the time allotted for the user to complete their input. Defaults to 120 seconds. Only supported on payment application versions >= 5.2.0.
- cancellationText: StringText for the cancellation option to be displayed on the in-store reader. 20 character maximum.
- confirmationText: StringText for the confirmation option to be displayed on the in-store reader. 20 character maximum.
RequestFirmwareUpdateFromInStoreReaderInput
Input fields for requesting a firmware update for an in-store reader.
RequestItemDisplayFromInStoreReaderInput
Input fields for beginning the in-store display line items flow.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to display items on.
- displayItems: [InStoreDisplayItemInput!]Items to be displayed on the in-store reader. Up to 249 items may be specified.
- tax: Amount!The total tax amount for the entire transaction, including all display line items.
- amount: Amount!The total amount for the entire transaction, including tax.
- discountAmount: AmountThe total discount amount for the entire transaction.
RequestMultiChoiceSingleSelectPromptFromInStoreReaderInput
Input fields for requesting a multi-choice single select prompt on an in-store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the in-store reader to request a multi-choice single-select from.
- title: StringTitle to be displayed on the in-store reader. 1000 character maximum.
- text: StringText to be displayed on the in-store reader. 65536 character maximum. '\n' line breaks will be respected.
- alignment: InStoreReaderDisplayAlignmentThe way the text is aligned when displayed on an in-store reader. Defaults to CENTER.
- waitForNextRequest: BooleanOnce the customer submits a response, a loading screen should be displayed on the in-store reader until the next request comes in. The screensaver is displayed by default.
- displayTimeout: IntDisplay timeout in seconds. This is the time allotted for the user to complete their input. Defaults to 120 seconds.
- choices: [InStoreChoiceInput!]!The list of available choices for user selection, limited to a maximum of 15 choices.
RequestNonPciCardDataFromInStoreReaderInput
Input fields for requesting non [PCI-scoped](https://www.braintreepayments.com/blog/understanding-pci-dss-compliance) card data from an in-store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request card data from.
- title: StringTitle to be displayed on the in-store reader. 1000 character maximum. '\n' line breaks will be respected.
- textAreaOne: StringLarge text to be displayed on the in-store reader directly below the title. 1000 character maximum. '\n' line breaks will be respected.
- textAreaTwo: StringText to be displayed on the in-store reader. 1000 character maximum. '\n' line breaks will be respected.
- waitForNextRequest: BooleanOnce the customer submits a response, a loading screen should be displayed on the in-store reader until the next request comes in. The screen saver is displayed by default.
- displayTimeout: IntDisplay timeout in seconds. This is the time allotted for the user to complete their input. Defaults to 120 seconds. Unsuccessful input attempts will reset the timer.
RequestPrintFromInStoreReaderInput
Input fields for initiating a request to print content on an in-store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request printing content from.
- contents: [InStorePrintContentInput!]!Contents to be printed on the in-store reader. The `contents` field must not exceed 122,880 bytes in size.
RequestRefundFromInStoreReaderInput
Input fields for beginning the in-store refund flow.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request a refund from.
- refund: InStoreRefundInput!Information about the requested in-store refund.
RequestSignaturePromptFromInStoreReaderInput
Input fields for requesting a signature prompt on an in-store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request a signature prompt from.
- title: StringTitle to be displayed on the in-store reader. 50 character maximum.
- waitForNextRequest: BooleanOnce the customer submits a response, a loading screen should be displayed on the in-store reader until the next request comes in. The screen saver is displayed by default. Only supported on payment application versions >= 5.2.0.
- displayTimeout: IntDisplay timeout in seconds. This is the time allotted for the user to complete their input. Defaults to 120 seconds. Only supported on payment application versions >= 5.2.0.
- cancellationText: StringText for the cancellation option to be displayed on the in-store reader. 20 character maximum.
- confirmationText: StringText for the confirmation option to be displayed on the in-store reader. 20 character maximum.
RequestTextDisplayFromInStoreReaderInput
Input fields for beginning the in-store display text flow.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request a text display from.
- title: StringTitle to be displayed on the in-store reader. 1000 character maximum. Only supported on payment application versions >= 5.2.0.
- alignment: InStoreReaderDisplayAlignmentThe way the text is aligned when displayed on an in-store reader. Defaults to CENTER. Only supported on payment application versions >= 5.2.0.
- text: String!Text to be displayed on the in-store reader. 65536 character maximum. '\n' line breaks will be respected.
- waitForNextRequest: BooleanOnce the customer submits a response, a loading screen should be displayed on the in-store reader until the next request comes in. The screen saver is displayed by default. Supported on payment application version >= 5.2.0.
- displayTimeout: IntDisplay timeout in seconds. This is the time allotted for the user to complete their input. Defaults to 120 seconds. Only supported on payment application versions >= 5.2.0.
RequestTextPromptFromInStoreReaderInput
Input fields for requesting a text on an in-store reader.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the in-store reader to request a text prompt from.
- title: StringTitle to be displayed on the in-store reader. 1000 character maximum.
- text: StringText to be displayed on the in-store reader. 65536 character maximum. '\n' line breaks will be respected.
- alignment: InStoreReaderDisplayAlignmentThe way the text is aligned when displayed on an in-store reader. Defaults to CENTER.
- waitForNextRequest: BooleanOnce the customer submits a response, a loading screen should be displayed on the in-store reader until the next request comes in. The screen saver is displayed by default.
- displayTimeout: IntDisplay timeout in seconds. This is the time allotted for the user to complete their input. Defaults to 120 seconds.
- inputType: InStoreReaderTextPromptType!The input types available for user input.
- inputPlaceholder: StringPlaceholder text in the input box to indicate to the user the expected input format.
- inputFormat: StringCustom format used for text input, where the '*' symbol indicates a mandatory input character, and all other characters are treated as literals. For instance, a phone number format in the US would be '(***) ***-****', while a zip code format would be '*****'.
- cancellationText: StringText for the cancellation button to be displayed on the in-store reader. 20 character maximum. Defaults to 'Cancel'.
- confirmationText: StringText for the confirmation button to be displayed on the in-store reader. 20 character maximum. Defaults to 'Submit'.
RequestVaultFromInStoreReaderInput
Input fields for beginning the in-store charge flow.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- readerId: ID!ID of the Reader to request a vault from.
- verification: PaymentMethodVerificationOptionsInputInput fields that specify options for verifying the payment method before vaulting. Only applicable if the payment method is of a type that supports verification. For supported types, verification is performed by default. If the verification fails, the payment method will not be vaulted.
- customerId: IDID of the customer to associate the resulting multi-use payment method with.
RiskDataInput
Input fields for data used by processors for risk analysis.
input:
- customerBrowser: StringThe User-Agent header provided by the customer's browser, which gives information about the browser. Maximum 255 characters.
- customerIp: StringThe customer's IP address.
- deviceData: StringCustomer device information. Required when creating transactions using cards (only if using Advanced Fraud Tools), PayPal (only for one-time Vaulted PayPal transactions), and Venmo payment method types. This value will contain a Fraud Merchant ID as the unique, numeric identifier for a Kount account and a Device Session ID as the unique identifier for a customer device. For PayPal and Venmo transactions, this value will also include a PayPal Correlation ID.
SamsungPayCardInput
Deprecated: Samsung pay is no longer supported.
Input fields for a Samsung Pay card.
input:
- cryptogram: String!A one-time-use string generated by the token requester to validate the transaction.
- eCommerceIndicator: ECommerceIndicator!A two-digit string that should be passed along in the authorization message.
- expirationMonth: Month!A two-digit string representing the expiration month of the DPAN.
- expirationYear: Year!A four-digit string representing the expiration year of the DPAN.
- number: CreditCardNumber!The card number provided by Samsung and used in processing. This is a digitized PAN (DPAN), not the backing card number (FPAN).
- sourceCardLast4: CreditCardLast4!The last four digits of the FPAN (the cardholder's backing card).
SandboxSettleTransactionInput
Top-level input fields for settling a transaction in the sandbox environment.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transactionId: ID!Id of the transaction to force settlement in the sandbox environment.
- settlementState: SandboxSettlementStateThe target settlement state for the transaction in the sandbox environment.
SearchAddressInput
Input fields for searching by address.
input:
- company: SearchTextInputCompany name.
- addressLine1: SearchTextInputThe first line of the street address, such as street number, street name.
- addressLine2: SearchTextInputExtended address information, such as apartment number or suite number.
- firstName: SearchTextInputFirst name.
- lastName: SearchTextInputLast name.
- adminArea1: SearchTextInputHighest level subdivision, such as state, province or ISO-3166-2 subdivision.
- adminArea2: SearchTextInputA city, town or village.
- postalCode: SearchTextInputPostal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
- countryName: SearchTextInputCountry code for the address.
SearchChargebackProtectionLevelInput
Deprecated: Please use `SearchDisputeProtectionLevelInput` instead.
Input fields for searching for a dispute with a given chargeback protection level.
input:
- is: ChargebackProtectionLevelThe dispute's chargeback protection level is exactly this value.
- in: [ChargebackProtectionLevel!]Dispute's chargeback protection level is one of these values.
SearchCreditCardBrandCodeInput
Input fields for searching for payments by credit card brand.
input:
- is: CreditCardBrandCodeCredit card brand code is exactly this value.
- in: [CreditCardBrandCode!]Credit card brand code is one of these values.
SearchCreditCardCustomerLocationInput
Input fields for searching for a transaction created with a give credit card customer location.
input:
- is: CreditCardCustomerLocationThe creditCardCustomerLocation is exactly this value.
- in: [CreditCardCustomerLocation!]The creditCardCustomerLocation is one of these values.
SearchCreditCardExpirationDateInput
Input fields for searching for payments by payment method snapshot credit card expiration date criteria.
input:
- is: SearchCreditCardExpirationMonthYearInputField is exactly this value.
- isNot: SearchCreditCardExpirationMonthYearInputField is not this value.
SearchCreditCardExpirationMonthYearInput
Input fields for searching for payments by payment method snapshot credit card expiration date criteria.
SearchCreditCardNumberInput
Input fields for searching for payments by payment method snapshot credit card number criteria.
SearchDisputeMerchantAccountIdInput
Input fields for searching disputes with merchant account id criteria.
SearchDisputeProtectionLevelInput
Input fields for searching for a dispute with a given protection level.
input:
- is: DisputeProtectionLevelThe dispute's protection level is exactly this value.
- in: [DisputeProtectionLevel!]The dispute's protection level is one of these values.
SearchDisputeReasonInput
Input fields for searching for a dispute with a given reason description.
input:
- in: [DisputeReason!]The dispute reason is one of these values.
SearchDisputeStatusInput
Input fields for searching for a dispute with a given status.
input:
- is: DisputeStatusThe dispute status is exactly this value.
- in: [DisputeStatus!]The dispute status is one of these values.
SearchDisputeTypeInput
Input fields for searching for a dispute with a given type.
input:
- is: DisputeTypeThe dispute type is exactly this value.
- in: [DisputeType!]The dispute type is one of these values.
SearchPaymentCreditCardDetailsInput
Input fields for searching for payments by payment method snapshot credit card details criteria.
input:
- number: SearchCreditCardNumberInputThe credit card number used for the payment.
- expirationDate: SearchCreditCardExpirationDateInputFind payments based on the expiration date of the credit card used for the payment.
- uniqueNumberIdentifier: SearchTextInputThe unique identifier of the credit card number used for the payment.
- cardholderName: SearchTextInputThe card holder name of the credit card number used for the payment.
- brandCode: SearchCreditCardBrandCodeInputThe brand code of the credit card number used for the payment.
- customerLocation: SearchCreditCardCustomerLocationInputFind transaction by the credit card customer location.
SearchPaymentCustomerInput
Input fields for searching payments by customer.
input:
- id: SearchValueInputFind payments with a given customer ID.
- firstName: SearchTextInputFind payments with a given first name.
- lastName: SearchTextInputFind payments with a given last name.
- company: SearchTextInputFind payments with a given customer company.
- email: SearchTextInputFind payments with a customer email.
- fax: SearchTextInputFind payments with a customer fax.
- phone: SearchTextInputFind payments with a customer phone.
- website: SearchTextInputFind payments with a customer website.
SearchPaymentMerchantAccountIdInput
Input fields for searching transactions with merchant account id criteria.
SearchPaymentMethodSnapshotTypeInput
Input fields for searching transactions by payment method snapshot type.
input:
- is: PaymentMethodSnapshotSearchTypeThis value represents the payment method type used to create a transaction. In the case of credit cards, this value also encode the origin from which a customer provided that payment method.
- in: [PaymentMethodSnapshotSearchType!]These values represent the payment method type used to create a transaction. In the case of credit cards, these values also encode the origin from which a customer provided that payment method.
SearchPaymentPayPalDetailsInput
Input fields for searching for payments by payment method snapshot PayPal details criteria.
input:
- payerEmail: SearchTextInputThe email address of the PayPal payer.
- authorizationId: SearchTextInputThe PayPal ID for the authorization.
- paymentId: SearchTextInputThe identification value of the payment within PayPal's API.
SearchPaymentPaymentMethodInput
Input fields for searching for payments by payment method criteria.
input:
- paymentMethodId: SearchValueInputThe ID of the vaulted payment method used for the payment.
- paymentMethodSnapshot: SearchPaymentPaymentMethodSnapshotInputThe snapshot of the payment method at the time of payment creation.
SearchPaymentPaymentMethodSnapshotInput
Input fields for searching for payments by payment method snapshot criteria.
input:
- type: SearchPaymentMethodSnapshotTypeInputFind payments based on the payment instrument type.
- creditCardDetails: SearchPaymentCreditCardDetailsInputFind payments made with credit cards, based on the details of the credit card used for the payment. Passing an object with non-empty, non-null fields will scope your search to *only* credit card payment methods. This overrides the `type` field.
- payPalDetails: SearchPaymentPayPalDetailsInputFind payments made with PayPal, based on the PayPal details used for the payment. Passing a value here will scope your search to *only* PayPal payment methods. This overrides the `type` field.
- sepaDirectDebitDetails: SearchPaymentSEPADirectDebitDetailsInputFind SEPA payments with SEPA details. Passing a value here will scope your search to *only* SEPA Direct Debit payment methods. This overrides the `type` field.
SearchPaymentSEPADirectDebitDetailsInput
Input field for searching for payments by payment method snapshot SEPA Direct Debit details criteria.
input:
- paymentId: SearchValueInputPayPal V2 OrderId.
SearchPaymentSourceInput
Input fields for searching for a transaction or refund created with a given source.
input:
- in: [PaymentSource!]The transaction source is one of these values.
SearchPaymentStatusInput
Input fields for searching for a transaction or refund with a given status.
input:
- in: [PaymentStatus!]The transaction status is one of these values.
SearchPaymentStatusTransitionInput
Payment status transition times.
input:
- failedAt: SearchTimestampInputFind transactions with a given failed at time.
- settledAt: SearchTimestampInputFind transactions with a given settled at time.
- submittedForSettlementAt: SearchTimestampInputFind transactions with a given submitted for settlement time.
- voidedAt: SearchTimestampInputFind transactions with a given voided at time.
- authorizationExpiredAt: SearchTimestampInputFind transactions with a given authorization expired at time.
- authorizedAt: SearchTimestampInputFind transactions with a given authorized at time.
- gatewayRejectedAt: SearchTimestampInputFind transactions with a given gateway rejected at time.
- processorDeclinedAt: SearchTimestampInputFind transactions with a given processor declined at time.
SearchPaymentTypeInput
Input fields for searching for payments by implementing type.
input:
- in: [PaymentSearchType!]The payment is a transaction and/or a refund.
SearchPreDisputeProgramInput
Input fields for searching for a dispute with a given pre-dispute program.
input:
- is: PreDisputeProgramThe dispute's pre-dispute program is exactly this value.
- in: [PreDisputeProgram!]The dispute's pre-dispute program is one of these values.
SearchProcessingModeInput
Input fields for searching for transactions with a given processing mode.
input:
- is: ProcessingModeThis value represents the processing mode used to create a transaction.
- in: [ProcessingMode!]These values represent the processing mode used to create a transaction.
SearchTimestampInput
Input fields for searching by timestamp. These ranges are precise to the minute; the results of searching for an object created between 12/17/2015 17:00 and 12/17/2015 17:00 (i.e., the same minute) will include objects created at 12/17/2015 17:00:59. If no timezone is provided, it will be assumed to be UTC.
SearchTransactionSourceInput
Input fields for searching for a transaction created with a given source.
input:
- in: [PaymentSource!]The transaction source is one of these values.
SearchTransactionStatusInput
Input fields for searching for a transaction with a given status.
input:
- is: PaymentStatusThe transaction status is exactly this value.
- in: [PaymentStatus!]The transaction status is one of these values.
SearchTransactionStatusTransitionInput
Transaction status transition times.
input:
- failedAt: SearchTimestampInputFind transactions with a given failed at time.
- settledAt: SearchTimestampInputFind transactions with a given settled at time.
- submittedForSettlementAt: SearchTimestampInputFind transactions with a given submitted for settlement time.
- voidedAt: SearchTimestampInputFind transactions with a given voided at time.
SearchVerificationStatusInput
Input fields for searching for a verification with a given status.
input:
- is: VerificationStatusThe verification status is exactly this value.
- in: [VerificationStatus!]The verification status is one of these values.
SelectedPayPalFinancingOptionInput
Input fields indicating a selected financing option by a PayPal buyer.
input:
- term: Int!Total number of payments over which to finance the transaction.
- currencyCode: CurrencyCodeAlpha!The currency code for the monthly payment and discount amount.
- monthlyPayment: Amount!The amount for each monthly payment.
- discountPercentage: PercentageThe percent discount off the total transaction amount due to the selected financing option.
- discountAmount: AmountThe amount reduced from the total transaction amount.
TaxInfoInput
Input fields for local payment tax information.
input:
- identifier: String!The payer's tax identifier value.
- type: TaxInfoType!The payer's tax identifier type.
ThreeDSecureAuthenticationInput
Input fields for passing auxillary 3D Secure information manually, as opposed to tokenized on a single-use payment method ID.
input:
- authenticationId: StringBraintree unique ID of the 3D Secure authentication performed for this transaction. You will only need to use this field if you are charging or authorizing a vaulted payment method ID.
- passThrough: ThreeDSecurePassThroughInputResults 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.
- required: BooleanSpecify whether to require 3D Secure verification to succeed before creating a transaction. Defaults to true for transactions sent through 3D Secure verification but to false for transactions not sent through 3D Secure verification.
ThreeDSecureLookupBillingAddressInput
The billing address of the cardholder sent with 3D Secure Lookup requests.
input:
- givenName: StringThe given (first) name associated with the billing address used for verification.
- surname: StringThe surname (last name) associated with the billing address used for verification.
- phoneNumber: StringThe billing phone number used for verification.
- line1: StringLine 1 of the billing address used for verification.
- line2: StringLine 2 of the billing address used for verification.
- line3: StringLine 3 of the billing address used for verification.
- locality: StringCity or locality of billing address used for verification.
- region: StringState or region of billing address used for verification.
- countryCode: StringCountry code of billing address used for verification.
- postalCode: StringPostal code of billing address used for verification.
ThreeDSecureLookupBrowserInformationInput
Information about the cardholder's browser.
input:
- javaEnabled: BooleanWhether the cardholder browser can execute Java.
- javascriptEnabled: BooleanWhether the cardholder browser can execute JavaScript.
- acceptHeader: StringThe exact content of the HTTP accept headers sent from the cardholder's browser.
- language: StringThe browser language as defined in IETF BCP47.
- colorDepth: IntThe bit depth of the color palette for displaying images, in bits per pixel.
- screenHeight: IntTotal height of the cardholder's screen in pixels.
- screenWidth: IntTotal width of the cardholder's screen in pixels.
- timeZone: IntTime difference between UTC time and the cardholder browser local time, in minutes.
- userAgent: StringThe exact content of the HTTP user agent header.
ThreeDSecureLookupCardholderInformationInput
Additional information about the cardholder when authenticating through 3D Secure.
input:
- billingAddress: ThreeDSecureLookupBillingAddressInputThe billing address of the cardholder.
ThreeDSecureLookupClientInformationInput
Information about the client side lookup process.
input:
- sdkVersion: StringVersion of the Braintree client-side SDK being used.
- requestedThreeDSecureVersion: StringVersion of 3D Secure requested when performing the lookup.
- issuerDeviceDataCollectionMillisecondsElapsed: IntNumber of milliseconds taken for the issuer to collect device data.
- issuerDeviceDataCollectionResult: BooleanWhether device data collection by the issuer succeeded.
- threeDSecureServerDeviceDataCollectionMillisecondsElapsed: IntNumber of milliseconds taken for the 3D Secure server to collect device data.
ThreeDSecureLookupShippingAddressInput
The shipping address of the transaction to be sent with 3D Secure Lookup requests.
input:
- givenName: StringThe given (first) name associated with the shipping address used for verification.
- surname: StringThe surname (last name) associated with the shipping address used for verification.
- phoneNumber: StringThe shipping phone number used for verification.
- line1: StringLine 1 of the shipping address used for verification.
- line2: StringLine 2 of the shipping address used for verification.
- line3: StringLine 3 of the shipping address used for verification.
- locality: StringCity or locality of shipping address used for verification.
- region: StringState or region of shipping address used for verification.
- countryCode: StringCountry code of shipping address used for verification.
- postalCode: StringPostal code of shipping address used for verification.
ThreeDSecureLookupTransactionInformationInput
Additional information about the transaction when authenticating through 3D Secure.
input:
- email: StringThe email associated with the transaction.
- shippingMethod: ThreeDSecureLookupShippingMethodIndicates the shipping method chosen for the transaction in the 3D Secure lookup.
- phoneNumber: StringThe phone number associated with the transaction.
- shippingAddress: ThreeDSecureLookupShippingAddressInputThe shipping address for the transaction.
- workPhoneNumber: StringThe work phone number associated with the transaction.
- transactionType: ThreeDSecureAuthenticationTransactionTypeIndicates the type of transaction.
- deliveryTimeframe: ThreeDSecureAuthenticationDeliveryTimeframeIndicates the delivery timeframe if applicable.
- deliveryEmail: StringFor electronic delivery, email address to which the product was delivered.
- shippingType: ThreeDSecureAuthenticationShippingTypeIndicates shipping type chosen for the transaction.
- productCode: ThreeDSecureAuthenticationMerchantProductCodeMerchant product code.
- reorderIndicator: BooleanIndicates whether the cardholder is reordering merchandise purchased in a previous order.
- preorderIndicator: BooleanIndicates whether cardholder is placing an order with a future availability or release date.
- preorderDate: DateExpected date that a pre-ordered purchase will be available.
- giftCardAmount: AmountThe purchase amount total for prepaid gift cards.
- giftCardCurrencyCode: CurrencyCodeAlphaISO 4217 currency code for the gift card purchased.
- giftCardCount: IntTotal count of individual prepaid gift cards purchased.
- accountCreatedDuringTransaction: BooleanIndicates whether the cardholder created the account during this transaction.
- accountCreateDate: DateDate the cardholder opened the account.
- accountChangedDuringTransaction: BooleanIndicates whether the cardholder changed the account during this transaction. This includes changes to the billing or shipping address, new payment accounts or new users added.
- accountChangeDate: DateDate the cardholder's account was last changed. This includes changes to the billing or shipping address, new payment accounts or new users added.
- accountPasswordChangedDuringTransaction: BooleanIndicates whether the cardholder changed or reset the password on the account during this transaction.
- accountPasswordChangeDate: DateDate the cardholder changed or reset the password on the account.
- firstUseOfShippingAddress: BooleanIndicates whether this transaction represents the first use of this shipping address.
- shippingAddressFirstUsageDate: DateDate when the shipping address used for this transaction was first used.
- transactionCountDay: IntNumber of transactions (successful or incomplete) for this cardholder account within the last 24 hours.
- transactionCountYear: IntNumber of transactions (successful or incomplete) for this cardholder account within the last year.
- addCardAttempts: IntNumber of attempts that have been made to add a card to this account in the last 24 hours.
- accountPurchases: IntNumber of purchases with this cardholder account during the previous six months.
- suspiciousActivityObserved: BooleanIndicates whether the merchant experienced suspicious activity (including previous fraud) on the account.
- accountNameMatchesShippingName: BooleanIndicates if the cardholder name on the account is identical to the shipping name used for the transaction.
- paymentMethodAddedDuringTransaction: BooleanIndicates whether the payment method was added to the cardholder account during this transaction.
- paymentMethodAddedToAccountDate: DateDate the payment method was added to the cardholder account.
- acsWindowSize: ThreeDSecureAuthenticationAcsWindowSizeAn override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.
- sdkMaxTimeout: IntThis field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes). Minimum is 05. Defaults to 15.
- billingAddressMatchesShippingAddress: BooleanIndicates whether cardholder billing and shipping addresses match.
- accountId: StringAdditional cardholder account information.
- ipAddress: StringThe IP address of the cardholder. Both IPv4 and IPv6 formats are supported.
- orderDescription: StringBrief Description of items purchased.
- taxAmount: AmountTax amount.
- browserInformation: ThreeDSecureLookupBrowserInformationInputInformation about the cardholder's browser.
- installment: IntIndicates the maximum number of authorizations for installment payments. An integer value greater than 1 indicating the maximum number of permitted authorizations for installment payments.
- purchaseDate: TimestampDatetime of original purchase.
- recurringEnd: DateThe date after which no further recurring authorizations should be performed.
- recurringFrequency: IntInteger value indicating the minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months. Example: 6 months = 168.
- deviceChannel: ThreeDSecureDeviceChannelThe channel for the transaction.
ThreeDSecureMerchantInitiatedRequestInput
3RI (3DS Requester Initiated) request.
input:
- requestType: ThreeDSecureMerchantInitiatedRequestType!The type of 3RI request.
- priorAuthentication: ThreeDSecurePriorAuthenticationInput!Information about the customer-initiated 3DS.
- merchantOnRecordName: StringDirectory server name of the merchant on whose behalf the customer-initiated 3DS was performed. Required when requestType is `PAYMENT_WITH_MULTIPLE_MERCHANTS`.
ThreeDSecurePassThroughInput
Results of a merchant-performed 3D Secure authentication.
input:
- eciFlag: ECommerceIndicator!The value of the electronic commerce indicator (ECI) flag, which indicates the outcome of the 3D Secure authentication.
- cavv: StringCardholder authentication verification value or CAVV. The main encrypted message issuers and card networks use to verify authentication has occurred. Mastercard uses an AVV (Authentication Verification Value) message and American Express uses an AEVV (American Express Verification Value) message, each of which should also be passed in the cavv parameter.
- xId: StringTransaction identifier resulting from 3D Secure authentication. Uniquely identifies the transaction and sometimes required in the authorization message. Must be base64-encoded. This field will no longer be used in 3D Secure 2 authentications.
- threeDSecureServerTransactionId: String3D Secure server transaction identifier resulting from 3D Secure authentication.
- version: ThreeDSecureVersionThe version of 3D Secure authentication used for the transaction. Required on Visa and Mastercard authentications.
- authenticationResponse: ThreeDSecureStatusCodeThe 3D Secure authentication response status code.
- directoryServerResponse: ThreeDSecureStatusCodeThe 3D Secure directory server response.
- cavvAlgorithm: ThreeDSecureCavvAlgorithmThe algorithm used to generate the CAVV value. This is only returned for Mastercard SecureCode transactions (3DS 1.0).
- directoryServerTransactionId: StringA unique identifier for the 3D Secure 2 interaction with the card brand directory server. This field must be supplied for Mastercard Identity Check.
ThreeDSecurePriorAuthenticationDetailsInput
The authentication details of the customer-initiated 3DS performed externally.
input:
- dsTransactionId: StringThe Directory Server Transaction ID of the customer-initiated 3DS.
- acsTransactionId: StringThe Access Control Server Transaction ID of the customer-initiated 3DS.
- authenticationMethod: ThreeDSecurePriorAuthenticationMethodMechanism used to authenticate the customer-initiated 3DS.
- authenticationTime: TimestampDateTime of the customer-initiated 3DS.
ThreeDSecurePriorAuthenticationInput
Information about the customer-initiated 3DS.
input:
- authenticationId: StringThe authenticationId of the customer-initiated 3DS performed at Braintree. 255 characters maximum.
- authenticationDetails: ThreeDSecurePriorAuthenticationDetailsInputThe authentication details of the customer-initiated 3DS performed externally. To be sent in lieu of authenticationId.
TokenizeCreditCardInput
Top-level input fields for tokenizing a credit card.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- creditCard: CreditCardInput!Input fields for a credit card.
- options: TokenizeCreditCardOptionsInputCredit card tokenization options.
TokenizeCreditCardOptionsInput
Credit card tokenization options.
input:
- validate: BooleanWhether to run validations on credit card fields. Validations are not run by default.
TokenizeCustomActionsPaymentMethodInput
Top-level input fields for tokenizing Custom Actions.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- customActionsPaymentMethod: CustomActionsPaymentMethodInput!Input fields for a Custom Actions payment method.
TokenizeNetworkTokenInput
Top-level input field for tokenizing a network token.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- networkToken: NetworkTokenInput!Input fields for a network token object.
TokenizePayPalBillingAgreementInput
Top-level input fields for tokenizing a PayPal account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- merchantAccountId: IDBraintree merchant account ID associated with the PayPal account to be used for the One-Time payment tokenization.
- billingAgreement: PayPalBillingAgreementInput!Input fields for a PayPal Billing Agreement.
TokenizePayPalOneTimePaymentInput
Top-level input fields for tokenizing a PayPal account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- merchantAccountId: IDBraintree merchant account ID associated with the PayPal account to be used for the One-Time payment tokenization.
- paypalOneTimePayment: PayPalOneTimePaymentInput!Input fields for a PayPal One-Time Payment.
TokenizeSamsungPayCardInput
Deprecated: Samsung pay is no longer supported.
Top-level input field for tokenizing a Samsung Pay card.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- samsungPayCard: SamsungPayCardInput!Input fields for a Samsung Pay card.
TokenizeUsBankAccountInput
Top-level input fields for tokenizing a US bank account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- usBankAccount: UsBankAccountInput!Input fields for a US bank account object.
TokenizeUsBankLoginInput
Deprecated: US bank logins are no longer supported.
Top-level input fields for tokenizing a US bank login.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- usBankLogin: UsBankLoginInput!Input fields for a US bank login.
TransactionCustomerDetailsInput
Customer details to be stored on the transaction itself, if the transaction is not associated with a customer. Used for fraud detection purposes.
TransactionDescriptorInput
Fields used to define what will appear on a customer's bank statement for a specific purchase.
TransactionExternalVaultOptionsInput
Input for transactions created with credit cards vaulted in an external vault, not the Braintree Vault. Do not use for transactions created from Braintree multi-use payment methods, or from single-use payment methods which will not be stored in an external vault.
input:
- status: ExternalVaultStatus!The credit card's assocation with an external vault.
- verifyingNetworkTransactionId: StringThe network transaction ID of the first _transaction_ after which this payment method was stored in the external vault. If the `status` is `WILL_VAULT`, do not pass this value; the network transaction ID of the resulting transaction can be passed in this field for _subsequent_ transactions. If the `status` is `VAULTED`, but the customer is directly initiating the charge, do not pass this value.
TransactionIndustryInput
Input fields for industry data. Only one of the input fields may be provided.
input:
- lodging: IndustryLodgingInputInput fields for lodging data.
- cruise: IndustryCruiseInputInput fields for cruise data.
- flight: IndustryFlightInputInput fields for flight data.
TransactionInput
Input fields for creating a transaction.
input:
- amount: Amount!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: IDMerchant 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: StringAdditional 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.
- exchangeRateQuoteId: IDID of exchange rate quote to be used for the transaction.
- purchaseOrderNumber: StringA purchase order identification value you associate with this transaction. *Required for Level 2 processing*.
- riskData: RiskDataInputCustomer device information, which is sent directly to supported processors for fraud analysis.
- 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: TransactionDescriptorInputFields used to define what will appear on a customer's bank statement for a specific purchase.
- paymentInitiator: PaymentInitiatorThe 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.
- channel: StringFor 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.
- customerId: IDIf 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.
- shipping: TransactionShippingInputShipping information. *Required for Level 3 processing*.
- tax: TransactionTaxInputTax information about the transaction. *Required for Level 2 processing*.
- discountAmount: StringDiscount amount that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. This value can't be negative. Please note that this field is not used on PayPal transactions. *Required for Level 3 processing*.
- surchargeAmount: StringSurcharge amount that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. This value can't be negative. *Required for Visa Rent Discount Program*.
- lineItems: [TransactionLineItemInput!]Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
- vaultPaymentMethodAfterTransacting: VaultPaymentMethodAfterTransactingInputWhen 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.
- customerDetails: TransactionCustomerDetailsInputCustomer 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.
- processingOverrides: TransactionProcessingOverridesInputThe 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.
- industry: TransactionIndustryInputIndustry data information. Only one of the three sub-input fields can be provided.
TransactionLineItemInput
Data for individual line items on a transaction.
input:
- name: String!Item name. Maximum 35 characters, or 127 characters for PayPal transactions. *Required for Level 3 processing*.
- kind: TransactionLineItemType!Indicates whether the line item is a sale or refund. *Required for Level 3 processing*.
- quantity: String!Number of units of the item purchased. Can include up to 4 decimal places. This value can't be negative or zero. *Required for Level 3 processing*.
- unitAmount: String!Per-unit price of the item. Maximum 4 decimal places, or 2 decimal places for PayPal transactions. This value can't be negative or zero. *Required for Level 3 processing*.
- totalAmount: String!Total price amount for the line item: quantity multiplied by unitAmount. Can include up to 2 decimal places. *Required for Level 3 processing*.
- unitTaxAmount: StringPer-unit tax price of the item. Can include up to 2 decimal places. This value can't be negative or zero. *Required for Level 3 processing*.
- taxAmount: StringTax amount for the line item. Can include up to 2 decimal places. This value can't be negative. *Required for Level 3 processing*.
- discountAmount: StringAmount of discount for the line item. Can include up to 2 decimal places. This value can't be negative. Please note that this field is not used on PayPal transactions. *Required for Level 3 processing*.
- unitOfMeasure: StringThe unit of measure or the unit of measure code. Maximum 12 characters. *Required for Level 3 processing*.
- productCode: StringProduct or UPC code for the item. Maximum 12 characters, or 127 characters for PayPal transactions. *Required for Level 3 processing*.
- commodityCode: StringCode used to classify items purchased and track the total amount spent across various categories of products and services. Different corporate purchasing organizations may use different standards, but the [United Nations Standard Products and Services Code (UNSPSC)](https://www.unspsc.org/) is frequently used. Maximum 12 characters. *Required for Level 3 processing*.
- description: StringItem description. Maximum 127 characters. *Required for Level 3 processing*.
- url: StringA URL to information about the product. *Required for Level 3 processing*.
- itemType: StringThe type of the line item, i.e., physical, digital etc.
- imageUrl: StringURL to an image that represents the product. Max 1024 characters.
- upc: LineItemUpcInputUPC of the line item.
TransactionPackageTrackingLineItemInput
Data for individual line items for adding package trackers for transactions.
input:
- name: String!Item name. Maximum 127 characters.
- quantity: String!Number of units of the item purchased. Can include up to 4 decimal places. This value can't be negative or zero.
- productCode: StringProduct code(SKU) for the item.
- description: StringItem description.
- url: URLA URL to information about the product.
- imageUrl: URLURL to an image that represents the product.
- upc: LineItemUpcInputUPC of the line item.
TransactionProcessingOverridesInput
Processing overrides are additional data fields to be used only for processing. Provided values will take precedence over any similar fields(e.g. `processingOverrides.customerEmail` takes precedence over the vaulted customer's email address).
However, these values will not update any similar fields (e.g. providing `processingOverrides.customerEmail` will not update a vaulted customer's email address). These values are not returned in responses.
input:
- customerEmail: StringCustomer's email address to be used by the processor.
- customerFirstName: StringCustomer's first name to be used by the processor.
- customerLastName: StringCustomer's last name to be used by the processor.
- customerTaxIdentifier: StringCustomer's tax identifier to be used by the processor. It is the social security number analogue for the corresponding country.
TransactionSearchInput
Input fields for searching for transactions.
input:
- id: SearchValueInputFind transactions with an ID or IDs.
- status: SearchTransactionStatusInputFind transactions with a given transaction status.
- statusTransition: SearchTransactionStatusTransitionInputFind transactions based on the given transaction status transition times.
- createdAt: SearchTimestampInputFind transactions based on the time they were created.
- amount: MonetaryAmountSearchInputFind transactions for a given amount or currency.
- orderId: SearchTextInputFind transactions with a given orderId.
- merchantAccountId: SearchPaymentMerchantAccountIdInputFind payments processed through a merchant account ID or IDs.
- customer: SearchPaymentCustomerInputFind transactions with a given customer.
- paymentMethodSnapshotType: SearchPaymentMethodSnapshotTypeInputFind transactions created by charging payment methods of the given type.
- disbursementDate: SearchDateInputFind transactions by their disbursement date. Only use this search criteria if you have an eligible merchant account. Note that transactions can only be disbursed after they reach the SETTLED status.
- source: SearchTransactionSourceInputFind transactions created with a given transaction source.
- settlementBatchId: SearchTextInputFind transactions by the batch ID under which the transaction was submitted for settlement.
- paymentMethod: SearchPaymentPaymentMethodInputFind transactions based on information about the payment method used for the transaction.
- facilitatorOAuthApplicationClientId: SearchValueInputFind transactions created by a third party via the Grant API using a given OAuth application client ID.
- userId: SearchValueInputFind transactions with a user ID or IDs.
- storeId: SearchValueInputFind transactions by the ID of the store that the transaction was processed in.
- shippingAddress: SearchAddressInputFind transactions by the shipping address.
- billingAddress: SearchAddressInputFind transactions by the billing address.
- disputeReceivedDate: SearchDateInputFind transactions by dispute received date.
- processorAuthorizationId: SearchTextInputFind transactions by the processor authorization code.
- partiallyAuthorized: BooleanFind fully or partially authorized transactions.
- processingMode: SearchProcessingModeInputFind transactions by the processing mode.
TransactionShippingInput
Information related to shipping a physical product.
input:
- shippingAddress: AddressInputShipping destination address information. *Required for Level 3 processing*.
- shippingAmount: StringShipping cost on the entire transaction. *Required for Level 3 processing*.
- shipsFromPostalCode: StringThe postal code of the source shipping location, in any country's format. *Required for Level 3 processing*.
- shippingMethod: TransactionShippingMethodThe shipping method.
- shippingTaxAmount: StringShipping tax amount on the entire transaction. *Required for Level 3 processing*.
TransactionTaxInput
Information related to taxes on the transaction.
input:
- taxAmount: AmountAmount of tax that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. *Required for Level 2 processing* unless `taxExempt` is `true`.
- taxExempt: BooleanWhether the transaction should be considered eligible for tax exemption. *Required for Level 2 processing*.
UpdateCreditCardBillingAddressInput
Top-level input fields for updating a multi-use credit card to use a new billing address.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!The multi-use credit card for which the billing address will be updated or added.
- billingAddress: AddressInputThe new billing address.
- merchantAccountId: IDID of the merchant account that will be used when verifying the credit card with the new billing address.
- verification: CreditCardVerificationOptionsInputInput fields that specify options for verifying the credit card with the new billing address. By default, a verification will be performed. If the verification fails, the update will not be performed.
UpdateCreditCardCardholderNameInput
Top-level input fields for updating a multi-use credit card to use a new cardholder name.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!The multi-use credit card for which the expiration date will be updated or added.
- cardholderName: String!The new cardholder name that will be added to the multi-use credit card.
- verification: CreditCardVerificationOptionsInputInput fields that specify options for verifying the credit card with the new billing address. By default, a verification will be performed. If the verification fails, the update will not be performed.
UpdateCreditCardExpirationDateInput
Top-level input fields for updating a multi-use credit card to use a new expiration date.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!The multi-use credit card for which the expiration date will be updated or added.
- expirationYear: YearThe new four-digit year associated with a credit card, formatted `YYYY`.
- expirationMonth: MonthThe new expiration month of a credit card, formatted `MM`.
- verification: CreditCardVerificationOptionsInputInput fields that specify options for verifying the credit card with the new billing address. By default, a verification will be performed. If the verification fails, the update will not be performed.
UpdateCustomFieldsInput
Input for creating or updating custom fields on a transaction or a refund.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- id: ID!The ID of the transaction or the refund to update.
- customFields: [CustomFieldInput!]!The list of custom fields to update. 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.
UpdateCustomerInput
Top-level field for updating a customer.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- customerId: ID!ID of the customer to be updated.
- customer: CustomerInputInput fields for the updates to be made on the customer.
UpdateInStoreLocationInput
Input fields for updating an in-store location.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- locationId: ID!ID of the location to be updated.
- location: InStoreLocationUpdateInput!Input fields to update an in-store location.
UpdateTransactionAmountInput
Top-level input fields for a updating a transaction's amount.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transactionId: ID!ID of the transaction on which to perform the adjustment.
- amount: Amount!The new total amount to be authorized on a transaction. This value must be greater than 0, and must match the currency format of the merchant account, and cannot be greater than the maximum allowed by the processor.
UpdateTransactionCustomFieldsInput
Deprecated: `UpdateTransactionCustomFields` mutation is no longer supported, please use `UpdateCustomFields` mutation instead.
Input for creating or updating custom fields on a transaction.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transactionId: ID!The ID of the transaction to update.
- customFields: [CustomFieldInput!]!The list of custom fields to update. 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.
UsBankAccountBillingAddressInput
A billing address for a US bank account. This is a subset of the fields required on `AddressInput`.
input:
- streetAddress: String!The street address.
- extendedAddress: StringThe extended address information—such as an apartment or suite number.
- city: String!The city.
- state: UsStateCode!The state.
- zipCode: UsZipCode!The ZIP code.
UsBankAccountBusinessOwnerInput
The name of the owner of a business US bank account.
input:
- businessName: String!The name of the business that owns the account.
UsBankAccountInput
Input fields for a US bank account object.
input:
- accountNumber: UsBankAccountNumber!The account number of the bank account.
- routingNumber: UsBankRoutingNumber!The routing number of the bank that holds the account.
- accountType: UsBankAccountType!The type of account.
- businessOwner: UsBankAccountBusinessOwnerInputInformation about the business that owns the account. This should only be specified for business accounts.
- individualOwner: UsBankAccountIndividualOwnerInputInformation about the individual that owns the account. This should only be specified for individual accounts.
- billingAddress: UsBankAccountBillingAddressInputThe billing address of the account.
- achMandate: String!Language used to prove that you have the customer's explicit permission to debit their bank account.
UsBankLoginInput
Deprecated: US bank logins are no longer supported.
Input fields for a US bank login object.
input:
- publicToken: String!The public token returned from the bank login.
- accountId: String!The login provider account ID used for the bank login.
- accountType: UsBankAccountType!The type of account.
- businessOwner: UsBankAccountBusinessOwnerInputInformation about the business that owns the account. This should only be specified for business accounts.
- individualOwner: UsBankAccountIndividualOwnerInputInformation about the individual that owns the account. This should only be specified for individual accounts.
- billingAddress: UsBankAccountBillingAddressInputThe billing address of the account.
- achMandate: String!Language used to prove that you have the customer's explicit permission to debit their bank account.
VaultCreditCardExternalVaultOptionsInput
Options used to indicate when a credit card is externally vaulted.
input:
- verifyingNetworkTransactionId: StringFor use if this credit card is stored in an external vault. The network transaction ID of the first _transaction_ after which this credit card was stored in the external vault.
VaultCreditCardInput
Top-level input field for vaulting a credit card so it can be used multiple times.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of an existing single-use credit card payment method to be vaulted.
- verification: VaultCreditCardVerificationOptionsInputInput fields that specify options for verifying the credit card before vaulting. By default, a verification will be performed. If the verification fails, the credit card will not be vaulted.
- externalVault: VaultCreditCardExternalVaultOptionsInputOptions used to indicate when a credit card is externally vaulted.
- customerId: IDID of the customer to associate the resulting multi-use payment method with.
- accountType: CardAccountTypeThe type of account to be used when verifying a combo card.
- billingAddress: AddressInputA billing address to associate with the vaulted credit card. If billing address data was included when tokenizing the credit card, it will be *merged* with this input value.
- threeDSecurePassThrough: ThreeDSecurePassThroughInputResults 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.
- threeDSecureAuthenticationId: StringID of 3D Secure authentication performed using the Braintree SDK.
- riskData: RiskDataInputCustomer device information, which is sent directly to supported processors for fraud analysis.
- makeDefault: BooleanThis option makes the specified payment method the default for the customer.
- failOnDuplicatePaymentMethod: BooleanIf this option is passed and the same payment method has already been added to the Vault for any customer, the request will fail. This option will be ignored for Apple pay and Google pay payment methods.
- failOnDuplicatePaymentMethodForCustomer: BooleanIf this option is passed and the same payment method has already been added to the Vault for the same customer, the request will fail. This option will be ignored for Apple pay and Google pay payment methods.
VaultCreditCardVerificationOptionsInput
Input fields that specify options for verifying the vaulted credit card.
input:
- merchantAccountId: IDID of the merchant account to use when verifying the credit card. The verification will use the default merchant account if this field is left blank.
- skip: BooleanWhether to opt out of verifying the credit card. Defaults to `false` for credit cards that support verification. Clients should only pass `true` in the uncommon scenario that the credit card has been verified externally to Braintree.
- amount: AmountThe amount to use to verify the credit card.
- fraudTools: CreditCardFraudToolsOptionsInputControl which fraud tools will be applied to this transaction. Fraud tools cannot be retroactively applied to a transaction if skipped.
VaultInStorePaymentMethodAfterTransactingInput
Specifies behavior for vaulting a single-use payment method for an in-store transaction.
input:
- when: VaultPaymentMethodCriteria!Specifies the criteria which must be met to vault this payment method.
- qrcOverride: VaultQRCOverrideVaulting behavior override for QR code payments.
VaultLimitedUsePayPalAccountOptionsInput
Input fields that provide information about the resulting PayPal account.
input:
- amount: AmountThe total amount of the order. This will be the limit to how much may be captured on the resulting payment method.
- customField: StringVariable passed directly to PayPal for your own tracking purposes. Customers do not see this value.
- description: StringDescription of the transaction that is displayed to customers in PayPal email receipts.
- orderId: StringThe PayPal invoice number. It must be unique in your PayPal business account and can contain a maximum of 127 characters. If specified, transactions created from the resulting payment method will have this orderId.
- shippingAddress: AddressInputShipping destination address information.
- makeDefault: BooleanThis option makes the specified payment method the default for the customer.
VaultPayPalBillingAgreementInput
Top-level input fields for importing and vaulting a PayPal Billing Agreement.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- billingAgreementId: String!ID of a PayPal Billing Agreement, that was not created through Braintree, to import and vault.
- customerId: IDOptional ID of the customer to associate the resulting payment method with.
- merchantAccountId: IDOptional ID of the merchant account associated with the linked PayPal account to be used to retrieve billing agreement details from PayPal. Only used for merchants with the PayPal multi-account feature enabled in Braintree.
- indirectPayee: PayPalAccountInputThe merchant (payee) PayPal account associated with the PayPal Billing Agreement being vaulted. Only used when the specified merchant account is specially configured to handle indirect PayPal accounts.
VaultPaymentMethodAfterTransactingInput
Specifies behavior for vaulting a single-use payment method after transacting with it.
input:
- when: VaultPaymentMethodCriteria!Specifies the criteria which must be met to vault this payment method.
VaultPaymentMethodInput
Top-level input field for vaulting a payment method so it can be used multiple times.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of an existing single-use payment method to be vaulted.
- verification: PaymentMethodVerificationOptionsInputInput fields that specify options for verifying the payment method before vaulting. Only applicable if the payment method is of a type that supports verification. For supported types, verification is performed by default. If the verification fails, the payment method will not be vaulted. For additional, payment method-specific verification options, please see other verification mutations such as `verifyCreditCard` or `verifyUsBankAccount`.
- customerId: IDID of the customer to associate the resulting multi-use payment method with.
- threeDSecurePassThrough: ThreeDSecurePassThroughInputResults 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.
- threeDSecureAuthenticationId: StringID of 3D Secure authentication performed using the Braintree SDK.
- riskData: RiskDataInputCustomer device information, which is sent directly to supported processors for fraud analysis.
- makeDefault: BooleanThis option makes the specified payment method the default for the customer.
VaultUsBankAccountInput
Top-level input field for vaulting a bank account so it can be used multiple times.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of an existing single-use payment method to be vaulted.
- verificationMerchantAccountId: IDID of the merchant account to use when verifying the payment method.
- customerId: IDID of the customer to associate the resulting multi-use payment method with.
- verificationMethod: UsBankAccountVerificationMethod!Type of US bank account verification to perform.
- verificationAddOns: [UsBankAccountVerificationAddOn!]Type of US bank account verification add ons.
- makeDefault: BooleanThis option makes the specified payment method the default for the customer.
VenmoPayerInfoInput
Information about a payer's Venmo account.
input:
- firstName: StringThe payer's first name.
- lastName: StringThe payer's last name.
- phoneNumber: StringThe payer's phone number.
- email: EmailAddressThe payer's email address.
- externalId: StringThe external ID of the payer's Venmo account.
- userName: StringThe username of the payer's Venmo account.
- billingAddress: AddressInputThe payer's billing address.
- shippingAddress: AddressInputThe payer's shipping address.
VenmoPaysheetDetailsInput
Input fields for paysheet details.
input:
- collectCustomerBillingAddress: BooleanIndicates whether to collect a billing address from the customer on the paysheet.
- collectCustomerShippingAddress: BooleanIndicates whether to collect a shipping address from the customer on the paysheet.
- transactionDetails: VenmoPaysheetTransactionDetailsInputInput fields for transaction details to be displayed on the Venmo Paysheet.
VenmoPaysheetLineItemInput
Line items for a Venmo pay sheet.
input:
- name: String!Item name. Maximum 127 characters.
- quantity: Int!Number of units of the item purchased. This value can't be negative or zero.
- unitAmount: Amount!Per-unit price of the item. Can include up to 2 decimal places. This value can't be negative or zero.
- type: TransactionLineItemType!Indicates whether the line item is a debit (sale) or credit (refund or discount) to the customer.
- description: StringItem description. Maximum 127 characters.
- productCode: StringProduct or UPC code for the item. Maximum 127 characters.
- unitTaxAmount: Amount!Per-unit tax price of the item. Can include up to 2 decimal places. This value can't be negative or zero. If this is a line item for a Venmo transaction, this value can be zero.
- url: URLThe URL to product information.
VenmoPaysheetTransactionDetailsInput
Input fields for the transaction details to be displayed on the Venmo Paysheet.
input:
- subTotalAmount: AmountThe subtotal amount of the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- taxAmount: AmountThe tax amount of the transaction. Either a whole number or a number with exactly two decimal places. Must be non-negative.
- discountAmount: AmountThe total discount applied to the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- shippingAmount: AmountThe shipping amount for the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- totalAmount: Amount!The grand total amount of the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- lineItems: [PayPalLineItemInput!]The list of line items belonging to the transaction. Can include up to 249 line items.
- venmoPaysheetLineItems: [VenmoPaysheetLineItemInput!]The list of line items belonging to the pay sheet. Can include up to 249 line items.
VerificationSearchInput
Input fields for searching for verifications.
input:
- id: SearchValueInputFind verifications with an ID or IDs.
- status: SearchVerificationStatusInputFind verifications with a given status.
- createdAt: SearchTimestampInputFind verifications with a given created at time.
VerifyCreditCardInput
Top-level input field for verifying a credit card.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of the payment method to be verified.
- merchantAccountId: IDID of the merchant account to use when verifying the credit card.
- options: CreditCardVerificationOptionsInputInput fields for verifying a credit card.
VerifyUsBankAccountInput
Top-level input field for retrying a verification on a bank account.
input:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethodId: ID!ID of an existing multi-use payment method to be vaulted.
- merchantAccountId: IDID of the merchant account to use when verifying the payment method.
- verificationMethod: UsBankAccountVerificationMethod!Type of US bank account verification to perform.
- verificationAddOns: [UsBankAccountVerificationAddOn!]Type of US bank account verification add ons.
Objects
AccessToken
An OAuth access token.
fields:
- accessToken: StringThe access token.
- refreshToken: StringThe refresh token for getting a new access token.
- tokenType: OAuthTokenTypeThe type of token.
- expiresAt: StringExpiration in ISO time format.
Address
Representation of an address.
fields:
- company: StringCompany name.
- addressLine1: StringThe first line of the street address, such as street number, street name.
- addressLine2: StringExtended address information, such as an apartment number or suite number.
- fullName: StringFull name.
- adminArea2: StringA city, town, or village.
- adminArea1: StringHighest level subdivision, such as state, province, or ISO-3166-2 subdivison.
- postalCode: StringPostal code, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
- countryCode: CountryCodeCountry code for the address.
- phoneNumber: StringPhone number.
ApplePayConfiguration
Configuration for Apple Pay on iOS.
fields:
- status: ApplePayStatusThe environment being used for Apple Pay.
- countryCode: CountryCodeAlpha2The country code of the acquiring bank where the transaction is likely to be processed.
- currencyCode: CurrencyCodeAlphaThe merchant's Apple Pay currency code.
- merchantIdentifier: StringThe merchant identifier that must be supplied when making an Apple Pay request.
- supportedCardBrands: [CreditCardBrandCode!]A list of card brands supported by the merchant for Apple Pay.
ApplePayOriginDetails
Additional information about the payment method specific to Apple Pay.
fields:
- paymentInstrumentName: StringA human-readable description of the Apple Pay payment method. This usually consists of the Apple Pay card type and its last four digits. If there is no underlying credit card, this will describe the customer's payment method and the parent CreditCardDetail object's last4 field will be null.
- bin: StringThe first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.
ApplePayWebConfiguration
Configuration for Apple Pay on web.
fields:
- countryCode: CountryCodeAlpha2The merchant's Apple Pay country code.
- currencyCode: CurrencyCodeAlphaThe merchant's Apple Pay currency code.
- merchantIdentifier: StringThe merchant identifier that must be supplied when making an Apple Pay request.
- supportedCardBrands: [CreditCardBrandCode!]A list of card brands supported by the merchant for Apple Pay.
AuthenticationInsight
Information about the [customer authentication regulation environment](https://developers.braintreepayments.com/guides/3d-secure/migration/javascript/v3#authentication-insight) that applies to the payment method when processed with the provided merchant account.
fields:
- merchantAccountId: StringThe merchant account used to determine authentication insight.
- customerAuthenticationRegulationEnvironment: CustomerAuthenticationRegulationEnvironmentThe customer authentication regulation environment that applies when transacting with this payment method and merchant account.
- customerAuthenticationIndicator: CustomerAuthenticationIndicatorA value indicating when to perform further customer authentication.
BinRecord
Information about the credit card based on its BIN.
fields:
- prepaid: BinRecordValueWhether or not the card is prepaid, such as a gift card.
- healthcare: BinRecordValueWhether the card is designated only to be used for healthcare expenses.
- debit: BinRecordValueWhether or not the card is a debit card.
- durbinRegulated: BinRecordValueWhether the card is regulated by the Durbin Amendment due to the bank's assets, and therefore has a maximum interchange rate.
- commercial: BinRecordValueWhether or not the card is a commercial card and capable of processing Level 2 transactions.
- payroll: BinRecordValueWhether or not the card is designated for employee wages.
- issuingBank: StringThe name of the bank that issued the card.
- countryOfIssuance: CountryCodeThe country code of the country that issued the card.
- productId: StringA code representing any special program from the card issuer the card is part of.
BusinessAccountCreationRequest
Record of onboarding request.
fields:
- id: ID!Unique identifier generated by PayPal for the onboarding request.
- merchantAccount: MerchantAccountInformation about the merchant account that is being created as a result of the request.
- creationStatus: AccountCreationStatusThe account creation status for this account.
- completedAt: TimestampThe completion date and time of the merchant account application.
- submittedAt: TimestampThe submitted date and time of the merchant account application.
interfaces:
BusinessAccountCreationRequestConnection
A paginated list of BusinessAccountCreationRequests.
fields:
- edges: [BusinessAccountCreationRequestConnectionEdge]A list of BusinessAccountCreationRequests.
- pageInfo: PageInfo!Information about the page of BusinessAccountCreationRequests contained in `edges`.
BusinessAccountCreationRequestConnectionEdge
A BusinessAccountCreationRequest within a BusinessAccountCreationRequestConnection.
fields:
- cursor: StringThis BusinessAccountCreationRequest's location within the BusinessAccountCreationRequestConnection. Used for requesting additional pages.
- node: BusinessAccountCreationRequestThe business account creation request.
CardPresentOriginDetails
Additional information about a card present payment method supplied by an in-store payment reader.
fields:
- authorizationMode: InStoreReaderAuthorizationModeThe authorization mode used to perform the transaction on the payment reader.
- pinVerified: BooleanAn indicator for whether the transaction was verified via pin.
- inputMode: PaymentReaderInputModeThe input mode used on the payment reader to facilitate an in-store transaction.
- terminalId: StringThe ID of the terminal that was processed this transaction.
interfaces:
ChildCapture
A partial capture's relationship to its original authorization transaction.
fields:
- parentAuthorization: TransactionThe original authorization whose funds have been partially captured.
ClientConfiguration
Top-level fields returned from the client configuration query.
fields:
- applePay: ApplePayConfigurationConfiguration for Apple Pay on iOS.
- applePayWeb: ApplePayWebConfigurationConfiguration for Apple Pay on the web.
- assetsUrl: StringA URL pointing to the base path of Braintree's web pages used for various browser switches and popups.
- creditCard: CreditCardConfigurationConfiguration for credit card tokenization.
- environment: ClientConfigurationEnvironmentThe enum of the current environment.
- fastlane: FastlaneConfigurationConfiguration for PayPal Fastlane.
- fraudProvider: FraudProviderConfigurationConfiguration for fraud protection provider.
- googlePay: GooglePayConfigurationConfiguration for Google Pay on Android and the web.
- masterpass: MasterpassConfigurationConfiguration for Masterpass.
- merchantId: StringThe merchant ID.
- paypal: PayPalConfigurationConfiguration for PayPal.
- unionPay: UnionPayConfigurationConfiguration for UnionPay cards.
- usBankAccount: UsBankAccountConfigurationConfiguration for US bank account processing.
- venmo: VenmoConfigurationConfiguration for Pay with Venmo.
- visaCheckout: VisaCheckoutConfigurationConfiguration for Visa Checkout.
- metaCheckout: MetaCheckoutConfigurationConfiguration for Meta Checkout.
- challenges: [Challenge!]A list of challenges that are required by the current merchant to process a given credit card.
ConfirmMicroTransferAmountsPayload
Top-level output field from confirming micro-transfer amounts on bank account.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- verification: VerificationThe verification that was run on the payment method prior to vaulting.
- status: ConfirmMicroTransferAmountsStatusThe status of the micro-transfer amounts confirmation.
CreateDisputeFileEvidencePayload
Top-level field returned when creating file evidence for a dispute.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- evidence: DisputeFileEvidenceThe evidence object created.
- dispute: DisputeInformation about the dispute the evidence is attached to.
CreateDisputeTextEvidencePayload
Top-level field returned when creating text evidence for a dispute.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- evidence: DisputeTextEvidenceThe evidence object created.
CreateInStoreLocationPayload
Top-level fields returned when creating an in-store location.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- location: InStoreLocationThe in-store location.
CreateNonInstantLocalPaymentContextPayload
The result of a request to make a local payment context.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentContext: LocalPaymentContextDetails about the local payment context.
CreatePayPalBillingAgreementPayload
Top-level fields returned from setting up a PayPal Billing Agreement Token.
CreatePayPalOneTimePaymentPayload
Top-level fields returned from setting up a PayPal One-Time Payment.
CreateTransactionPackageTrackingPayload
Top-level output field from creating a transaction package tracker.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- packageTracker: TransactionPackageTrackerThe package tracker created during the request.
- transaction: TransactionThe representing of the transaction for which the tracker was added.
CreateUniversalAccessTokenPayload
Top-level fields returned when creating a universal access token.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- accessToken: AccessTokenThe created universal access token.
CreditCardConfiguration
Configuration for credit card tokenization.
fields:
- supportedCardBrands: [CreditCardBrandCode!]A list of card brands supported by the merchant for credit card processing.
- challenges: [Challenge!]A list of challenges that are required by the merchant to process a given credit card.
- threeDSecure: ThreeDSecureConfigurationConfiguration for 3D Secure.
- fraudDataCollectionEnabled: BooleanWhether or not fraud data collection is enabled for the merchant.
CreditCardDetails
Details about a credit card.
fields:
- brandCode: CreditCardBrandCodeA static code identifying the card brand.
- last4: StringThe last four digits of the card number.
- bin: StringThe first 6 digits of the credit card number, known as the Bank Identification Number. If this card originates from a third party such as a wallet provider, this BIN may not be present and the PaymentMethodOriginDetails will contain a BIN instead.
- binData: BinRecordInformation about the card based on its BIN.
- expirationMonth: StringThe month of the expiration date, formatted MM.
- expirationYear: StringThe year of the expiration date, formatted YYYY.
- cardholderName: StringThe cardholder's name.
- uniqueNumberIdentifier: StringAn identifier that uniquely represents any credit card number, for cards stored in a merchant's vault. If the same credit card is added to a merchant's vault multiple times, each will have the same identifier. This identifier will only be returned if the field "origin" is null.
- origin: PaymentMethodOriginAdditional information if the credit card was provided from a third-party origin, such as Apple Pay, Google Pay, or another digital wallet.
- billingAddress: AddressThe billing address associated with the credit card.
- threeDSecure: ThreeDSecureDetails3D Secure information for the payment method.
- cardOnFileNetworkTokenized: BooleanIndicates whether the card on file is network tokenized.
CreditCardTransactionDetails
Credit card specific details on a transaction or verification.
fields:
- creditCard: CreditCardDetailsThe details of the credit card itself.
- networkTransactionId: StringThe network transaction identifier provided by the payment network. If this transaction was created in order to verify a payment method before storing it in an external vault, then this value can be pased when creating subsequent transactions with the same payment method.
- accountType: CardAccountTypeFor combo cards, what account type was used for this specific transaction.
- acquirerReferenceNumber: StringReference value assigned to a card transaction once it has been processed.
- processedWithCardOnFileNetworkToken: BooleanIndicates whether the transaction was processed with a card on file network token.
- accountBalance: MonetaryAmountThe remaining balance in the account after this transaction. This field is only returned for payment methods such as prepaid cards.
CreditCardVerificationDetails
Information specific to verifications of credit card payment methods.
fields:
- amount: MonetaryAmountThe amount used when performing the verification. May be 0.
CustomActionsPaymentContext
Top-level fields returned from a Custom Actions payment context.
fields:
- id: ID!The identifier of the payment context.
- createdAt: Timestamp!Date and time when the payment context was created.
- updatedAt: Timestamp!Date and time when the payment context was updated.
- customFields: [CustomActionsPaymentContextField!]A list of fields stored on a PaymentContext during execution of a Custom Actions handler (Five (5) entries maximum).
interfaces:
CustomActionsPaymentContextField
Fields returned by the createPaymentContext custom actions event handler.
CustomActionsPaymentMethodDetails
Details about a custom actions payment method.
fields:
- actionName: StringThe action to be invoked when using the payment method.
- fields: [CustomActionsPaymentMethodField!]Fields that your action requires.
CustomActionsPaymentMethodField
Fields that are provided during tokenization and are presented to the invoked action to be consumed.
Customer
Information about a customer and their associated payment methods and transactions.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- company: StringCompany or business name associated with this customer.
- createdAt: TimestampDate and time at which the customer was created.
- customFields: [CustomField!]Collection of custom field/value pairs. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
- defaultPaymentMethod: PaymentMethodCustomer's default payment method.
- email: StringEmail address for this customer.
- firstName: StringCustomer's first name.
- lastName: StringCustomer's last name.
- phoneNumber: StringThe phone number for this customer.
- fax: StringCustomer's fax.
- website: StringCustomer's website.
- paymentMethods: PaymentMethodConnectionPayment methods belonging to this customer.
- transactions: TransactionConnectionTransactions associated with this customer. This includes transactions created by charging a vaulted payment method that belongs or belonged to the customer, or by passing a customer ID when charging a single-use payment method.
interfaces:
CustomerConnection
A paginated list of customers.
fields:
- edges: [CustomerConnectionEdge]A list of customers.
- pageInfo: PageInfo!Information about the page of customers contained in `edges`.
DeleteCustomerPayload
Top-level output field from deleting a customer.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
DeleteDisputeEvidencePayload
Top-level field returned when deleting evidence from a dispute.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
DeleteInStoreLocationPayload
Top-level fields returned when deleting an in-store location.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
DeleteOAuthClientSecretPayload
Details about OAuth client secret delete operation.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
DeletePaymentMethodFromSingleUseTokenPayload
Top-level output field from deleting a payment method referenced by a single-use token.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
DeletePaymentMethodFromVaultPayload
Top-level output field from deleting a multi-use payment method.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
DisableOAuthClientSecretPayload
Details about OAuth client secret disable operation.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- oauthClientSecret: OAuthClientSecretOAuth Client Secret details.
DisbursementDetails
Disbursement details contain information about how and when the transaction was disbursed, including timing and currency information. This field is only available if you have an eligible merchant account.
fields:
- date: DateThe date that the funds associated with this transaction were disbursed.
- amount: MonetaryAmountAmount of money disbursed in the settlement currency, which may be different than the transaction's [presentment currency](https://articles.braintreepayments.com/get-started/currencies).
- exchangeRate: StringThe exchange rate from the presentment currency to the settlement currency. If the currencies are the same, this will be 1.
- fundsHeld: BooleanIndicates whether funds have been withheld from a disbursement to the merchant's account.
Dispute
[A case raised by a customer to either request information about or to challenge a charge](https://articles.braintreepayments.com/risk-and-security/chargebacks-retrievals/overview). These are initiated via a customer's payment provider, such as their bank, and require a merchant to provide evidence or further information.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- amountDisputed: MonetaryAmountThe amount of money from the original charge that the customer is disputing. Can be 0. This amount is debited from a merchant's account and held in a third-party account until the dispute is resolved, at which time it is sent to either the merchant or customer.
- amountWon: MonetaryAmountIf an amount was disputed, the amount of money awarded back to the merchant if the dispute was reversed.
- caseNumber: StringThe case number for the dispute.
- createdAt: TimestampDate and time at which the dispute was created.
- receivedDate: DateDate the dispute was received by the merchant.
- referenceNumber: StringThe transaction reference number for the dispute.
- responseDeadline: TimestampThe deadline for the merchant to submit a response to the dispute.
- replyByDate: DateThe reply by date for the merchant to submit a response to the dispute.
- type: DisputeTypeThe type of dispute.
- evidence: [DisputeEvidence!]Evidence records submitted by the merchant for the dispute.
- originalDispute: DisputeIf this dispute is a follow-up to a previous chargeback or retrieval, the original dispute.
- processorResponse: DisputeProcessorResponseAdditional information from the payment processor.
- status: DisputeStatusThe status of the dispute.
- statusHistory: [DisputeStatusEvent!]A log of history events containing status changes by date for this dispute.
- transaction: TransactionThe disputed transaction which the customer is either requesting further information on or challenging.
- protectionLevel: DisputeProtectionLevelThe protection level of the dispute.
- preDisputeProgram: PreDisputeProgramThe pre-dispute program of the dispute.
interfaces:
DisputeConnection
A paginated list of disputes.
fields:
- edges: [DisputeConnectionEdge]A list of disputes.
- pageInfo: PageInfo!Information about the page of disputes contained in `edges`.
DisputeFileEvidence
Images, files, or other evidence supporting a dispute case.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- createdAt: TimestampDate and time at which the evidence was created with Braintree.
- sentToProcessorAt: TimestampDate and time at which the evidence was sent to the processor.
- url: StringA URL where you can retrieve the dispute evidence.
- category: DisputeEvidenceCategoryThe evidence category.
interfaces:
DisputeProcessorResponse
Information about the dispute provided by the processor.
fields:
- processorComments: StringAdditional comments forwarded by the processor.
- reason: DisputeReasonThe reason the dispute was created.
- reasonCode: StringThe reason code provided by the processor.
- reasonDescription: StringThe reason code description based on the `reasonCode`.
- receivedDate: DateDate the dispute was received by the merchant.
- referenceNumber: StringThe string value representing the reference number provided by the processor (if any).
DisputeStatusEvent
A record of a status the dispute has passed through.
fields:
- disbursementDate: DateThe date any funds associated with this event were disbursed.
- status: DisputeStatusThe status of the dispute.
- timestamp: TimestampDate and time when the status event occurred.
- effectiveDate: DateThe date the status event took effect.
DisputeTextEvidence
Text evidence supporting a dispute case.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- createdAt: TimestampDate and time at which the evidence was created with Braintree.
- sentToProcessorAt: TimestampDate and time at which the evidence was sent to the processor.
- content: StringThe body for text evidence.
- category: DisputeEvidenceCategoryThe evidence category.
interfaces:
EmvCardOriginDetails
Additional information about an integrated circuit card (ICC) payment method supplied by an in-store payment reader.
fields:
- authorizationMode: InStoreReaderAuthorizationModeThe authorization mode used to perform the transaction on the payment reader.
- pinVerified: BooleanAn indicator for whether the transaction was verified via pin.
- inputMode: PaymentReaderInputModeThe input mode used on the payment reader to facilitate an in-store transaction.
- terminalId: StringThe ID of the terminal that was processed this transaction.
- applicationPreferredName: StringThe preferred name associated with the application used to process an EMV transaction.
- applicationIdentifier: StringThe identifier specifying which EMV application was used to process the transaction.
- terminalVerificationResult: StringA status code representing the result of a series of validations performed against an EMV enabled credit card.
- cardSequenceNumber: StringA unique identifier for credit cards that share the same PAN.
- applicationInterchangeProfile: StringAn indicator of the credit card's capabilities within the processing application.
- terminalTransactionDate: StringThe local date that the transaction requested authorization from the payment reader, formatted YYMMDD.
- terminalTransactionType: StringAn indicator of the type of transaction specified during authorization processing.
- cashbackAmount: StringAn additional amount associated with the transaction that represents the cashback amount requested by the cardholder.
- applicationUsageControl: StringAn indicator used to specify an issuer's restrictions for processing in a geographic region.
- terminalCountryCode: StringThe country code indicated by the payment reader to process the transaction with.
- applicationCryptogram: StringThe cryptogram provided by an integrated circuit card (ICC) used for processing the transaction.
- cryptogramInformationData: StringAn indicator for the type of application cryptogram provided by an integrated circuit card (ICC) to process the transaction.
- cardholderVerificationMethodResults: StringAn indicator of the cardholder verification method and if it was successful or unsuccessful.
- applicationTransactionCounter: StringA counter managed by an integrated circuit card (ICC) that provides a reference to each transaction using that card.
- unpredictableNumber: StringA value used to uniquely differentiate an application cryptogram used during authorization processing.
- issuerActionCodeDefault: StringAn indicator of the conditions that caused a transaction to be offline declined by the issuer, in a scenario where the transaction may have authorized if the payment reader made a processor request but was unable to.
- issuerActionCodeDenial: StringAn indicator of the conditions that caused a transaction to be offline declined by the issuer, in a scenario where the payment reader did not attempt to make a processor request.
- issuerActionCodeOnline: StringAn indicator of the conditions that caused the payment reader to attempt to make a processor request.
interfaces:
ExchangeRateQuote
Details of the generated exchange rate quote.
fields:
- id: ID!Unique identifier, which must be passed in the payment request in order to honor the exchange rate during settlement.
- baseAmount: MonetaryAmountThe amount in the `baseCurrency` to be converted to the `quoteCurrency`. If no amount was provided, then this amount is 1 unit of `baseCurrency`.
- quoteAmount: MonetaryAmountThe amount in the `quoteCurrency` converted from the `baseCurrency`. If no amount was provided, then this amount is converted from 1 unit of `baseCurrency`, which will be the same as `exchangeRate` after rounding-off.
- exchangeRate: ExchangeRateThis much of `quoteCurrency` is required to buy 1 unit of `baseCurrency`. This includes merchant `markupPercentage` if any. If a `markupPercentage` is specified, this field will be the sum of that percentage and the `tradeRate`.
- tradeRate: ExchangeRateThis is the rate at which PayPal will settle with the merchant.
- expiresAt: TimestampWhen the exchange rate quote represents expires.
- refreshesAt: TimestampWhen the exchange rate quote represents will be refreshed.
ExchangeRateQuotePayload
Exchange rate quotes for a specific customer.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- quotes: [ExchangeRateQuote!]Exchange rate quote details for each base and quote currency combination.
FacilitatorDetails
Fields capturing information about a third party that provided payment information for this transaction via the Grant API, Shared Vault, or Google Pay.
fields:
- oauthApplication: OAuthApplicationThe OAuth application that owns the payment information used to create the transaction.
FailedEvent
Accompanying information for a transaction that failed because it could not be successfully sent to the processor.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction failed.
- amount: MonetaryAmountThe amount of the transaction for this status event.
- source: PaymentSourceThe source for the transaction change to the new status.
- processorResponse: TransactionAuthorizationProcessorResponseFields describing the payment processor response, or an explanation for the lack thereof.
- networkResponse: PaymentNetworkResponseFields describing the network response to the authorization request.
- merchantAdviceCodeResponse: MerchantAdviceCodeResponseFields describing the merchant advice code response to the authorization request.
- riskDecision: RiskDecisionRisk decision for this transaction.
- terminal: BooleanWhether or not this is the final state for the transaction.
- userName: StringUser name of the person who performed an action that triggered the status change of the transaction.
interfaces:
FastlaneConfiguration
Configuration for PayPal Fastlane.
fields:
- enabled: BooleanWhether or not Fastlane is enabled for the merchant.
GatewayRejectedEvent
Accompanying information for a gateway rejected transaction.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction was rejected by the gateway.
- amount: MonetaryAmountThe amount of the transaction for this status event.
- source: PaymentSourceThe source for the transaction change to the new status.
- gatewayRejectionReason: GatewayRejectionReasonThe reason the transaction was rejected, based on your gateway settings.
- processorResponse: TransactionAuthorizationProcessorResponseFields describing the payment processor response. Depending on your gateway settings, the AVS and CVV responses may be the reason for the rejection.
- networkResponse: PaymentNetworkResponseFields describing the network response to the authorization request.
- merchantAdviceCodeResponse: MerchantAdviceCodeResponseFields describing the merchant advice code response to the authorization request.
- riskDecision: RiskDecisionRisk decision for this transaction. If the gatewayRejectionReason is fraud, this may be the reason for the rejection.
- terminal: BooleanWhether or not this is the final state for the transaction.
- duplicateOf: TransactionThe original transaction if the gateway rejection reason was `DUPLICATE`.
- userName: StringUser name of the person who performed an action that triggered the status change of the transaction.
interfaces:
GeoCoordinates
Coordinates describing a geographic position.
fields:
- latitude: FloatThe angular distance of a place north or south of the earth's equator. A positive value is north of the equator, a negative value is south of the equator.
- longitude: FloatThe angular distance of a place east or west of the meridian at Greenwich, England. A positive value is east of the prime meridian, a negative value is west of the prime meridian.
GooglePayConfiguration
Configuration for Google Pay on Android and the web.
fields:
- countryCode: CountryCodeAlpha2The country code of the acquiring bank where the transaction is likely to be processed.
- displayName: StringA string used to identify the merchant to the customer.
- environment: GooglePayEnvironmentThe environment being used for Google Pay.
- paypalClientId: StringA string used to identify the merchant's PayPal account when generating a PayPal Closed Loop Token.
- supportedCardBrands: [CreditCardBrandCode!]A list of card brands supported by the merchant for Google Pay.
HyperwalletAccountDetails
Details about a Hyperwallet account.
fields:
- userId: StringThe ID of the Hyperwallet account.
InStoreContextPayload
Top-level fields returned when requesting a state change on an in-store reader.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- id: ID!A unique ID for this in-store context request.
- reader: InStoreReaderThe reader associated with the in-store request.
- status: InStoreContextStatus!The status of the context created.
InStoreLocation
An in-store location.
fields:
- id: ID!Unique identifier.
- name: StringName of the in-store location.
- internalName: StringA merchant-assigned internal name of this location, unique to this merchant.
- address: InStoreLocationAddressThe address of the in-store location.
- geoCoordinates: GeoCoordinatesThe coordinates of this location.
- payerId: IDThe PayPal account ID to which this location was added.
- qrCodePaymentsEnabled: BooleanWhether QR code payments will be enabled for this location.
interfaces:
InStoreLocationAddress
Input fields for an in-store location address.
fields:
- streetAddress: StringThe street address.
- extendedAddress: StringExtended address information, such as an apartment or suite number.
- locality: StringLocality/city.
- region: StringState or province.
- postalCode: StringPostal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
- countryCode: CountryCodeCountry code for the address.
InStoreLocationConnection
A paginated list of in-store locations.
fields:
- edges: [InStoreLocationConnectionEdge]A list of in-store locations.
- pageInfo: PageInfo!Information about the page of in-store locations contained in `edges`.
InStoreLocationConnectionEdge
An in-store location within an InStoreLocationConnection.
fields:
- cursor: StringThe in-store locations's location within the InStoreLocationConnection. Used for requesting additional pages.
- node: InStoreLocationThe in-store location.
InStoreLocationSearchConnection
A paginated list of searched in-store locations.
fields:
- edges: [InStoreLocationConnectionEdge]A list of in-store locations.
- pageInfo: PageInfo!Information about the page of in-store locations contained in `edges`.
InStoreReader
An in-store payment card reader.
fields:
- id: ID!Unique identifier.
- name: StringName given to the reader.
- vendor: InStoreReaderVendorVendor-specific information about the reader.
- location: InStoreLocationThe in-store location the reader is attached to.
- status: ReaderStatusCurrent status of the reader.
- pairedAt: TimestampDate and time when the reader was paired.
- lastSeenAt: TimestampDate and time when the reader last established a connection.
- offlineSince: TimestampDate and time when the reader last disconnected.
- softwareVersion: StringThe version of the payment application running on the Reader.
interfaces:
InStoreReaderConnection
A paginated list of in-store readers.
fields:
- edges: [InStoreReaderConnectionEdge]A list of in-store readers.
- pageInfo: PageInfo!Information about the page of in-store readers contained in `edges`.
InStoreReaderConnectionEdge
An in-store reader within an InStoreReaderConnection.
fields:
- cursor: StringThe in-store reader's location within the InStoreReaderConnection. Used for requesting additional pages.
- node: InStoreReaderThe in-store reader.
InStoreReaderPayload
Top-level fields returned for an in-store reader.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- reader: InStoreReaderThe reader.
KountConfiguration
Configuration for Kount fraud tools.
fields:
- merchantId: StringThe Kount merchant ID used to identify the fraud data collection request.
LiabilityShift
A scenario detailing which party assumes liability for certain conditions in the event of a transaction being disputed.
fields:
- responsibleParty: LiabilityShiftResponsiblePartyThe party taking responsibility for liability.
- conditions: [LiabilityShiftCondition!]The specific conditions under which the responsible party assumes liability, in the event of a chargeback.
LocalPaymentContext
The LocalPayment object.
fields:
- id: ID!Unique identifier for the payment context.
- legacyId: ID!Legacy unique identifier.
- type: LocalPaymentMethodTypeThe type of the local payment.
- approvalUrl: StringThe URL to which a customer should be redirected to approve the local payment.
- amount: MonetaryAmountThe amount charged in this local payment.
- merchantAccountId: StringThe merchant account used to create the payment context.
- transactedAt: TimestampDate and time when the local payment context was used to create a transaction.
- approvedAt: TimestampDate and time when the local payment context was approved by the customer.
- createdAt: Timestamp!Date and time when the local payment context was created.
- updatedAt: Timestamp!Date and time when the local payment context was updated.
- expiredAt: TimestampDate and time when the local payment context was expired.
- paymentId: String!Unique identifier for the local payment.
- orderId: StringThe PayPal Invoice ID.
interfaces:
LocalPaymentDetails
Local payment specific details on a transaction.
fields:
- origin: PaymentMethodOriginAdditional information about the local payment method provided from a third-party origin, such as PayPal or another regional payment method provider.
- type: LocalPaymentMethodTypeRegional payment method selected by the customer.
- displayName: StringDescription of the payment method that can be displayed to customers.
- implicitlyVaultedPaymentMethodId: StringPayment method identifier for recurrent local payment.
MasterpassConfiguration
Configuration for Masterpass.
fields:
- merchantCheckoutId: StringThe Masterpass merchant checkout ID used to identify the merchant in Masterpass requests.
- supportedCardBrands: [CreditCardBrandCode!]A list of card brands supported by the merchant for Masterpass.
MasterpassOriginDetails
Additional information about the payment method specific to Masterpass.
fields:
- bin: StringThe first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.
Merchant
Details about a merchant and its current settings.
fields:
- id: ID!Unique identifier.
- status: StringCurrent status.
- companyName: StringCompany name.
- website: StringThe merchant's main website.
- timezone: StringThe timezone that the merchant operates in.
- merchantAccounts: MerchantAccountConnectionargs:
- input: MerchantAccountSearchInput
- first: Int
- after: String
A paginated list of merchant accounts that belong to this merchant. Filtered by search criteria, if provided. - products: [Product!]args:
- input: ProductsInput!
Detailed information about products available to the calling merchant.
MerchantAccount
Information about a merchant account associated with a merchant.
fields:
- id: ID!Unique identifier for the merchant account. Used to determine what merchant account processed or will process a given Payment.
- currencyCode: CurrencyCodeAlphaThe ISO code for the currency the merchant account uses.
- dbaName: StringBusiness name of the account.
- externalId: StringA unique identifier for this account in external systems.
- status: MerchantAccountStatusThe status of a merchant account. This determines whether the merchant account can be used to create a Payment.
- isDefault: BooleanWhether this merchant account is the default for this merchant. The default merchant account is used to process all Payments where a merchant account ID is not specified.
- paypalAccount: PayPalAccountDetailsThe PayPal account linked with the merchant account.
- hyperwalletAccount: HyperwalletAccountDetailsThe Hyperwallet account linked with the merchant account.
- venmoAccount: VenmoAccountDetailsThe Venmo account linked with the merchant account.
- threeDSecure: MerchantAccountThreeDSecureConfigurationThe 3D Secure configuration for the merchant account.
MerchantAccountApplication
A record of a merchant account application.
fields:
- id: ID!A unique ID for the account application. Can be used to query the status of the onboarding request in the future.
- legacyId: ID!Legacy unique ID.
- status: ApplicationStatusThe status of the application.
MerchantAccountConnection
A paginated list of merchant accounts.
fields:
- edges: [MerchantAccountConnectionEdge]A list of merchant accounts.
- pageInfo: PageInfo!Information about the page of merchant accounts contained in `edges`.
MerchantAccountConnectionEdge
A merchant account within a MerchantAccountConnection.
fields:
- cursor: StringThis merchant account's location within the MerchantAccountConnection. Used for requesting additional pages.
- node: MerchantAccountThe merchant account.
MerchantAccountThreeDSecureConfiguration
Details about the 3D Secure configuration of the merchant account.
fields:
- v1: MerchantAccountThreeDSecureVersionConfigurationConfiguration for 3D Secure v1.
- v2: MerchantAccountThreeDSecureVersionConfigurationConfiguration for 3D Secure v2.
MerchantAccountThreeDSecureVersionConfiguration
Details about the configuration of a version of 3D Secure for the merchant account.
fields:
- supportedCardBrands: [CreditCardBrandCode!]Card types enabled for this 3D Secure version.
MerchantAdviceCodeResponse
The Merchant Advice Code response, this field can provide to merchants the reason for declining a recurring payment transaction, and the actions merchants can take to continue to serve their recurring payment customers.
MetaCheckoutConfiguration
Configuration for Meta Checkout.
fields:
- partnerId: StringThe Meta Checkout partner id.
- partnerMerchantId: StringThe merchant identifier that must be supplied to Meta when onboarding a merchant for Meta Checkout.
- supportedContainers: [String!]A list of supported container types for Meta Checkout.
- acquirerCountryCode: StringThe acquirer country code used for Meta Checkout.
MonetaryAmount
A monetary amount with currency.
fields:
- value: AmountThe amount of money, either a whole number or a number with up to 3 decimal places.
- currencyCode: CurrencyCodeAlphaThe currency code for the monetary amount.
Mutation
The top-level Mutation type. Mutations are used to make requests that create or modify data.
fields:
- authorizePaymentMethod: TransactionPayloadargs:
- input: AuthorizePaymentMethodInput!
Authorize an eligible payment method and return a payload that includes details of the resulting transaction. - authorizePayPalAccount: PayPalTransactionPayloadargs:
- input: AuthorizePayPalAccountInput!
Authorize an eligible PayPal account and return a payload that includes details of the resulting transaction. - authorizeVenmoAccount: TransactionPayloadargs:
- input: AuthorizeVenmoAccountInput!
Authorize an eligible Venmo account and return a payload that includes details of the resulting transaction. - authorizeCreditCard: TransactionPayloadargs:
- input: AuthorizeCreditCardInput!
Authorize a credit card of any origin and return a payload that includes details of the resulting transaction. - captureTransaction: TransactionPayloadargs:
- input: CaptureTransactionInput!
Capture an authorized transaction and return a payload that includes details of the transaction. - chargePaymentMethod: TransactionPayloadargs:
- input: ChargePaymentMethodInput!
Charge any payment method and return a payload that includes details of the resulting transaction. - chargeUsBankAccount: TransactionPayloadargs:
- input: ChargeUsBankAccountInput!
Charge a US bank account and return a payload that includes details of the resulting transaction. See https://developers.braintreepayments.com/guides/ach/configuration for information on eligibility and setup. - chargePayPalAccount: PayPalTransactionPayloadargs:
- input: ChargePayPalAccountInput!
Charge a PayPal account and return a payload that includes details of the resulting transaction. - chargeVenmoAccount: TransactionPayloadargs:
- input: ChargeVenmoAccountInput!
Charge a Venmo account and return a payload that includes details of the resulting transaction. See https://articles.braintreepayments.com/guides/payment-methods/venmo for information on eligibility and setup. - chargeCreditCard: TransactionPayloadargs:
- input: ChargeCreditCardInput!
Charge a credit card of any origin and return a payload that includes details of the resulting transaction. - vaultPaymentMethod: VaultPaymentMethodPayloadargs:
- input: VaultPaymentMethodInput!
Vault payment information from a single-use payment method and return a payload that includes a new multi-use payment method. When vaulting a credit card, by default, this mutation will also verify that card before vaulting. - vaultUsBankAccount: VaultPaymentMethodPayloadargs:
- input: VaultUsBankAccountInput!
Vault payment information from a single-use US bank account payment method and return a payload that includes a new multi-use payment method. - vaultCreditCard: VaultPaymentMethodPayloadargs:
- input: VaultCreditCardInput!
Vault payment information from a single-use credit card and return a payload that includes a new multi-use payment method. By default, this mutation will also verify the card before vaulting. - refundTransaction: RefundTransactionPayloadargs:
- input: RefundTransactionInput!
Refund a settled transaction and return a payload that includes details of the refund. - reverseTransaction: ReverseTransactionPayloadargs:
- input: ReverseTransactionInput!
Reverse a transaction and return a payload that includes either the voided transaction or a refund. - reverseRefund: RefundTransactionPayloadargs:
- input: ReverseRefundInput!
Reverse a refund and return a payload that includes voided refund. - refundCreditCard: RefundCreditCardPayloadargs:
- input: RefundCreditCardInput!
Create a detached refund (unassociated with any previous Braintree payment) to a credit card and return a payload that includes details of the refund. We have previously referred to this as issuing a "detached credit," and it is disallowed by default. See the [documentation](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits) for more information regarding eligibility and configuration. - refundUsBankAccount: RefundUsBankAccountPayloadargs:
- input: RefundUsBankAccountInput!
Create a detached refund (unassociated with any previous Braintree payment) to a US Bank Account and return a payload that includes details of the refund. We have previously referred to this as issuing a "detached credit," and it is disallowed by default. See the [documentation](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits) for more information regarding eligibility and configuration. - updateCustomFields: UpdateCustomFieldsPayloadargs:
- input: UpdateCustomFieldsInput!
Update custom fields on a transaction or refund. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields). - verifyPaymentMethod: VerifyPaymentMethodPayloadargs:
- input: VerifyPaymentMethodInput!
Run a verification on a multi-use payment method. - verifyCreditCard: VerifyPaymentMethodPayloadargs:
- input: VerifyCreditCardInput!
Run a verification on a multi-use credit card payment method. - verifyUsBankAccount: VerifyPaymentMethodPayloadargs:
- input: VerifyUsBankAccountInput!
Run a verification on a multi-use US bank account payment method. - confirmMicroTransferAmounts: ConfirmMicroTransferAmountsPayloadargs:
- input: ConfirmMicroTransferAmountsInput!
Confirm micro-transfer amounts initiated by vaultUsBankAccount or verifyUsBankAccount, completing the verification process for a US Bank Account via micro-transfer. - deletePaymentMethodFromVault: DeletePaymentMethodFromVaultPayloadargs:Delete a multi-use payment method from the vault.
- createClientToken: CreateClientTokenPayloadargs:
- input: CreateClientTokenInput
Create a client token that can be used to initialize a client in order to tokenize payment information. - createUniversalAccessToken: CreateUniversalAccessTokenPayloadargs:
- input: CreateUniversalAccessTokenInput!
Create a PayPal access token that can be used to make additional API calls or initialize a client. - partialCaptureTransaction: PartialCaptureTransactionPayloadargs:
- input: PartialCaptureTransactionInput!
Partially capture funds from a transaction that was successfully authorized and return a payload that includes a new transaction with information about the capture. This is available for [Venmo](https://developers.braintreepayments.com/guides/venmo/submit-for-partial-settlement) and [PayPal](https://articles.braintreepayments.com/guides/payment-methods/paypal/processing#multiple-partial-settlements) transactions. - tokenizeCustomActionsPaymentMethod: TokenizeCustomActionsPaymentMethodPayloadargs:Tokenize Custom Actions fields and return a payload that includes a single-use payment method.
- tokenizeCreditCard: TokenizeCreditCardPayloadargs:
- input: TokenizeCreditCardInput!
Tokenize credit card fields and return a payload that includes a single-use payment method. - tokenizeCvv: TokenizeCvvPayloadargs:
- input: TokenizeCvvInput!
Tokenize a credit card's CVV and return a payload that includes a single-use payment method. - tokenizeNetworkToken: TokenizeNetworkTokenPayloadargs:
- input: TokenizeNetworkTokenInput!
Tokenize a network tokenized payment instrument and return a payload that includes a single-use payment method. - tokenizeUsBankAccount: TokenizeUsBankAccountPayloadargs:
- input: TokenizeUsBankAccountInput!
Tokenize US bank account fields and return a payload that includes a single-use payment method. - tokenizePayPalOneTimePayment: TokenizePayPalOneTimePaymentPayloadargs:Tokenize PayPal One-Time Payment and return a payload that includes a single-use payment method.
- createPayPalOneTimePayment: CreatePayPalOneTimePaymentPayloadargs:
- input: CreatePayPalOneTimePaymentInput!
Set up a PayPal One-Time Payment for approval by a PayPal user. See [documentation](https://developer.paypal.com/braintree/docs/guides/paypal/checkout-with-paypal) for more information. Your account must be enabled for this feature. - tokenizePayPalBillingAgreement: TokenizePayPalBillingAgreementPayloadargs:Tokenize PayPal account and return a payload that includes a single-use payment method.
- createPayPalBillingAgreement: CreatePayPalBillingAgreementPayloadargs:Set up a PayPal Billing Agreement Token for approval by a PayPal user.
- createCustomer: CreateCustomerPayloadargs:
- input: CreateCustomerInput
Create a customer for storing individual customer information and/or grouping transactions and multi-use payment methods. - updateCustomer: UpdateCustomerPayloadargs:
- input: UpdateCustomerInput!
Update a customer's information. - deleteCustomer: DeleteCustomerPayloadargs:
- input: DeleteCustomerInput!
Delete a customer, breaking association between any of the customer's transactions. Will not delete if the customer has existing payment methods. - updateCreditCardBillingAddress: UpdateCreditCardBillingAddressPayloadargs:Set a new billing address for a multi-use credit card payment method. By default, this mutation will also verify the card with the new billing address before updating.
- updateCreditCardCardholderName: UpdateCreditCardCardholderNamePayloadargs:Set a new cardholder name for a multi-use credit card payment method. By default, this mutation will also verify the card with the new cardholder name before updating.
- updateCreditCardExpirationDate: UpdateCreditCardExpirationDatePayloadargs:Set a new expiration date for a multi-use credit card payment method. By default, this mutation will also verify the card with the new expiration date before updating.
- performThreeDSecureLookup: PerformThreeDSecureLookupPayloadargs:
- input: PerformThreeDSecureLookupInput!
Attempt to perform 3D Secure Authentication on credit card payment method. This may consume the payment method and return a new single-use payment method. - acceptDispute: AcceptDisputePayloadargs:
- input: AcceptDisputeInput!
Accepts a dispute and returns a payload that includes the dispute that was accepted. Only disputes with a status of OPEN can be accepted. - finalizeDispute: FinalizeDisputePayloadargs:
- input: FinalizeDisputeInput!
Finalizes a dispute and returns a payload that includes the dispute that was finalized. Only disputes with a status of OPEN can be finalized. - createDisputeTextEvidence: CreateDisputeTextEvidencePayloadargs:
- input: CreateDisputeTextEvidenceInput!
Creates text evidence to a dispute and returns a payload that includes the evidence that was created. Only disputes with a status of OPEN can have text evidence created for them. - deleteDisputeEvidence: DeleteDisputeEvidencePayloadargs:
- input: DeleteDisputeEvidenceInput!
Deletes evidence from a dispute. - createDisputeFileEvidence: CreateDisputeFileEvidencePayloadargs:
- input: CreateDisputeFileEvidenceInput!
Uploads an evidence file and associates it with a dispute. **Note:**: file upload requires a special request format. See the ['Uploading Files' integration guide](https://graphql.braintreepayments.com/integration_guides/uploading_files) for instructions on how to perform this mutation. - vaultPayPalBillingAgreement: VaultPayPalBillingAgreementPayloadargs:
- input: VaultPayPalBillingAgreementInput!
Vault an existing PayPal Billing Agreement that was not created through Braintree. Only use this mutation if you need to import PayPal Billing Agreements from an existing PayPal integration into your Braintree account. - sandboxSettleTransaction: TransactionPayloadargs:
- input: SandboxSettleTransactionInput!
Force a transaction to settle in the sandbox environment. Generates an error elsewhere. - createInStoreLocation: CreateInStoreLocationPayloadargs:
- input: CreateInStoreLocationInput!
Creates a new In-Store Location to associate Readers. - deleteInStoreLocation: DeleteInStoreLocationPayloadargs:
- input: DeleteInStoreLocationInput!
Delete an In-Store Location. - updateInStoreLocation: UpdateInStoreLocationPayloadargs:
- input: UpdateInStoreLocationInput!
Updates an In-Store Location. - pairInStoreReader: InStoreReaderPayloadargs:
- input: PairInStoreReaderInput!
Pairs a Reader to an account and In-Store Location. - updateInStoreReader: InStoreReaderPayloadargs:
- input: UpdateInStoreReaderInput!
Updates an In-Store Reader. - requestChargeFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to begin the charge flow.
- requestAuthorizeFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to begin the authorize flow. Only supported on payment application versions >= 5.1.0.
- requestCancelFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to cancel the charge flow.
- requestRefundFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to start an unreferenced refund flow.
- requestVaultFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to vault a payment method.
- requestTextDisplayFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to display text.
- requestItemDisplayFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to display line items.
- requestFirmwareUpdateFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to update to the latest version of software.
- requestSignaturePromptFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to display a signature prompt. Only supported on payment application versions >= 3.3.0.
- requestConfirmationPromptFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to display a confirmation prompt. Only supported on payment application versions >= 3.3.0.
- requestNonPciCardDataFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to collect non [PCI-scoped](https://www.braintreepayments.com/blog/understanding-pci-dss-compliance) card data. Only supported on payment application versions >= 5.2.0.
- requestAmountPromptFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to display an amount prompt. Only supported on payment application versions >= 5.2.0.
- requestMultiChoiceSingleSelectPromptFromInStoreReader: InStoreContextPayloadRequest an in-store reader to display a multi-choice single-select prompt. Only supported on payment application versions >= 5.4.0.
- requestTextPromptFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to display a text prompt. Only supported on payment application versions >= 5.2.0.
- requestPrintFromInStoreReader: InStoreContextPayloadargs:Request an in-store reader to print content. Only supported on the Verifone V400m device using payment application version >= 5.5.0.
- createVenmoPaymentContext: VenmoPaymentContextPayloadargs:
- input: CreateVenmoPaymentContextInput!
Create a Venmo payment context. - updateTransactionAmount: TransactionPayloadargs:
- input: UpdateTransactionAmountInput!
Updates the authorization amount of the transaction. - generateExchangeRateQuote: ExchangeRateQuotePayloadargs:
- input: GenerateExchangeRateQuoteInput!
Generate a customized currency exchange rate quote for items on a merchant's page. This allows merchants to advertise products in their customer's currency. Your account must be enabled to use this feature. - createNonInstantLocalPaymentContext: CreateNonInstantLocalPaymentContextPayloadargs:Creates a non-instant local payment context. Your account must be enabled to use this feature.
- createOAuthClientSecret: CreateOAuthClientSecretPayloadargs:
- input: CreateOAuthClientSecretInput!
Create an OAuth client secret. To call this mutation you must obtain an OAuth Access Token with scope MANAGE_OAUTH_CLIENT_SECRETS, the associated merchant must have [IP or hostname restrictions](https://developer.paypal.com/braintree/articles/risk-and-security/allowlisting) enabled and you must send your request from a host that is allowed by the merchant's allowed hosts list. - disableOAuthClientSecret: DisableOAuthClientSecretPayloadargs:
- input: DisableOAuthClientSecretInput!
Disable an OAuth client secret. To call this mutation you must obtain an OAuth Access Token with scope MANAGE_OAUTH_CLIENT_SECRETS, the associated merchant must have [IP or hostname restrictions](https://developer.paypal.com/braintree/articles/risk-and-security/allowlisting) enabled and you must send your request from a host that is allowed by the merchant's allowed hosts list. - deleteOAuthClientSecret: DeleteOAuthClientSecretPayloadargs:
- input: DeleteOAuthClientSecretInput!
Delete a disabled OAuth client secret. To call this mutation you must obtain an OAuth Access Token with scope MANAGE_OAUTH_CLIENT_SECRETS, the associated merchant must have [IP or hostname restrictions](https://developer.paypal.com/braintree/articles/risk-and-security/allowlisting) enabled and you must send your request from a host that is allowed by the merchant's allowed hosts list. - enableProductForMerchant: EnableProductForMerchantPayloadargs:
- input: EnableProductForMerchantInput!
Enable product for calling merchant. - disableProductForMerchant: DisableProductForMerchantPayloadargs:
- input: DisableProductForMerchantInput!
Disable product for calling merchant. - createTransactionPackageTracking: CreateTransactionPackageTrackingPayloadargs:Creates a package tracker record for Pay with PayPal transactions. Your account must be enabled to use this feature.
- createProductRequestForMerchant: ProductRequestPayloadargs:Create a request for access to a specified product.
NetworkTokenOriginDetails
Additional information about the payment method specific to Network Token.
fields:
- bin: StringThe first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.
NonPciFinancialCardMagneticStripeData
Financial card data from its magnetic stripe, read by an in-store reader.
PageInfo
The page information for a connection.
fields:
- hasNextPage: Boolean!Whether or not there is a next page available.
- hasPreviousPage: Boolean!Always false; backwards pagination is not supported. Present to comply with Relay specifications.
- startCursor: StringThe cursor for the first item in the connection page.
- endCursor: StringThe cursor for the last item in the connection page.
PartialCaptureTransactionPayload
Top-level output field from partially capturing a transaction.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- capture: TransactionThe transaction representing the partial capture.
PayPalAccountDetails
Details about a PayPal account.
fields:
- billingAgreementId: StringThe ID of the billing agreement for this PayPal account.
- billingAddress: AddressThe billing address associated with the PayPal account.
- shippingAddress: AddressThe shipping address associated with the PayPal account.
- email: StringThe email address associated with the PayPal account.
- phone: StringThe primary phone number associated with the PayPal account.
- payerId: StringThe PayPal ID of the PayPal account.
- firstName: StringThe first name on the PayPal account.
- lastName: StringThe last name on the PayPal account.
- cobrandedCardLabel: StringThe label of the co-branded card used as a funding source.
- origin: PaymentMethodOriginAdditional information if the PayPal account was provided from a third-party origin, such as Apple Pay, Google Pay, or another digital wallet.
- limitedUseOrderId: StringLimited use PayPal provided Order ID (starts with O-).
- selectedFinancingOption: SelectedPayPalFinancingOptionDetailsPayer's selected financing option at the time of creating a transaction.
PayPalConfiguration
Configuration for PayPal.
fields:
- displayName: StringThe merchant's company name for displaying to customers in the PayPal UI.
- clientId: StringThe merchant's PayPal client ID.
- assetsUrl: StringA URL pointing to the base path of Braintree's web pages used for various browser switches and popups.
- environment: PayPalEnvironmentThe PayPal environment.
- unvettedMerchant: BooleanWhether or not the merchant has been vetted.
- braintreeClientId: StringBraintree's PayPal client ID.
- billingAgreementsEnabled: BooleanWhether billing agreements are enabled and should be used instead of future payments.
- merchantAccountId: StringThe merchant account being used. This affects the currency code and other options.
- currencyCode: CurrencyCodeAlphaThe currency code to use.
- payeeEmail: StringThe email address of the PayPal account that will receive the funds when a transaction is created.
PayPalFinancingOption
PayPal financing options available for a transaction.
fields:
- creditProductIdentifier: PayPalFinancingCreditProductIdentifierThe credit product identifier.
- qualifyingFinancingOptions: [PayPalQualifyingFinancingOption!]Financing options the transaction qualifies for.
PayPalFinancingOptionsPayload
PayPal financing options response payload.
fields:
- financingOptions: [PayPalFinancingOption!]PayPal financing options.
PayPalLocalPaymentOriginDetails
Additional information about the local payment method specific to PayPal.
fields:
- captureId: StringIf funds for the transaction have settled, the PayPal ID for the capture of funds.
- customField: StringA string of field/value pairs passed directly to PayPal.
- paymentId: StringThe identification value of the payment within PayPal's API.
- transactionFee: MonetaryAmountThe fee charged by PayPal for the transaction.
- blikAliases: [LocalPaymentBlikAlias!]List of BLIK aliases for BLIK OneClick type of local payment.
PayPalLocalPaymentRefundDetails
PayPal local payment specific refund details.
fields:
- refundId: StringThe PayPal refund ID.
- refundedFee: MonetaryAmountRefunded transaction fee charged by PayPal.
PayPalQualifyingFinancingOption
PayPal qualifying financing options for a product.
fields:
- apr: PercentageAPR percentage.
- nominalRate: PercentageNominal rate percentage.
- term: IntTotal number of payments over which to finance the transaction.
- intervalDuration: DurationThe duration between each interval or payment.
- countryCode: CountryCodeAlpha2The country or region for the financing option.
- creditType: PayPalFinancingOptionCreditTypeCredit type.
- minimumAmount: MonetaryAmountThe minimum qualifying amount for a transaction.
- monthlyInterestRate: PercentageThe monthly interest rate for this financing option.
- periodicPayment: MonetaryAmountThe amount for transaction periodic payments.
- monthlyPayment: MonetaryAmountThe amount for transaction monthly payments.
- discountAmount: MonetaryAmountThe discount amount on the transaction for this financing option.
- discountPercentage: PercentageThe discount percentage for this financing option.
- totalInterest: MonetaryAmountThe total interest cost for this financing option.
- totalCost: MonetaryAmountThe total amount for the transaction, including interest.
- paypalSubsidized: BooleanIndicates whether the financing option's credit fee is funded by PayPal.
PayPalRefundDetails
PayPal-specific refund details.
fields:
- refundId: StringThe PayPal refund ID.
- refundedFee: MonetaryAmountRefunded transaction fee charged by PayPal.
- description: StringThe description of this refund.
- reason: StringThe reason this refund was created.
PayPalTransactionDetails
PayPal-specific details on a transaction.
fields:
- authorizationId: StringIf the transaction was successfully authorized, the PayPal ID for the authorization.
- captureId: StringIf funds for the transaction have settled, the PayPal ID for the capture of funds.
- customField: StringA string of field/value pairs passed directly to PayPal.
- payer: PayPalAccountDetailsDetails about the payer or owner of the PayPal account.
- payee: PayPalAccountDetailsDetails about the PayPal account that received the funds.
- payerStatus: StringWhether or not the PayPal account has been verified by PayPal.
- paymentId: StringThe identification value of the payment within PayPal's API.
- sellerProtectionStatus: StringWhether or not the transaction qualifies for PayPal Seller Protection.
- taxId: StringPayer's tax ID. Only returned for payments from Brazilian accounts.
- taxIdType: StringPayer's tax ID type. Only returned for payments from Brazilian accounts. Allowed values BR_CPF or BR_CNPJ.
- transactionFee: MonetaryAmountThe fee charged by PayPal for the transaction.
- description: StringDescription of the transaction that is displayed to customers in PayPal email receipts.
- origin: PaymentMethodOriginAdditional information if the credit card was provided from a third-party origin, such as Google Pay.
- selectedFinancingOption: SelectedPayPalFinancingOptionDetailsBuyer selected financing option at the time of creating a transaction.
- appUsedForScanning: PayPalRetailAppUsedForScanningThe application used by the payer to scan the QR code.
PayPalTransactionPayload
Top-level output field from creating a PayPal transaction.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transaction: TransactionThe transaction representing the charge on the payment method.
- billingAgreementWithPurchasePaymentMethod: PaymentMethodIf the paymentMethodId passed to this mutation was a single-use PayPal payment method created with the [Billing Agreement with Purchase flow](https://developers.braintreepayments.com/guides/paypal/checkout-with-paypal/javascript/v3#checkout-using-paypal-billing-agreement-with-purchase-flow), then this field will be populated with a multi-use PayPal payment method created alongside the transaction. Otherwise, this will be null.
PaymentConnection
A paginated list of transactions and refunds.
fields:
- edges: [PaymentConnectionEdge]A list of transactions and refunds.
- pageInfo: PageInfo!Information about the page of transactions and refunds contained in `edges`.
PaymentLevelFeeReport
The [payment-level fee report (formerly known as the transaction-level fee report)](https://articles.braintreepayments.com/control-panel/reporting/transaction-level-fee-report) provides a breakdown of fees per individual payments (encompassing transactions and refunds).
fields:
- url: StringThe URL where the generated report is stored. Download the report from this URL.
PaymentMethod
Top-level field representing a payment method.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier. May be the same as ID for single-use payment methods.
- usage: PaymentMethodUsageWhether a payment method may be used only once or multiple times.
- createdAt: TimestampDate and time when the payment method was vaulted.
- details: PaymentMethodDetailsDetails about the payment method specific to the type (e.g. credit card, PayPal account).
- verifications: VerificationConnectionA paginated list of verifications that have been run against the payment method.
- customer: CustomerThe customer that the payment method belongs to.
interfaces:
PaymentMethodConnection
A paginated list of payment methods.
fields:
- edges: [PaymentMethodConnectionEdge]A list of payment methods.
- pageInfo: PageInfo!Information about the page of payment methods contained in `edges`.
PaymentMethodConnectionEdge
A payment method within a PaymentMethodConnection.
fields:
- cursor: StringThis payment method's location within the PaymentMethodConnection. Used for requesting additional pages.
- node: PaymentMethodThe payment method.
PaymentMethodOrigin
Information about how the customer provided a payment method, such as via a digital wallet.
fields:
- type: PaymentMethodOriginTypeAn enum identifying the origin of the payment method.
- details: PaymentMethodOriginDetailsWhen available, additional details specific to the origin.
PaymentNetworkResponse
The network response. When present, this field can provide additional detail about why an authorization or verification was declined, but the processorResponse should be considered the source of truth.
fields:
- code: StringThe network response code for [authorizations](https://developers.braintreepayments.com/reference/response/transaction/#network-response-codes) or [verifications](https://developers.braintreepayments.com/reference/response/credit-card-verification#network-response-codes).
- message: StringThe network response text.
PaypalLineItem
Line items for a PayPal payment.
fields:
- name: StringItem name. Maximum 127 characters.
- quantity: IntNumber of units of the item purchased. This value can't be negative or zero.
- unitAmount: AmountPer-unit price of the item. Can include up to 2 decimal places. This value can't be negative or zero.
- type: TransactionLineItemTypeIndicates whether the line item is a debit (sale) or credit (refund or discount) to the customer.
- description: StringItem description. Maximum 127 characters.
- productCode: StringProduct or UPC code for the item. Maximum 127 characters.
- unitTaxAmount: AmountPer-unit tax price of the item. Can include up to 2 decimal places. This value can't be negative or zero. If this is a line item for a Venmo transaction, this value can be zero.
- url: URLThe URL to product information.
- imageUrl: URLURL to an image that represents the product. Max 1024 characters.
- upc: LineItemUpcUPC of the line item.
PerformThreeDSecureLookupPayload
Top-level fields returned when performing a 3D Secure Lookup.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- threeDSecureLookupData: ThreeDSecureLookupDataData fields containing information from the MPI provider about the 3D Secure Lookup result.
- paymentMethod: PaymentMethodA single-use payment method.
ProcessorDeclinedEvent
Accompanying information for a processor declined transaction.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction was declined by the processor.
- amount: MonetaryAmountThe amount of the transaction for this status event.
- source: PaymentSourceThe source for the transaction change to the new status.
- declineType: ProcessorDeclineTypeWhether or not the decline is the result of a temporary issue.
- processorResponse: TransactionAuthorizationProcessorResponseFields describing the payment processor response and why they declined the transaction.
- networkResponse: PaymentNetworkResponseFields describing the network response to the authorization request.
- merchantAdviceCodeResponse: MerchantAdviceCodeResponseFields describing the merchant advice code response to the authorization request.
- riskDecision: RiskDecisionRisk decision for this transaction.
- terminal: BooleanWhether or not this is the final state for the transaction.
- userName: StringUser name of the person who performed an action that triggered the status change of the transaction.
interfaces:
Product
Represents a product that may be enabled.
fields:
- code: ProductCode!Unique code of product.
- name: String!Display name of product.
- status: ProductEnablementStatus!Enablement status of product.
ProductRequestPayload
Payload for requesting access to a product.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- productCode: ProductCodeCode of product to be requested.
Query
The top-level Query type. Queries are used to fetch data.
fields:
- ping: String!Returns the literal string 'pong'.
- pingInStoreReader: InStoreReaderargs:
- readerId: ID!
Triggers a beep on a connected Reader and returns the Reader information or an error if unable to ping the device. - viewer: ViewerThe currently authenticated viewer.
- clientConfiguration: ClientConfigurationThe client-side environment and payment method configuration.
- node: Nodeargs:
- id: ID!
Fetch any object that extends the Node interface using its ID. - idFromLegacyId: ID!args:
- legacyId: ID!
- type: LegacyIdType!
Get a GraphQL ID from a legacy ID that was returned from an SDK or a legacyId field. Does not verify existence except for payment methods. - report: ReportA collection of the available reports. Each field on the `Report` type is a different report that can be queried with its own input parameters.
- search: SearchA collection of the available searches. Each field on the `Search` type is a different search that can be queried with its own input parameters.
- paypalFinancingOptions: PayPalFinancingOptionsPayloadargs:
- input: PayPalFinancingOptionsInput!
Retrieve PayPal financing options that include payment installment plans. - inStoreLocations: InStoreLocationConnectionRetrieve a paginated list of all in-store locations.
Refund
A refund of a charge on a payment method, representing an attempt to send money from a previous transaction back to the customer.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- createdAt: TimestampDate and time when the refund was created.
- amount: MonetaryAmountThe amount that will be refunded, which can be less than or equal to the original charge amount.
- orderId: StringThe order ID for this refund. For PayPal transactions, the PayPal Invoice ID.
- status: PaymentStatusThe current status of this refund.
- statusHistory: [PaymentStatusEvent!]The records of all statuses this refund has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.
- details: RefundPaymentMethodDetailsPayment method specific details about the refund.
- merchantAccountId: IDThe ID of the merchant account that processed this refund.
- source: PaymentSourceHow the refund was created.
- refundedTransaction: TransactionThe original transaction that this refunds. If this is not present, then this refund represents a refund of a transaction that does not belong to this Braintree gateway account.
- paymentMethodSnapshot: PaymentMethodSnapshotSnapshot of payment method details that will receive the refund, typically based on the original transaction. This will always be present. Equivalent to `refundedTransaction.paymentMethodSnapshot`.
- paymentMethod: PaymentMethodThe multi-use payment method that will receive the refund. Only present if a multi-use payment method was used to create the original transaction and it has not been since deleted. The details of this PaymentMethod may have changed since the transaction was created; details used for the transaction can be found in the `paymentMethodSnapshot` field. Equivalent to `refundedTransaction.paymentMethod` (if present).
- customer: CustomerThe customer that the vaulted payment method (if it exists) belongs to. Equivalent to `refundedTransaction.customer` (if present).
- lineItems: [TransactionLineItem!]Line items for this refund.
- customFields: [CustomField!]Collection of custom field/value pairs passed when creating the refund. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields). For all refunds except "detached refunds", these will always be null.
- descriptor: TransactionDescriptorFields used to define what will appear on a customer's statement (for instance, credit card or bank statement) for this refund. This will always match the descriptor from the refunded transaction (if present).
- disbursementDetails: DisbursementDetailsThe disbursement details associated with this refund. This field is only available after the refund is SETTLED and if you have an eligible merchant account.
- paymentInitiatedAt: TimestampThe refund date and time as reported by the in-store payment terminal.
RefundConnection
A paginated list of refunds.
fields:
- edges: [RefundConnectionEdge]A list of refunds.
- pageInfo: PageInfo!Information about the page of refunds contained in `edges`.
RefundUsBankAccountPayload
Top-level output field from creating a detached refund for a US Bank Account.
Report
Top-level fields returned for a report query.
fields:
- paymentLevelFees: PaymentLevelFeeReportTop-level fields returned in the payment-level fee report query.
RequestAmountPromptInStoreContext
Reference object for an in-store reader amount prompt.
fields:
- id: ID!A unique ID for this amount prompt request.
- reader: InStoreReaderThe reader from which the amount prompt was requested.
- status: InStoreContextStatus!The status of the context created when the amount prompt was requested.
- amountPromptResult: AmountThe amount collected by the in-store reader.
interfaces:
RequestChargeInStoreContext
Reference object for an in-store charge request.
fields:
- id: ID!A unique ID for this charge request.
- reader: InStoreReaderThe reader from which the charge was requested.
- status: InStoreContextStatus!The status of the context created when the charge was requested. A status of COMPLETE does not indicate a successful payment.
- transaction: TransactionThe transaction representing the charge on the payment method.
- statusReason: InStoreTransactionContextStatusReasonThe reason for the context status.
- errors: [InStoreContextError!]The list of errors for the failed context.
interfaces:
RequestConfirmationPromptInStoreContext
Reference object for an in-store reader confirmation prompt.
fields:
- id: ID!A unique ID for this confirmation prompt request.
- reader: InStoreReaderThe reader from which the confirmation prompt was requested.
- status: InStoreContextStatus!The status of the context created when the confirmation prompt was requested.
- confirmed: BooleanThe confirmation response collected by the in-store reader.
interfaces:
RequestDisplayInStoreContext
Reference object for an in-store display request.
fields:
- id: ID!A unique ID for this display request.
- reader: InStoreReaderThe reader from which the display was requested.
- status: InStoreContextStatus!The status of the context created when the display was requested.
interfaces:
RequestFirmwareUpdateInStoreContext
Reference object for an in-store reader firmware update.
fields:
- id: ID!A unique ID for this firmware update request.
- reader: InStoreReaderThe reader for which the firmware update was requested.
- status: InStoreContextStatus!The status of the context created when the firmware update was requested.
interfaces:
RequestMultiChoiceSingleSelectPromptInStoreContext
Reference object for an in-store reader multi-choice single-select prompt.
fields:
- id: ID!A unique ID for this multi-choice single-select prompt request.
- reader: InStoreReaderThe reader from which the multi-choice single-select prompt was requested.
- status: InStoreContextStatus!The status of the context created when the multi-choice single-select prompt was requested.
- selections: [Int!]A list of choices where '1' signifies selected choices and '0' indicates unselected choices. The original ordering is maintained from the input.
interfaces:
RequestNonPciCardDataInStoreContext
Reference object for an in-store reader non [PCI-scoped](https://www.braintreepayments.com/blog/understanding-pci-dss-compliance) card data request.
fields:
- id: ID!A unique ID for this card data request.
- reader: InStoreReaderThe reader from which the card data was requested.
- status: InStoreContextStatus!The status of the context created when the card data was requested.
- cardData: NonPciCardDataThe non-pci data read from the card by the in-store reader.
interfaces:
RequestPrintInStoreContext
Reference object for an in-store reader print content.
fields:
- id: ID!A unique ID for this print content request.
- reader: InStoreReaderThe reader to which the print request was sent.
- status: InStoreContextStatus!The status of the context created when the print content was requested.
- errors: [InStoreContextError!]The list of errors for the failed context.
interfaces:
RequestRefundInStoreContext
Reference object for an in-store refund request.
fields:
- id: ID!A unique ID for this refund request.
- reader: InStoreReaderThe reader from which the refund was requested.
- status: InStoreContextStatus!The status of the context created when the refund was requested. A status of COMPLETE does not indicate a successful payment.
- refund: RefundThe refund representing the refund on the payment method.
interfaces:
RequestSignaturePromptInStoreContext
Reference object for an in-store reader signature prompt.
fields:
- id: ID!A unique ID for this signature prompt request.
- reader: InStoreReaderThe reader from which the signature prompt was requested.
- status: InStoreContextStatus!The status of the context created when the signature prompt was requested.
- signatureData: StringThe signature data collected by the in-store reader. Base64 encoded PNG image.
interfaces:
RequestTextPromptInStoreContext
Reference object for an in-store reader text prompt.
fields:
- id: ID!A unique ID for this text prompt request.
- reader: InStoreReaderThe reader from which the text prompt was requested.
- status: InStoreContextStatus!The status of the context created when the text prompt was requested.
- inputType: InStoreReaderTextPromptTypeThe input types available for user input.
- textPromptResult: StringThe text collected by the in-store reader.
interfaces:
RequestVaultInStoreContext
Reference object for an in-store vault request.
fields:
- id: ID!A unique ID for this vault request.
- reader: InStoreReaderThe reader from which the vault was requested.
- status: InStoreContextStatus!The status of the context created when the vault was requested.
- paymentMethod: PaymentMethodA payment method that has been stored in a merchant's vault and can be reused.
- verification: VerificationThe verification that was run on the payment method prior to vaulting.
interfaces:
ReverseTransactionPayload
Top-level output field for reversing a transaction.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- reversal: TransactionReversalA transaction (if the original transaction was voided) or refund (if the original transaction was refunded). A reversal will attempt to void the original transaction if it has not yet settled. If the original transaction has settled, a reversal will create a refund for the full amount.
RiskData
Data from advanced risk evaluations.
fields:
- id: IDUnique identifier.
- decision: RiskDecisionThe risk decision on whether the transaction should be permitted.
- decisionReasons: [String!]The reasons for the decision from the fraud service provider.
- deviceDataCaptured: BooleanWhether data associated with the customer's device was captured and used in the decision process.
- fraudServiceProvider: FraudServiceProviderThe fraud service provider used to generate the risk decision.
- liabilityShift: LiabilityShiftLiability Shift information in the event of a chargeback.
- score: IntThe numeric risk score assigned by the fraud service provider.
SEPADirectDebitAccountDetails
Details about a SEPA Direct Debit account.
fields:
- merchantOrPartnerCustomerId: StringMerchant or Partner Customer ID.
- last4: StringLast 4 characters of IBAN number.
- bankReferenceToken: StringBank reference token.
- mandateType: MandateTypeMandate type.
SEPADirectDebitRefundDetails
Refund-related details for SEPA Direct Debit transactions.
fields:
- refundId: IDThe SEPA Direct Debit refund ID.
- refundedFee: MonetaryAmountRefunded transaction fee charged by SEPA Direct Debit.
- paymentId: StringPayPal V2 OrderId.
SEPADirectDebitTransactionDetails
Details about a SEPA Direct Debit account.
fields:
- captureId: StringIf funds for the transaction have settled, the PayPal ID for the capture of funds.
- transactionFee: MonetaryAmountThe fee charged by PayPal for the transaction.
- paymentId: StringPayPal V2 OrderId.
SamsungPayCardDetails
Deprecated: Samsung pay is no longer supported.
Details about a Samsung Pay card.
fields:
- brand: StringThe display name of the card brand, e.g. "Visa" or "American Express".
- brandCode: CreditCardBrandCodeA static code identifying the card brand of the FPAN (the customer's actual backing card).
- bin: StringThe first 6 digits of the credit card, known as the Bank Identification Number. This BIN will differ from the BIN of the source (customer's actual) card.
- binData: BinRecordInformation about the card based on its BIN. This BIN will differ from the BIN of the source (customer's actual) card.
- sourceCardLast4: CreditCardLast4The last four digits of the FPAN (the customer's actual backing card).
SamsungPayConfiguration
Deprecated: Samsung Pay is no longer supported.
Configuration for Samsung Pay on Android.
fields:
- displayName: StringA string used to identify the merchant to the customer.
- environment: SamsungPayEnvironmentThe Samsung Pay environment.
- serviceId: StringThe Samsung Pay service ID.
- samsungAuthorization: StringAuthorization to use when tokenizing Samsung Pay.
- supportedCardBrands: [CreditCardBrandCode!]A list of card brands supported by the merchant for Samsung Pay.
SamsungPayOriginDetails
Deprecated: Samsung pay is no longer supported.
Additional information about the payment method specific to Samsung Pay.
fields:
- bin: StringThe first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.
Search
Top-level fields returned for a search query.
fields:
- transactions: TransactionConnectionargs:
- input: TransactionSearchInput!
- first: Int
- after: String
A paginated list of transactions that match the TransactionSearchInput. - refunds: RefundConnectionargs:
- input: RefundSearchInput!
- first: Int
- after: String
A paginated list of refunds that match the RefundSearchInput. - payments: PaymentConnectionargs:
- input: PaymentSearchInput!
- first: Int
- after: String
A paginated list of all types of Payment that match the PaymentSearchInput. - disputes: DisputeConnectionargs:
- input: DisputeSearchInput!
- first: Int
- after: String
A paginated list of disputes that match the DisputeSearchInput. - verifications: VerificationConnectionargs:
- input: VerificationSearchInput!
- first: Int
- after: String
A paginated list of verifications that match the VerificationSearchInput. - customers: CustomerConnectionargs:
- input: CustomerSearchInput!
- first: Int
- after: String
A paginated list of customers that match the CustomerSearchInput. - businessAccountCreationRequests: BusinessAccountCreationRequestConnectionargs:
- input: BusinessAccountCreationRequestSearchInput!
- first: Int
- after: String
A paginated list of business account creation requests that match the BusinessAccountCreationRequestSearchInput. - inStoreReaders: InStoreReaderConnectionargs:
- input: InStoreReaderSearchInput!
- first: Int
- after: String
A paginated list of in-store readers that match the InStoreReaderSearchInput. - inStoreLocations: InStoreLocationSearchConnectionargs:
- input: InStoreLocationSearchInput!
- first: Int
- after: String
A paginated list of in-store locations that match any of the conditions in InStoreLocationSearchInput.
SelectedPayPalFinancingOptionDetails
Details about a selected financing option by a PayPal buyer.
fields:
- term: IntTotal number of payments over which to finance the transaction.
- monthlyPayment: MonetaryAmountThe amount for each monthly payment.
- discountPercentage: PercentageThe percent discount off the total transaction amount due to the selected financing option.
- discountAmount: MonetaryAmountThe amount reduced from the total transaction amount.
SettledEvent
Accompanying information for a settled transaction.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction was settled.
- amount: MonetaryAmountThe amount the transaction was settled for, in the same currency as the original authorization (aka the "presentment" currency.) If you have elected to settle the transaction into a bank account with a different currency, this will not reflect that.
- source: PaymentSourceThe source for the transaction change to the new status.
- processorResponse: TransactionSettlementProcessorResponseFields describing the payment processor response.
- terminal: BooleanWhether or not this is the final state for the transaction.
- settlementBatchId: StringThe ID of the settlement batch in which the transaction was processed.
interfaces:
SettlementConfirmedEvent
Accompanying information for a settlement confirmed transaction.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction became settlement confirmed.
- amount: MonetaryAmountThe amount of the transaction for this status event.
- source: PaymentSourceThe source for the transaction change to the new status.
- processorResponse: TransactionSettlementProcessorResponseFields describing the payment processor response to the settlement request.
- terminal: BooleanWhether or not this is the final state for the transaction.
interfaces:
SettlementDeclinedEvent
Accompanying information for a settlement declined transaction.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the processor declined to settle this transaction.
- amount: MonetaryAmountThe amount of the transaction for this status event.
- source: PaymentSourceThe source for the transaction change to the new status.
- processorResponse: TransactionSettlementProcessorResponseFields describing the payment processor response to the settlement request.
- terminal: BooleanWhether or not this is the final state for the transaction.
interfaces:
SettlementPendingEvent
Accompanying information for a settlement pending transaction. This typically only occurs for PayPal transactions.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction became settlement pending.
- amount: MonetaryAmountThe amount of the transaction for this status event.
- source: PaymentSourceThe source for the transaction change to the new status.
- processorResponse: TransactionSettlementProcessorResponseFields describing the payment processor response to the settlement request.
- terminal: BooleanWhether or not this is the final state for the transaction.
- userName: StringUser name of the person who performed an action that triggered the status change of the transaction.
interfaces:
SettlingEvent
Accompanying information for a transaction that is settling. This is typically a transient state during which the transaction is being settled with the processor.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction began settling.
- amount: MonetaryAmountThe amount of the transaction for this status event. This should match the amount submitted for settlement.
- source: PaymentSourceThe source for the transaction change to the new status.
- terminal: BooleanWhether or not this is the final state for the transaction.
interfaces:
SubmittedForSettlementEvent
Accompanying information for a transaction that is submitted for settlement. This status indicates that the transaction is scheduled to be settled.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction was submitted for settlement.
- amount: MonetaryAmountThe amount that was submitted for settlement. This can differ from the authorized amount, but by default is the same.
- source: PaymentSourceThe source for the transaction change to the new status.
- terminal: BooleanWhether or not this is the final state for the transaction.
- userName: StringUser name of the person who performed an action that triggered the status change of the transaction.
interfaces:
ThreeDSecureAuthentication
Information about the 3D Secure authentication for a payment method.
fields:
- cavv: StringThe cardholder authentication verification value. This value should be appended to the authorization message signifying that the transaction has been successfully authenticated with 3D Secure. This value will be encoded according to the merchant's configuration with CardinalCommerce, with either Base64 or Hex encoding. The decoded value will be of different length and format per card scheme.
- directoryServerTransactionId: StringA unique identifier for the 3D Secure interaction with the card brand directory server.
- eciFlag: ECommerceIndicatorThe electronic commerce indicator.
- liabilityShifted: BooleanA boolean indicating if the card has received liability shift.
- liabilityShiftPossible: BooleanA boolean indicating if the card is eligible for liability shift.
- cardEnrolled: ThreeDSecureCardEnrolledIndicates whether the card is enrolled in a 3D Secure program.
- authenticationStatus: ThreeDSecureAuthenticationStatusThe 3D Secure authentication status of the card.
- version: StringThe version of the 3D Secure protocol used during authentication.
- xId: StringA unique identifier for the 3D Secure interaction with the provider.
- threeDSecureServerTransactionId: StringA unique identifier for the 3D Secure interaction with the 3D Secure server.
- acsTransactionId: StringA unique identifier for the 3D Secure interaction with the access control server.
- paresStatus: ThreeDSecureAuthenticationStatusIndicatorIndicates the current status of the 3D Secure authentication from the 3D Secure server for 3D Secure 1.0 authentications.
- transactionStatus: ThreeDSecureAuthenticationStatusIndicatorIndicates the current status of the 3D Secure authentication from the 3D Secure server for 3D Secure 2.0 authentications.
- transactionStatusReason: StringIndicates the reason for the transaction status. This will be null if status is `SUCCESSFUL_AUTHENTICATION`.
ThreeDSecureConfiguration
Configuration for 3D Secure.
fields:
- cardinalAuthenticationJWT: StringAuthentication information for initializing Cardinal's songbird.js library.
ThreeDSecureDetails
3D Secure information for the payment method.
fields:
- authentication: ThreeDSecureAuthenticationContains relevant data fields if the payment method has been authenticated using 3D Secure. Only available on 3D Secure authenticated single-use payment methods and 3D Secure paymentMethodSnapshots.
- authenticationInsight: AuthenticationInsightargs:
- input: AuthenticationInsightInput!
Information about the [customer authentication regulation environment](https://developers.braintreepayments.com/guides/3d-secure/migration/javascript/v3#authentication-insight) that applies to the payment method when processed with the provided merchant account. This can be used to determine whether to perform 3D Secure authentication.
ThreeDSecureLookupData
Data fields containing information from the MPI provider about the 3D Secure Lookup result.
fields:
- acsUrl: StringThe URL to use to issue a challenge to the cardholder for 3D Secure authentication.
- authenticationId: StringBraintree unique ID of the 3D Secure authentication performed for this transaction. You will only need to use this field if you are charging or authorizing a vaulted payment method ID.
- version: StringThe version of the 3D Secure protocol used in the authentication.
- pareq: StringThe "PAReq" or "Payment Authentication Request" is the encoded request message used to initiate authentication.
- md: StringThe unique 3D Secure identifier assigned by Braintree to track the 3D Secure call as it progresses.
- termUrl: StringA fully qualified URL that the customer will be redirected to once the authentication completes.
- transactionId: StringA unique identifier used by the MPI provider to identify the 3D Secure interaction. The MPI provider provides the framework for determining if a card is enrolled in a 3D Secure program and for facilitating interactions with the issuer.
TokenizeCreditCardPayload
Top-level fields returned from a tokenized credit card.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
TokenizeCustomActionsPaymentMethodPayload
Top-level fields returned from tokenizing a CustomActionsPaymentMethod.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
TokenizeCvvPayload
Top-level fields returned from a tokenized CVV.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- tokenizedCvv: TokenizedCvvA single-use tokenized CVV.
TokenizeNetworkTokenPayload
Top-level fields returned from a tokenized Network Token.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
TokenizePayPalBillingAgreementPayload
Top-level fields returned from a tokenized PayPal account.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
TokenizePayPalOneTimePaymentPayload
Top-level fields returned from a tokenized PayPal account.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
TokenizeSamsungPayCardPayload
Deprecated: Samsung pay is no longer supported.
Top-level fields returned from a tokenized Samsung Pay card.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
TokenizeUsBankAccountPayload
Top-level fields returned from a tokenized US bank account.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
TokenizedCvv
A single-use, tokenized value representing a CVV (card verification value), otherwise known as CSC or CVC. This cannot be charged or authorized, since it is not a payment method, but it can be used alongside a multi-use credit card payment method.
fields:
- id: ID!Unique identifier for the tokenized CVV.
Transaction
A charge on a payment method.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- createdAt: TimestampDate and time when the transaction was created.
- paymentMethodSnapshot: PaymentMethodSnapshotSnapshot of payment method details used to create the transaction, preserved at the time the transaction was created. This will always be present.
- paymentMethod: PaymentMethodThe multi-use payment method associated with the transaction. Only present if a multi-use payment method was used to create the transaction and it has not been deleted. The details of this PaymentMethod may have changed since the transaction was created; details used for the transaction can be found in the `paymentMethodSnapshot` field.
- amount: MonetaryAmountThe amount charged in this transaction. For transactions that are partially captured, this amount will be the cummulative amount captured on this transaction. For transactions that are partially authorized, the amount will be less than the `initialRequestedAuthorizationAmount`.
- initialRequestedAuthorizationAmount: MonetaryAmountThe initial requested authorization amount for this transaction.
- customFields: [CustomField!]Collection of custom field/value pairs. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
- merchantId: StringThe ID of the merchant that processed this transaction.
- merchantAccountId: IDThe ID of the merchant account that processed this transaction.
- merchantName: StringThe display name of the merchant that processed this transaction.
- merchantAddress: AddressThe address of the merchant that processed this transaction.
- orderId: StringThe order ID for this transaction. For PayPal transactions, the PayPal Invoice ID.
- purchaseOrderNumber: StringA purchase order identification value you associate with this transaction.
- status: PaymentStatusThe current status of this transaction.
- riskData: RiskDataRisk data evaluated for this transaction.
- descriptor: TransactionDescriptorFields used to define what will appear on customers' credit card statements for a specific purchase.
- statusHistory: [PaymentStatusEvent!]The records of all statuses this transaction has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.
- channel: StringIf the transaction request was performed through a shopping cart provider or Braintree partner, this field will have a string identifier for that shopping cart provider or partner. For PayPal transactions, this maps to the PayPal account's bn_code.
- source: PaymentSourceHow the transaction was created.
- customer: CustomerCustomer associated with the transaction, if applicable.
- shipping: TransactionShippingShipping information.
- tax: TransactionTaxInformationTax information.
- scaExemptionRequested: ScaExemptionTypeThe type of Strong Customer Authentication Exemption that was requested for this transaction.
- discountAmount: StringDiscount amount that was included in the total transaction amount.
- surchargeAmount: StringSurcharge amount that was included in the total transaction amount.
- lineItems: [TransactionLineItem!]Line items for this transaction.
- refunds: [Refund!]The list of refunds issued against this transaction.
- partialCaptureDetails: PartialCaptureDetailsFor transactions created or captured using the `partialCaptureTransaction` mutation. This field links a given transaction to its original authorization or all its partial captures.
- disputes: [Dispute!]A collection of disputes associated with the transaction.
- facilitatorDetails: FacilitatorDetailsIf the transaction request was performed using payment information from a third party via the Grant API, Shared Vault or Google Pay, these fields will capture information about the third party. These fields are primarily useful for the merchant of record.
- disbursementDetails: DisbursementDetailsThe disbursement details associated with this transaction. This field is only available after the transaction is SETTLED and if you have an eligible merchant account.
- billingAddress: AddressThe billing address associated with the transaction.
- authorizationAdjustments: [AuthorizationAdjustment!]A collection of AuthorizationAdjustments associated with the transaction.
- retried: BooleanWhether or not the transaction was automatically retried by Braintree's internal systems.
- retriedParentTransaction: TransactionIf this transaction is an automatic retry of a previous, failed transaction, this is the parent transaction that was retried.
- retriedTransactions: [Transaction!]If this transaction was automatically retried, this is a collection of all the retry transactions.
- installmentDetails: TransactionInstallmentDetailsInstallment details associated with the transaction.
- paymentInitiatedAt: TimestampThe transaction date and time as reported by the in-store payment terminal.
- processingMode: ProcessingModeThe processing mode of the transaction.
- partiallyAuthorized: BooleanIndicates whether the transaction has been authorized for an amount lower than the requested amount.
TransactionConnection
A paginated list of transactions.
fields:
- edges: [TransactionConnectionEdge]A list of transactions.
- pageInfo: PageInfo!Information about the page of transactions contained in `edges`.
TransactionConnectionEdge
A transaction within a TransactionConnection.
fields:
- cursor: StringThis transaction's location within the TransactionConnection. Used for requesting additional pages.
- node: TransactionThe transaction.
TransactionDescriptor
Fields used to define what will appear on a customer's bank statement for a specific purchase.
TransactionInstallment
Transaction Installment information.
fields:
- id: ID!Installment ID.
- projectedDisbursementDate: DateThe projected date for the funds associated with this installment to be disbursed.
- actualDisbursementDate: DateThe date that the funds associated with this installment were actually disbursed.
- amount: AmountInstallment amount.The total transaction amount is split equally into each installment.
- adjustments: [TransactionInstallmentAdjustment!]List of adjustments associated with the installment.
TransactionInstallmentAdjustment
Adjustment information.
fields:
- projectedDisbursementDate: DateThe projected date for the funds associated with the adjustements to be disbursed.
- actualDisbursementDate: DateThe date that the funds associated with this adjustments were actually disbursed.
- amount: AmountAdjustment amount for the installment.
- type: TransactionInstallmentAdjustmentType!Transaction Installment Adjustment type.
TransactionInstallmentDetails
Installment details for the transaction.
fields:
- count: StringThe installment count associated with the transaction.
- installments: [TransactionInstallment!]List of installments associated with the transaction.
TransactionLevelFeeReport
The [transaction-level fee report](https://articles.braintreepayments.com/control-panel/reporting/transaction-level-fee-report) provides a breakdown of fees per individual transactions and refunds. This type is no longer in use; see `PaymentLevelFeeReport` instead.
fields:
- url: StringThe URL where you can access the requested report.
TransactionLineItem
Data for individual line items on a transaction.
fields:
- name: StringItem name.
- kind: TransactionLineItemTypeIndicates whether the line item is a sale or refund.
- quantity: StringNumber of units of the item purchased.
- unitAmount: StringPer-unit price of the item.
- totalAmount: StringTotal price amount for the line item, i.e. quantity multiplied by unit amount.
- unitTaxAmount: StringPer-unit tax price of the item.
- taxAmount: StringTax amount for the line item.
- discountAmount: StringThe discount amount of the line item.
- unitOfMeasure: StringThe unit of measure or the unit of measure code.
- productCode: StringProduct or UPC code for the item.
- commodityCode: StringCode used to classify items purchased and track the total amount spent across various categories of products and services. Different corporate purchasing organizations may use different standards, but the [United Nations Standard Products and Services Code (UNSPSC)](https://www.unspsc.org/) is frequently used.
- description: StringItem description.
- url: StringThe URL to product information.
- itemType: StringThe type of the line item, i.e., physical, digital etc.
- imageUrl: StringURL to an image that represents the product. Max 1024 characters.
- upc: LineItemUpcUPC of the line item.
TransactionPackageTracker
Data for an individual package tracker on a PayPal transaction.
fields:
- id: IDUnique identifier for the tracker.
- trackingNumber: StringTracking number for this package.
- carrier: StringShipping carrier.
- paypalTrackerId: StringPayPal assigned identifier for this tracker. This field may not be immediately available, but will be available when querying the transaction at a later time. This field is only available for PayPal transactions.
TransactionPayload
Top-level output field from creating a transaction.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- transaction: TransactionThe transaction representing the charge on the payment method.
TransactionSettlementProcessorResponse
Detailed response information from the processor when attempting to settle a transaction.
fields:
- legacyCode: StringA code based on the response from the processor, indicating the result of attempting to settle this transaction. See the [list of possible processor response codes for settlement](https://developers.braintreepayments.com/reference/general/processor-responses/settlement-responses).
- message: StringThe text explanation of the processor response legacyCode.
TransactionShipping
Information related to shipping a physical product.
fields:
- shippingAddress: AddressShipping address information.
- shippingAmount: AmountThe shipping cost of the entire transaction.
- shipsFromPostalCode: StringThe postal code of the source shipping location.
- shippingMethod: TransactionShippingMethodThe shipping method.
- packageTrackers: [TransactionPackageTracker!]Shipment package trackers for PayPal transactions.
- shippingTaxAmount: AmountShipping tax amount on the entire transaction.
UnionPayConfiguration
Configuration for UnionPay cards.
fields:
- merchantAccountId: StringThe Braintree merchant account ID with UnionPay processing enabled.
UpdateCreditCardBillingAddressPayload
Top-level fields returned when updating a multi-use credit card to a new billing address.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodThe multi-use payment method which was updated.
- verification: VerificationThe verification that was run on the payment method prior to updating the billing address, if present.
UpdateCreditCardCardholderNamePayload
Top-level fields returned when updating a multi-use credit card to a new cardholder name.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
- verification: VerificationThe verification that was run on the payment method prior to updating the cardholder name, if present.
UpdateCreditCardExpirationDatePayload
Top-level fields returned when updating a multi-use credit card to a new expiration date.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA single-use payment method.
- verification: VerificationThe verification that was run on the payment method prior to updating the expiration date, if present.
UpdateCustomFieldsPayload
Top-level output field from updating custom fields for a specific transaction or a refund.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- customFields: [CustomField!]A list of all custom fields on the updated transaction or refund. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
UpdateInStoreLocationPayload
Top-level fields returned when updating an in-store location.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- location: InStoreLocationThe in-store location.
UpdateTransactionCustomFieldsPayload
Deprecated: `UpdateTransactionCustomFields` mutation is no longer supported, please use `UpdateCustomFields` mutation instead.
Top-level output field from updating custom fields for a specific transaction.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- customFields: [CustomField!]A list of all custom fields on the updated transaction. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
UsBankAccountConfiguration
Configuration for US bank account processing.
fields:
- routeId: StringThe route ID used to process a US bank account payment.
UsBankAccountDetails
Details about a US bank account.
fields:
- accountholderName: StringThe name of the accountholder. This is either the business name for a business account, or the owner's full name for an individual account.
- accountType: UsBankAccountTypeThe bank account type.
- ownershipType: UsBankAccountOwnershipTypeThe ownership type of the account, i.e. business or personal.
- bankName: StringThe name of the bank at which the account exists.
- last4: StringThe last four digits of the bank account number.
- routingNumber: StringThe routing number of the bank.
- verified: BooleanWhether or not the bank account has been verified and can be transacted on.
- achMandate: UsBankAccountAchMandateNACHA-mandated proof of acceptance of ACH terms.
UsBankAccountVerificationDetails
Information specific to verifications of US bank account payment methods.
fields:
- method: UsBankAccountVerificationMethodType of US bank account verification performed.
- verificationDeterminedAt: TimestampTime at which the verification was determined to be successful or not. If successful, at this time the payment method will be marked `verified` and you will be able to charge it.
User
Details about the user.
fields:
- id: ID!Unique identifier.
- email: StringEmail address.
- status: UserStatusCurrent status.
- name: StringFull name.
- roles: [Role!]Associated roles.
VaultPayPalBillingAgreementPayload
Top-level fields returned when importing and vaulting a PayPal Billing Agreement.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodThe vaulted payment method containing the imported PayPal Billing Agreement.
VaultPaymentMethodPayload
Top-level output field from vaulting a payment method.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- paymentMethod: PaymentMethodA payment method that has been stored in a merchant's vault and can be reused.
- verification: VerificationThe verification that was run on the payment method prior to vaulting.
VenmoConfiguration
Configuration for Pay with Venmo.
fields:
- merchantId: StringThe Venmo merchant ID.
- accessToken: StringAuthorization to use when tokenizing a Venmo payment method.
- environment: VenmoEnvironmentThe Venmo environment.
- enrichedCustomerDataEnabled: BooleanIndicates whether Enriched Customer Data is enabled for your merchant.
VenmoPayerInfo
Information about a payer's Venmo account.
fields:
- firstName: StringThe payer's first name.
- lastName: StringThe payer's last name.
- phoneNumber: StringThe payer's phone number.
- email: EmailAddressThe payer's email address.
- externalId: StringThe external ID of the payer's Venmo account.
- userName: StringThe username of the payer's Venmo account.
- billingAddress: AddressThe payer's billing address.
- shippingAddress: AddressThe payer's shipping address.
VenmoPaymentContext
Fields returned from a Venmo payment context.
fields:
- id: ID!The unique identifier.
- merchantId: StringThe ID of the transacting merchant.
- intent: VenmoIntentThe intended payment flow this payment context was created with.
- createdAt: Timestamp!Date and time when the payment context was created.
- updatedAt: Timestamp!Date and time when the payment context was updated.
- status: VenmoPaymentContextStatusThe status of the payment context.
- environment: VenmoEnvironmentThe Venmo environment this payment context was created in.
- isFinalAmount: BooleanIndicates whether the purchase amount is the final amount.
- expiresAt: TimestampDate and time when the payment context expires.
- paymentMethodId: IDThe single-use Venmo account payment method ID.
- clientSDKMetadata: ClientSDKMetadataAnalytics data of the SDK where the QR code was scanned.
- userName: StringDeprecated: This field is included for supporting legacy clients. Please use `payerInfo.userName` instead. The username associated with the payment.
- paymentMethodUsage: PaymentMethodUsageWhether the `paymentMethodId` may be used to make a one time payment (`SINGLE_USE`) or to create a vaulted multi-use payment token (`MULTI_USE`). This field will only be populated when the context was created by the `createVenmoPaymentContext` mutation, it will be `null` if the context was created by the deprecated `createVenmoQRCodePaymentContext` mutation.
- customerClient: CustomerClientClient the customer used to initiate the transaction. This field will only be populated when the context was created by the `createVenmoPaymentContext` mutation, it will be `null` if the context was created by the deprecated `createVenmoQRCodePaymentContext` mutation.
- merchantProfileId: IDAn identifier representing the profile of the merchant used to initiate the transaction.
- parentPaymentContextId: IDThe unique identifier of the parent payment context. The presence of this field indicates that a customer has previously consented to all future purchases with this merchant, so they should not be asked again for this specific merchant.
- displayName: StringThe sub-merchant display name shown on the Venmo app consent screen. This field will only be present for PayFast channel partner merchants.
- payerInfo: VenmoPayerInfoInformation about the payer's Venmo account.
- paysheetDetails: VenmoPaysheetDetailsDetails about the information to be displayed on the paysheet.
- returnUrl: URLURL for redirecting back to merchant app on the client.
interfaces:
VenmoPaymentContextPayload
Top-level fields returned when creating a Venmo payment context.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- venmoPaymentContext: VenmoPaymentContextThe payment context object.
VenmoPaysheetDetails
Details about the information to be displayed on the Venmo paysheet.
fields:
- collectCustomerBillingAddress: BooleanIndicates whether to collect a billing address from the customer on the paysheet.
- collectCustomerShippingAddress: BooleanIndicates whether to collect a shipping address from the customer on the paysheet.
- transactionDetails: VenmoPaysheetTransactionDetailsThe different amounts and line items belonging to the transaction.
VenmoPaysheetLineItem
Line items for a Venmo pay sheet.
fields:
- name: StringItem name. Maximum 127 characters.
- quantity: IntNumber of units of the item purchased. This value can't be negative or zero.
- unitAmount: AmountPer-unit price of the item. Can include up to 2 decimal places. This value can't be negative or zero.
- type: TransactionLineItemTypeIndicates whether the line item is a debit (sale) or credit (refund or discount) to the customer.
- description: StringItem description. Maximum 127 characters.
- productCode: StringProduct or UPC code for the item. Maximum 127 characters.
- unitTaxAmount: AmountPer-unit tax price of the item. Can include up to 2 decimal places. This value can't be negative or zero. If this is a line item for a Venmo transaction, this value can be zero.
- url: URLThe URL to product information.
VenmoPaysheetTransactionDetails
Details about the different amounts and line items belonging to a transaction.
fields:
- subTotalAmount: AmountThe subtotal amount of the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- taxAmount: AmountThe tax amount of the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- discountAmount: AmountThe total discount applied to the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- shippingAmount: AmountThe shipping amount for the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- totalAmount: AmountThe grand total amount of the transaction. Either a whole number or a number with two decimal places. Must be non-negative.
- venmoPaysheetLineItems: [VenmoPaysheetLineItem!]The list of line items belonging to the Venmo pay sheet. Can include up to 249 line items.
Verification
A verification reporting whether the payment method has passed your fraud rules and the issuer has ensured it is associated with a valid account.
fields:
- id: ID!Unique identifier.
- legacyId: ID!Legacy unique identifier.
- paymentMethodSnapshot: PaymentMethodSnapshotSnapshot of payment method details that were verified. This will always be present.
- paymentMethod: PaymentMethodThe multi-use payment method that was verified, if it was vaulted. The details of this PaymentMethod may have changed since it was verified.
- merchantAccountId: IDThe merchant account used for the verification.
- status: VerificationStatusThe current status of this verification, indicating whether the verification was successful. Braintree recommends only vaulting payment methods that are successfully verified.
- processorResponse: VerificationProcessorResponseDetailed response information from the processor. Will not be present if the verification was rejected prior to contacting the processor.
- networkResponse: PaymentNetworkResponseFields describing the network response to the verification request.
- createdAt: TimestampDate and time at which the verification was created.
- gatewayRejectionReason: GatewayRejectionReasonThe reason the verification was rejected. This will only be set if status is GATEWAY_REJECTED.
- riskData: RiskDataRisk data evaluated for this verification.
- paymentMethodVerificationDetails: VerificationDetailsDetails unique to the verification based on payment method type being verified.
interfaces:
VerificationConnection
A paginated list of verifications.
fields:
- edges: [VerificationConnectionEdge]A list of verifications.
- pageInfo: PageInfo!Information about the page of verifications contained in `edges`.
VerificationConnectionEdge
A verification within a VerificationConnection.
fields:
- cursor: StringThe verification's location within the VerificationConnection. Used for requesting additional pages.
- node: VerificationThe verification.
VerificationProcessorResponse
Detailed response information from the processor.
fields:
- legacyCode: StringThe [processor response code](https://developers.braintreepayments.com/reference/general/processor-responses/authorization-responses) indicating the result of attempting the verification.
- message: StringThe text explanation of the processor response code.
- cvvResponse: AvsCvvResponseCodeThe processing bank's response to the provided CVV.
- avsPostalCodeResponse: AvsCvvResponseCodeThe processing bank's response to the provided billing postal or zip code.
- avsStreetAddressResponse: AvsCvvResponseCodeThe processing bank's response to the provided billing street address.
- additionalInformation: StringIf present, any additional information recieved from the processor. May provide further insight into the `legacyCode`.
VerifyPaymentMethodPayload
Top-level output field from verifying a payment method.
fields:
- clientMutationId: StringAn identifier used to reconcile requests and responses. 255 characters maximum.
- verification: VerificationThe verification that was run on the payment method.
VisaCheckoutConfiguration
Configuration for Visa Checkout.
fields:
- apiKey: StringThe Visa Checkout API key.
- encryptionKey: StringThe Visa Checkout encryption key.
- externalClientId: StringThe Visa Checkout external client ID.
- supportedCardBrands: [CreditCardBrandCode!]A list of card brands supported by the merchant for Visa Checkout.
VoidedEvent
Accompanying information for a transaction that has been voided.
fields:
- status: PaymentStatusThe new status of the transaction.
- timestamp: TimestampDate and time when the transaction was voided.
- amount: MonetaryAmountThe amount of the voided transaction. This should match the authorization amount.
- source: PaymentSourceThe source for the transaction change to the new status.
- terminal: BooleanWhether or not this is the final state for the transaction.
- userName: StringUser name of the person who performed an action that triggered the status change of the transaction.
interfaces:
Scalars
Amount
A monetary amount, either a whole number or a number with exactly two or three decimal places.
CountryCode
An [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. Braintree only accepts [specific alpha-2 values](https://developers.braintreepayments.com/reference/general/countries#list-of-countries). Clients using a Braintree version prior to 2021-02-01 should use an [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code.
CountryCodeAlpha2
An [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. Braintree only accepts [specific alpha-2 values](https://developers.braintreepayments.com/reference/general/countries#list-of-countries).
CurrencyCodeAlpha
An [ISO 4217 alpha](https://en.wikipedia.org/wiki/ISO_4217) currency code. Braintree only accepts [specific alpha values](https://developers.braintreepayments.com/reference/general/currencies).
CustomFieldName
A string representing a custom field value. Contains letters, numbers, and underscores.
Duration
An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) Duration that accepts Days, Hours, Minutes and Seconds.
EmailAddress
The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after theminLength: 3 maxLength: 254 pattern:@
sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@
sign exists.
^.+@[^\"\\-].+$
.ExchangeRate
A value with more than one decimal place, representing an exchange rate between currencies. For example, `0.93014065558374`.
minLength: 3
pattern:
^\\d+[.]\\d+$
Language
The [language tag](https://tools.ietf.org/html/bcp47#section-2) for the language in which to localize the error-related strings, such as messages, issues, and suggested actions.
The tag is made up of the [ISO 639-2 language code](https://www.loc.gov/standards/iso639-2/php/code_list.php), the optional [ISO-15924 script tag](http://www.unicode.org/iso15924/codelists.html), and the [ISO-3166 alpha-2 country code](https://developer.paypal.com/braintree/docs/reference/general/countries).
maxLength: 10
minLength: 2
pattern:
^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}))?$
Percentage
The percentage, as a fixed-point, signed decimal number. For example, define a 19.99% interest rate as `19.99`.
ThreeDSecureCavvAlgorithm
A 3D Secure CAVV algorithm. Possible Values: 2 - CVV with ATN, 3 - Mastercard SPA algorithm.
ThreeDSecureVersion
A 3D Secure authentication version. Must be composed of digits separated by periods (e.g. '1.0.2').
Timestamp
An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Times) timestamp with microsecond precision, in UTC.
URL
A URL string
pattern:
[a-zA-Z0-9+-.]:\\/\\/([-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.?[a-z]{2,4}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*))?
Unions
NonPciCardData
A union of all possible non [PCI-scoped](https://www.braintreepayments.com/blog/understanding-pci-dss-compliance) cards read from an in-store reader.
Possible Types:
PartialCaptureDetails
A union of all possible relationships of transactions involved in partial captures. If the transaction has been partially captured, this links to all its partial capture children; if the transaction represents a partial capture attempt, this links to the original parent authorization.
Possible Types:
PaymentMethodDetails
A union of all possible payment method details. PaymentMethodDetails contain information for display purposes, payment method management, and processing.
PaymentMethodOriginDetails
A union of all possible payment method origin details. PaymentMethodOriginDetails contain additional information specific to the third party the payment method was provided by.
PaymentMethodSnapshot
A union of all possible payment method details as they were used in a transaction or verification. PaymentMethodSnapshot preserves values used to create a given transaction or verify a payment method at that moment in time.
TransactionReversal
A union of all possible results of a transaction reversal. If the transaction is settled, a refund will be issued and a Refund object will be returned. Otherwise, the transaction will be voided and a Transaction object will be returned.
Possible Types:
VerificationDetails
A union of all possible verification details specific to the type of payment method being verified.