Reference

Query

ping
Returns the literal string 'pong'.
output:

viewer
The currently authenticated viewer.
output:

clientConfiguration
The client-side environment and payment method configuration.

node
Fetch any object that extends the Node interface using its ID.
args:
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:
output:

report
The available reports.
output:

Mutation

authorizePaymentMethod
Authorize an eligible payment method and return a payload that includes details of the resulting transaction.

authorizePayPalAccount
Authorize an eligible PayPal account and return a payload that includes details of the resulting transaction.

authorizeVenmoAccount
Authorize an eligible Venmo account and return a payload that includes details of the resulting transaction.

captureTransaction
Capture an authorized transaction and return a payload that includes details of the transaction.

chargePaymentMethod
Charge any payment method and return a payload that includes details of the resulting transaction.

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.

chargePayPalAccount
Charge a PayPal account and return a payload that includes details of the resulting transaction.

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.

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, this mutation will also verify that card by default.

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.

refundTransaction
Refund a settled transaction and return a payload that includes details of the refund.

reverseTransaction
Reverse a transaction and return a payload that includes either the voided transaction or a refund.

verifyPaymentMethod
Run a verification on a multi-use payment method.

verifyUsBankAccount
Run a verification on a multi-use US bank account payment method.

confirmMicroTransferAmounts
Confirm micro-transfer amounts initiated by vaultUsBankAccount or verifyUsBankAccount, completing the verification process for a US Bank Account via micro-transfer.

deletePaymentMethodFromVault
Delete a multi-use payment method from the vault.

createClientToken
Create a client token that can be used to initialize a client in order to tokenize payment information.

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 only available for certain use cases. For more information about if this mutation fits your use case [see our docs](https://articles.braintreepayments.com/guides/payment-methods/paypal/processing#multiple-partial-settlements).

tokenizeCustomActionsPaymentMethod
Tokenize Custom Actions fields and return a payload that includes a single-use payment method.

tokenizeCreditCard
Tokenize credit card fields and return a payload that includes a single-use payment method.

tokenizeCvv
Tokenize a credit card's CVV and return a payload that includes a single-use payment method.

tokenizeNetworkToken
Tokenize a network tokenized payment instrument and return a payload that includes a single-use payment method.

tokenizeSamsungPayCard
Tokenize Samsung Pay Card fields and return a payload that includes a single-use payment method.

tokenizeUsBankAccount
Tokenize U.S. bank account fields and return a payload that includes a single-use payment method.

tokenizeUsBankLogin
Tokenize U.S. bank login fields and return a payload that includes a single-use payment method.

createCustomer
Create a customer for storing individual customer information and/or grouping transactions and multi-use payment methods.

updateCustomer
Update a customer's information.

deleteCustomer
Delete a customer, breaking association between any of the customer's transactions. Will not delete if the customer has existing payment methods.

deletePaymentMethodFromSingleUseToken
Delete a payment method referenced by a single-use token.

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.

Interfaces

DisputeEvidence
Evidence provided by a merchant to respond to a dispute.
fields:
  • id: ID
    Unique identifier.
  • createdAt: Timestamp
    Date and time at which the evidence was created with Braintree.
  • sentToProcessorAt: Timestamp
    Date and time at which the evidence was sent to the processor.
  • category: String
    The evidence category.

Node
Relay compatible Node interface.
fields:
  • id: ID
    Global ID for a given object.

TransactionStatusEvent
Status event in the lifecycle of a transaction.
fields:
  • status: TransactionStatus
    New status of the transaction.
  • timestamp: Timestamp
    Date and time at which the status event occurred.
  • amount: MonetaryAmount
    Amount of the transaction applicable to the status.
  • source: TransactionSource
    Source that caused the transaction status event to occur.
  • terminal: Boolean
    Whether this is the final state for the transaction. 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:
  • CCD
    Corporate credit or debit.
  • PPD
    Prearranged payment and deposit.
  • TEL
    Telephone-initiated.
  • WEB
    Internet-initiated/mobile.

ApplePayStatus
The environment being used for Apple Pay.
enum values:
  • MOCK
  • OFF
  • PRODUCTION
  • mock
  • off
  • production

AvsCvvResponseCode
Response codes from the processing bank's Address Verification System (AVS) and CVV verification.
enum values:
  • BYPASS
  • 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

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

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
  • DINERS
  • DISCOVER
  • INTERNATIONAL_MAESTRO
  • JCB
  • MASTERCARD
  • SOLO
  • UK_MAESTRO
  • UNION_PAY
  • UNKNOWN
  • VISA
  • american_express
  • diners
  • discover
  • international_maestro
  • jcb
  • mastercard
  • solo
  • uk_maestro
  • union_pay
  • unknown
  • visa

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:
  • PSDTWO
    EU Regulation [PSD2 Strong Customer Authentication](https://www.braintreepayments.com/blog/understanding-and-preparing-for-psd2-strong-customer-authentication/) applies to this transaction.
  • UNAVAILABLE
    Customer authentication regulation environment information is unavailable for this transaction at this time.
  • UNREGULATED
    No customer authentication regulations apply to this transaction.

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
  • DISPUTED
  • EXPIRED
  • LOST
  • OPEN
  • WON

DisputeType
Type of dispute.
enum values:
  • CHARGEBACK
  • PRE_ARBITRATION
    A [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

FraudServiceProvider
The third-party provider used to generate the risk decision.
enum values:
  • FRAUD_PROTECTION
  • KOUNT

GatewayRejectionReason
Possible reasons why a transaction was rejected by the gateway.
enum values:
  • APPLICATION_INCOMPLETE
  • AVS
  • AVS_AND_CVV
  • CVV
  • DUPLICATE
  • FRAUD
  • THREE_D_SECURE
  • TOKEN_ISSUANCE

GooglePayEnvironment
The environment being used for Google Pay.
enum values:
  • PRODUCTION
  • SANDBOX
  • production
  • sandbox

LegacyIdType
The type of object the legacyId represents when converting legacyId to ID.
enum values:
  • CUSTOMER
  • PAYMENT_METHOD
  • REFUND
  • TRANSACTION
  • VERIFICATION

PayPalEnvironment
The environment being used for PayPal.
enum values:
  • CUSTOM
  • LIVE
  • OFFLINE
  • custom
  • live
  • offline

PaymentMethodOriginType
A value identifying the third-party origin from which a customer provided their payment method.
enum values:
  • APPLE_PAY
  • GOOGLE_PAY
  • MASTERPASS
  • NETWORK_TOKEN
  • SAMSUNG_PAY
  • 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:
  • CREDIT_CARD
  • CREDIT_CARD_VIA_APPLE_PAY
  • CREDIT_CARD_VIA_GOOGLE_PAY
  • CREDIT_CARD_VIA_MASTERPASS
  • CREDIT_CARD_VIA_NETWORK_TOKEN
  • CREDIT_CARD_VIA_SAMSUNG_PAY
  • CREDIT_CARD_VIA_VISA_CHECKOUT
  • PAYPAL
  • US_BANK_ACCOUNT
  • VENMO_ACCOUNT

PaymentMethodUsage
Possible usages for payment methods.
enum values:
  • MULTI_USE
  • SINGLE_USE

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:
  • HARD
    Hard 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.
  • SOFT
    Soft declines result from a temporary issue and can be retried; subsequent charges on the same payment method may be successful.

RecurringType
The type of recurring payment a transaction represents.
enum values:
  • FIRST
  • SUBSEQUENT
  • UNSCHEDULED

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
The environment being used for Samsung Pay.
enum values:
  • PRODUCTION
  • SANDBOX

ThreeDSecureAuthenticationStatus
The 3D Secure authentication status of the card.
enum values:
  • AUTHENTICATE_ATTEMPT_SUCCESSFUL
  • AUTHENTICATE_ERROR
  • AUTHENTICATE_FAILED
  • AUTHENTICATE_SIGNATURE_VERIFICATION_FAILED
  • AUTHENTICATE_SUCCESSFUL
  • AUTHENTICATE_UNABLE_TO_AUTHENTICATE
  • AUTHENTICATION_UNAVAILABLE
  • LOOKUP_BYPASSED
  • LOOKUP_ENROLLED
  • LOOKUP_ERROR
  • LOOKUP_NOT_ENROLLED
  • UNSUPPORTED_CARD

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

ThreeDSecureCardEnrolled
Indicates whether the card is enrolled in a 3D Secure program.
enum values:
  • BYPASS
    Authentication has been bypassed. This status will be returned if you set up bypass rules with CardinalCommerce, and they are triggered.
  • ERROR
    There was an error in determing whether the card is enrolled in a 3D Secure program.
  • NO
    Card is not enrolled.
  • UNAVAILABLE
    The DS (directory server) or ACS (access control server) is not available for authentication at the time of the request.
  • YES
    Card is enrolled.

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

TransactionLineItemType
Indicates whether a transaction line item is a debit (sale) or credit (refund).
enum values:
  • CREDIT
  • DEBIT

TransactionSource
The origin of a request that created or changed a transaction.
enum values:
  • API
  • CONTROL_PANEL
  • RECURRING
  • UNKNOWN

TransactionStatus
The status of the transaction, indicating where it is in the [transaction lifecycle](https://articles.braintreepayments.com/get-started/transaction-lifecycle) and its success or failure. For further details on why any given status occurred, consult the corresponding `TransactionStatusEvent` in the transaction's `statusHistory`.
enum values:
  • AUTHORIZATION_EXPIRED
    The 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.
  • AUTHORIZED
    The 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.
  • AUTHORIZING
    If a transaction remains in a status of `AUTHORIZING`, [contact Braintree Support for assistance](https://help.braintreepayments.com).
  • FAILED
    An error occurred when sending the transaction to the downstream processor. See the transaction's `statusHistory` for the exact error.
  • GATEWAY_REJECTED
    The 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_DECLINED
    The processor declined the transaction while attempting to authorize it. See the transaction's `statusHistory` to determine what reason the processor gave for the decline.
  • SETTLED
    The transaction has been settled, meaning your customer has been charged and the process of disbursing the funds to your bank account will begin.
  • SETTLEMENT_CONFIRMED
  • SETTLEMENT_DECLINED
    The processor declined the transaction while attempting to capture it. See the transaction's `statusHistory` to detemine why it was not settled. This status is rare, and only certain types of transactions can be affected.
  • SETTLEMENT_PENDING
    The 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.
  • SETTLING
    The transaction is in the process of being settled. This is a transitory state, and will resolve to a status of `SETTLED`.
  • SUBMITTED_FOR_SETTLEMENT
    The transaction has been successfully captured, and will be included in the next settlement batch, at which time it will become settled.
  • VOIDED
    The transaction was voided, meaning it is no longer authorized, your customer's funds are no longer on hold, and you cannot use the `captureTransaction` mutation on this transaction.

UsBankAccountOwnershipType
The ownership type of U.S. Bank Account.
enum values:
  • BUSINESS
  • PERSONAL

UsBankAccountType
The type of U.S. Bank Account.
enum values:
  • CHECKING
  • SAVINGS

UsBankAccountVerificationMethod
The type of verification on an US bank account payment method. See our [ACH guide](https://articles.braintreepayments.com/guides/payment-methods/ach#verification-methods).
enum values:
  • INDEPENDENT_CHECK
    Verification conducted independently by the merchant, not through Braintree.
  • MICRO_TRANSFERS
    Verification by micro-deposits transferred to the bank account, which the customer must then confirm. The most reliable method, but takes additional time.
  • NETWORK_CHECK
    Verification via account information. Will complete the verification process immediately, but is not supported by all banks.
  • TOKENIZED_CHECK
    Verification 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 U.S. 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

UserStatus
The status of a User.
enum values:
  • ACTIVE
  • DELETED
  • PASSIVE
  • PENDING
  • SUSPENDED

VenmoEnvironment
The environment being used for Pay with Venmo.
enum values:
  • PRODUCTION
  • SANDBOX
  • production
  • sandbox

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:
  • FAILED
    Indicates the verification was unsuccessful because of an issue communicating with the processor.
  • GATEWAY_REJECTED
    Indicates 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.
  • PENDING
    Indicates that the verification is pending.
  • PROCESSOR_DECLINED
    Indicates that the verification was unsuccessful based on the response from the processor.
  • VERIFIED
    Indicates that the verification was successful.
  • VERIFYING
    Indicates that the verification is in the process of verifying.

Inputs

AddressInput
Input fields for an Address.
input:
  • company: String
    Company name. 255 character maximum.
  • streetAddress: String
    The street address. 255 character maximum.
  • extendedAddress: String
    Extended address information, such as apartment or suite number. 255 character maximum.
  • firstName: String
    First name. 255 character maximum.
  • lastName: String
    Last name. 255 character maximum.
  • locality: String
    Locality/city. 255 character maximum.
  • region: String
    State or province. 255 character maximum.
  • postalCode: String
    Postal 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 for Level 3 processing* on TransactionInput.
  • countryCode: CountryCodeAlpha3
    Country code for the address in ISO 3166-1 alpha-3 format. *Required for Level 3 processing* on TransactionInput.
  • countryCodeAlpha3: String
    Country code for the address in ISO 3166-1 alpha-3 format.
  • countryCodeAlpha2: String
    Country code for the address in ISO 3166-1 alpha-2 format.
  • countryCodeNumeric: String
    Country code for the address in ISO 3166-1 numeric format.
  • countryName: String
    Country name for the address.

AuthenticationInsightInput
Input fields when requesting authentication insight for a payment method.
input:
  • merchantAccountId
    ID of the merchant account that will be used when charging this payment method.

AuthorizePayPalAccountInput
Top-level input fields for creating a transaction by authorizing a payment method.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of a payment method to be authorized.
  • options: AuthorizePayPalAccountOptionsInput
    Input fields related to the PayPal account being charged.
  • transaction
    Input fields for the authorization, with details that will define the resulting transaction.

AuthorizePayPalAccountOptionsInput
Input fields for authorizing a PayPal account.
input:
  • customField: String
    Variable passed directly to PayPal for your own tracking purposes. Customers do not see this value.
  • description: String
    Description of the transaction that is displayed to customers in PayPal email receipts.
  • payee: PayPalPayeeOptionsInput
    Input fields for the PayPal account receiving the transaction funds.

AuthorizePaymentMethodInput
Top-level input fields for creating a transaction by authorizing a payment method.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of a payment method to be authorized.
  • transaction
    Input fields for the authorization, with details that will define the resulting transaction.

AuthorizeVenmoAccountInput
Top-level input fields for creating a transaction by authorizing a payment method.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of a payment method to be authorized.
  • options: AuthorizeVenmoAccountOptionsInput
    Input fields related to the Venmo account being charged.
  • transaction
    Input fields for the authorization, with details that will define the resulting transaction.

AuthorizeVenmoAccountOptionsInput
Input fields for authorizing a Venmo account.
input:
  • profileId: String
    Specifies which Venmo business profile to use for the transaction.

CaptureTransactionInput
Top-level input fields for capturing an authorized transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId
    ID of a transaction to be captured.
  • amount: Amount
    The 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 [Braintree support](mailto:support@braintreepayments.com) for details. If you capture an amount that is less than what was authorized, the transaction object will return the amount captured.
  • transaction: CaptureTransactionOptionsInput
    Input 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: Amount
    The 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 [Braintree support](mailto:support@braintreepayments.com) for details. If you capture an amount that is less than what was authorized, the transaction object will return the amount captured.
  • descriptor: TransactionDescriptorInput
    Fields 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.
  • orderId: String
    Additional information about the transaction. On PayPal transactions, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal transactions. If specified, this will update the existing order ID on the transaction.

ChargePayPalAccountInput
Top-level input fields for creating a transaction by charging a PayPal account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    The ID of an existing PayPal account.
  • options: ChargePayPalAccountOptionsInput
    Input fields related to the PayPal account being charged.
  • transaction
    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: String
    Variable passed directly to PayPal for your own tracking purposes. Customers do not see this value.
  • description: String
    Description of the transaction that is displayed to customers in PayPal email receipts.
  • payee: PayPalPayeeOptionsInput
    Input fields for the PayPal account receiving the transaction funds.

ChargePaymentMethodInput
Top-level input fields for creating a transaction by charging a payment method.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of a payment method to be charged.
  • transaction
    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: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    The ID of an existing US bank account.
  • options: ChargeUsBankAccountOptionsInput
    Input fields related to the US bank account being charged.
  • transaction
    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: ACHStandardEntryClassCode
    A 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: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    The ID of an existing Venmo account.
  • options: ChargeVenmoAccountOptionsInput
    Input fields for creating a Pay with Venmo transaction.
  • transaction
    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: String
    Specifies which Venmo business profile to use for the transaction.

ClientTokenInput
Input fields for creating a client token.
input:
  • merchantAccountId: ID
    Merchant account ID used to create the client token. Defaults to your default merchant account ID.
  • customerId: ID
    An ID of an existing customer. Including this will allow your customer to vault and manage their payment methods.

ConfirmMicroTransferAmountsInput
Top-level input field for confirming micro-transfer values.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • verificationId
    ID of the verification from vaulting the bank account.
  • amountsInCents
    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: String
    An identifier used to reconcile requests and responses.
  • clientToken: ClientTokenInput
    Input fields for creating a client token.

CreateCustomerInput
Top-level field for creating a customer.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • customer: CustomerInput
    Input fields for creating a customer.

CreditCardInput
Input fields for a credit card object.
input:
  • number: String
    The 12-to-19-digit value that uniquely identifies this credit card, also known as the primary account number or PAN.
  • expirationYear: String
    The two- or four-digit year associated with a credit card, formatted `YYYY` or `YY`.
  • expirationMonth: String
    The expiration month of a credit card, formatted `MM`.
  • cvv: String
    A 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: String
    When supplied, the cardholder name to be tokenized with the contents of the fields.
  • billingAddress: AddressInput
    The billing address for the credit card.

CustomActionsPaymentMethodFieldInput
Fields that are provided during tokenization and are presented to the invoked action to be consumed.
input:
  • name
    The name of this field. e.g. "accountNumber".
  • value
    The value of this field. e.g. "123456789".
  • displayValue
    The value displayed in the Control Panel or API. e.g. "*****6789".

CustomActionsPaymentMethodInput
Input fields for a Custom Actions payment method.
input:
  • actionName
    The action you wish to invoke when using the tokenized payment method.
  • fields
    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
    Name of the custom field as defined in the Control Panel.
  • value: String
    Value 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: String
    Company or business name associated with the customer.
  • customFields
    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: String
    Email address for the customer.
  • firstName: String
    Customer's first name.
  • lastName: String
    Customer's last name.
  • phoneNumber: String
    Phone number for the customer.

DeleteCustomerInput
Top-level input fields for deleting a customer.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • customerId
    The ID of the customer to be deleted.

DeletePaymentMethodFromSingleUseTokenInput
Top-level input fields for deleting a payment method referenced by a single-use token.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • singleUseTokenId
    A single-use token ID referencing a payment method.

DeletePaymentMethodFromVaultInput
Top-level input fields for deleting a multi-use payment method from the vault.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    The ID of the multi-use payment method to be deleted.

MonetaryAmountSearchInput
Input fields for searching for a transaction or refund amount.
input:

NetworkTokenInput
Input fields for a network tokenized card object.
input:
  • cryptogram
    A one-time-use string generated by the token requester to validate the transaction.
  • eCommerceIndicator
    A two-digit string that should be passed along in the authorization message.
  • expirationMonth
    A two-digit string representing the expiration month of the DPAN.
  • expirationYear
    A four-digit string representing the expiration year of the DPAN.
  • number
    The card number used in processing. This is a device PAN (DPAN), not the backing card number (FPAN).

PartialCaptureTransactionInput
Top-level input fields for capturing an outstanding funds authorized by a transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId
    ID of the original authorized transaction to be partially captured.
  • transaction: PartialCaptureTransactionOptionsInput
    Input 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
    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 [Braintree support](mailto:support@braintreepayments.com) for details.
  • orderId: String
    Additional information about the transaction. On PayPal transactions, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal transactions. If specified, this will update the existing order ID on the transaction.

PayPalPayeeOptionsInput
Input fields for a PayPal account receiving transaction funds.
input:
  • email: String
    The email address associated with the payee PayPal account.

PerformThreeDSecureLookupInput
Top-level fields for performing a 3D Secure Lookup.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • merchantAccountId: ID
    ID of the merchant account that will be used when charging the payment method.
  • dfReferenceId: String
    Reference ID used by our MPI provider CardinalCommerce to connect the lookup request to the device data that was previously collected.
  • paymentMethodId
    The ID of a single-use payment method to perform the lookup on.
  • amount
    The amount you plan to charge the payment method after the 3D Secure authentication.
  • transactionInformation: ThreeDSecureLookupTransactionInformationInput
    Additional information about the transaction when authenticating through 3D Secure.
  • cardholderInformation: ThreeDSecureLookupCardholderInformationInput
    Additional information about the cardholder when authenticating through 3D Secure.
  • requestAuthenticationChallenge: Boolean
    When 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.
  • clientInformation: ThreeDSecureLookupClientInformationInput
    Information about the client-side lookup process.

RefundInput
Specific input fields for describing a refund.
input:
  • amount: Amount
    Amount that should be refunded. Must be less than or equal to the amount of the original transaction. Defaults to the total amount of the original transaction.
  • orderId: String
    The refund's order ID. Defaults to the order ID of the original transaction.

RefundSearchInput
Input fields for searching for refunds.
input:

RefundTransactionInput
Top-level input fields for refunding a transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId
    ID of a transaction to be refunded.
  • refund: RefundInput
    Input fields for the details of the refund.

ReverseTransactionInput
Input fields for reversing a transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId
    The ID of the transaction to reverse.

RiskDataInput
Input fields for a risk data object.
input:
  • customerBrowser: String
    The User-Agent header provided by the customer's browser, which gives information about the browser. Maximum 255 characters.
  • customerIp: String
    The customer's IP address.
  • deviceData: String
    Customer 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
Input fields for a Samsung Pay Card object.
input:
  • cryptogram
    A one-time-use string generated by the token requester to validate the transaction.
  • eCommerceIndicator
    A two-digit string that should be passed along in the authorization message.
  • expirationMonth
    A two-digit string representing the expiration month of the DPAN.
  • expirationYear
    A four-digit string representing the expiration year of the DPAN.
  • number
    The card number provided by Samsung and used in processing. This is a digitized PAN (DPAN), not the backing card number (FPAN).
  • sourceCardLast4
    The last four digits of the FPAN (the cardholder's backing card).

SearchCustomerInput
Input fields for searching transactions by customer.
input:

SearchPaymentMethodSnapshotTypeInput
Input fields for searching transactions by payment method snapshot type.
input:
  • is: PaymentMethodSnapshotSearchType
    This value represents the payment method 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
    These values represent the payment method 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.

SearchRangeInput
Input fields for searching for a range.
input:
  • is: String
    Field is exactly this value.
  • greaterThanOrEqualTo: String
    Field is greater than or equal to this value.
  • lessThanOrEqualTo: String
    Field is less than or equal to this value.

SearchTextInput
Input fields for searching text fields.
input:
  • is: String
    Field is exactly this value.
  • isNot: String
    Field is not this value.
  • startsWith: String
    Field starts with this value.
  • endsWith: String
    Field ends with this value.
  • contains: String
    Field contains this value.

SearchTimestampInput
Input fields for searching for a timestamp. These ranges are precise to the minute; the results of search for transactions or refunds created between 12/17/2015 17:00 and 12/17/2015 17:00 will include a transaction created at 12/17/2015 17:00:59.
input:
  • greaterThanOrEqualTo: Timestamp
    Timestamp is greater than or equal to this value.
  • lessThanOrEqualTo: Timestamp
    Timestamp is less than or equal to this value.

SearchTransactionStatusInput
Input fields for searching for a transaction or refund with a given status.
input:
  • is: TransactionStatus
    The transaction status is exactly this value.
  • in
    The transaction status is one of these values.

SearchTransactionStatusTransitionInput
Transaction status transition times.
input:

SearchValueInput
Input fields for searching for specific values.
input:
  • is: String
    Field is exactly this value.
  • in
    Field is one of these values.

SubmitCreditCardForAccountUpdaterInput
Input fields for submitting a credit card for account updater.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of the credit card to submit for account updater.

ThreeDSecureLookupBillingAddressInput
The billing address of the cardholder sent with 3D Secure Lookup requests.
input:
  • givenName: String
    The given (first) name associated with the billing address used for verification.
  • surname: String
    The surname (last name) associated with the billing address used for verification.
  • phoneNumber: String
    The billing phone number used for verification.
  • line1: String
    Line 1 of the billing address used for verification.
  • line2: String
    Line 2 of the billing address used for verification.
  • line3: String
    Line 3 of the billing address used for verification.
  • locality: String
    City or locality of billing address used for verification.
  • region: String
    State or region of billing address used for verification.
  • countryCode: String
    Country code of billing address used for verification.
  • postalCode: String
    Postal code of billing address used for verification.

ThreeDSecureLookupCardholderInformationInput
Additional information about the cardholder when authenticating through 3D Secure.
input:

ThreeDSecureLookupClientInformationInput
Information about the client side lookup process.
input:
  • sdkVersion: String
    Version of the Braintree client-side SDK being used.
  • requestedThreeDSecureVersion: String
    Version of 3D Secure requested when performing the lookup.
  • issuerDeviceDataCollectionMillisecondsElapsed: Int
    Number of milliseconds taken for the issuer to collect device data.
  • issuerDeviceDataCollectionResult: Boolean
    Whether device data collection by the issuer succeeded.
  • threeDSecureServerDeviceDataCollectionMillisecondsElapsed: Int
    Number of milliseconds taken for the 3D Secure server to collect device data.

ThreeDSecureLookupTransactionInformationInput
Additional information about the transaction when authentication through 3D Secure.
input:
  • email: String
    The email associated with the transaction.
  • shippingMethod: ThreeDSecureLookupShippingMethod
    Indicates the shipping method chosen for the transaction in the 3D Secure lookup.
  • phoneNumber: String
    The phone number associated with the transaction.

ThreeDSecurePassThroughInput
Results of a merchant-performed 3D Secure authentication.
input:
  • eciFlag
    The value of the electronic commerce indicator (ECI) flag, which indicates the outcome of the 3D Secure authentication.
  • cavv: String
    Cardholder 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: String
    Transaction 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: String
    Transaction identifier resulting from 3D Secure 2 authentication. This field must be supplied for Mastercard Identity Check.
  • version: ThreeDSecureVersion
    The version of 3D Secure authentication used for the transaction. Required on Visa and Mastercard authentications.
  • authenticationResponse: ThreeDSecureStatusCode
    The 3D Secure authentication response status code.
  • directoryServerResponse: ThreeDSecureStatusCode
    The 3D Secure directory server response.
  • cavvAlgorithm: ThreeDSecureCavvAlgorithm
    The algorithm used to generate the CAVV value. This is only returned for MasterCard SecureCode transactions (3DS 1.0).

TokenizeCreditCardInput
Top-level input fields for tokenizing a credit card.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • creditCard
    Input fields for a credit card object.
  • options: TokenizeCreditCardOptionsInput
    Credit card tokenization options.

TokenizeCreditCardOptionsInput
Credit card tokenization options.
input:
  • validate: Boolean
    Whether to run validations on credit card fields. Validations are not run by default.

TokenizeCustomActionsPaymentMethodInput
Top-level input fields for tokenizing Custom Actions.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • customActionsPaymentMethod
    Input fields for a Custom Actions payment method.

TokenizeCvvInput
Top-level input fields for tokenizing a CVV.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • cvv
    A 3 or 4 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.

TokenizeNetworkTokenInput
Top-level input field for tokenizing a network token.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • networkToken
    Input fields for a network token object.

TokenizeSamsungPayCardInput
Top-level input field for tokenizing a Samsung Pay Card.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • samsungPayCard
    Input fields for a Samsung Pay Card object.

TokenizeUsBankAccountInput
Top-level input fields for tokenizing a U.S. bank account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • usBankAccount
    Input fields for a U.S. bank account object.

TokenizeUsBankLoginInput
Top-level input fields for tokenizing a U.S. bank login.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • usBankLogin
    Input fields for a U.S. bank login object.

TransactionDescriptorInput
Fields used to define what will appear on a customer's bank statement for a specific purchase.
input:
  • name: String
    The value in the business name field of a customer's statement.
  • phone: String
    The value in the phone number field of a customer's statement.
  • url: String
    The value in the URL/web address field of a customer's statement.

TransactionInput
Input fields for creating a transaction.
input:
  • amount
    Billing amount of the request. This value must be greater than 0, and must match the currency format of the merchant account. Can only contain numbers and one decimal point (e.g. x.xx). Can't be greater than the maximum allowed by the processor.
  • merchantAccountId: ID
    Merchant account ID used to process the transaction. Currency is also determined by merchant account ID. If no merchant account ID is specified, we will use your default merchant account.
  • orderId: String
    Additional information about the transaction. On PayPal transactions, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal transactions.
  • purchaseOrderNumber: String
    A purchase order identification value you associate with this transaction. *Required for Level 2 processing*.
  • riskData: RiskDataInput
    Customer device information, which is sent directly to supported processors for fraud analysis.
  • customFields
    Collection of custom field/value pairs. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
  • descriptor: TransactionDescriptorInput
    Fields used to define what will appear on a customer's bank statement for a specific purchase.
  • recurring: RecurringType
    The type of recurring payment the transaction represents.
  • channel: String
    For partners and shopping carts only. If you are a shopping cart provider or other Braintree partner, pass a string identifier for your service. For PayPal transactions, this maps to paypal.bn_code.
  • customerId: ID
    If charging a single-use payment method, optional ID of a customer to associate the transaction with.
  • shipping: TransactionShippingInput
    Shipping information. *Required for Level 3 processing*.
  • tax: TransactionTaxInput
    Tax information about the transaction. *Required for Level 2 processing*.
  • discountAmount: String
    Discount 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 Level 3 processing*.
  • lineItems
    Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
  • threeDSecurePassThrough: ThreeDSecurePassThroughInput
    Results of a merchant-performed 3D Secure authentication. You will only need to use these fields if you've performed your own integration with a 3D Secure MPI provider (e.g. Cardinal Centinel). Otherwise, Braintree's SDKs handle this for you in our standard 3D Secure integration.

TransactionLineItemInput
Data for individual line items on a transaction.
input:
  • name
    Item name. Maximum 35 characters, or 127 characters for PayPal transactions. *Required for Level 3 processing*.
  • kind
    Indicates whether the line item is a sale or refund. *Required for Level 3 processing*.
  • quantity
    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
    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
    Total price amount for the line item: quantity multiplied by unitAmount. Can include up to 2 decimal places. *Required for Level 3 processing*.
  • unitTaxAmount: String
    Per-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: String
    Tax amount for the line item. Can include up to 2 decimal places. This value can't be negative. *Required for Level 3 processing*.
  • discountAmount: String
    Amount of discount for the line item. Can include up to 2 decimal places. This value can't be negative. *Required for Level 3 processing*.
  • unitOfMeasure: String
    The unit of measure or the unit of measure code. Maximum 12 characters. *Required for Level 3 processing*.
  • productCode: String
    Product or UPC code for the item. Maximum 12 characters, or 127 characters for PayPal transactions. *Required for Level 3 processing*.
  • commodityCode: String
    Code 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: String
    Item description. Maximum 127 characters. *Required for Level 3 processing*.
  • url: String
    A URL to information about the product. *Required for Level 3 processing*.

TransactionSearchInput
Input fields for searching for transactions.
input:

TransactionShippingInput
Information related to shipping a physical product.
input:
  • shippingAddress: AddressInput
    Shipping destination address information. *Required for Level 3 processing*.
  • shippingAmount: String
    Shipping cost on the entire transaction. *Required for Level 3 processing*.
  • shipsFromPostalCode: String
    The postal code of the source shipping location, in any country's format. *Required for Level 3 processing*.

TransactionTaxInput
Information related to taxes on the transaction.
input:
  • taxAmount: Amount
    Amount 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: Boolean
    Whether the transaction should be considered eligible for tax exemption. *Required for Level 2 processing*.

UpdateCustomerInput
Top-level field for updating a customer.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • customerId
    ID of the customer to be updated.
  • customer: CustomerInput
    Input fields for the updates to be made on the customer.

UsBankAccountBillingAddressInput
A billing address for a U.S. bank account. This is a subset of the fields required in `AddressInput`.
input:
  • streetAddress
    The street address.
  • extendedAddress: String
    The extended address information—such as apartment or suite number.
  • city
    The city.
  • state
    The state.
  • zipCode
    The ZIP code.

UsBankAccountBusinessOwnerInput
The name of the owner of a business U.S. bank account.
input:
  • businessName
    The name of the business that owns the account.

UsBankAccountIndividualOwnerInput
The name of the owner of a personal U.S. bank account.
input:
  • firstName
    The first name of the accountholder.
  • lastName
    The last name of the accountholder.

UsBankAccountInput
Input fields for a U.S. bank account object.
input:
  • accountNumber
    The account number of the bank account.
  • routingNumber
    The routing number of the bank that holds the account.
  • accountType
    The type of account.
  • businessOwner: UsBankAccountBusinessOwnerInput
    Information about the business that owns the account. This should only be specified for business accounts.
  • individualOwner: UsBankAccountIndividualOwnerInput
    Information about the individual that owns the account. This should only be specified for individual accounts.
  • billingAddress: UsBankAccountBillingAddressInput
    The billing address of the account.
  • achMandate
    Language used to prove that you have the customer's explicit permission to debit their bank account.

UsBankLoginInput
Input fields for a U.S. bank login object.
input:
  • publicToken
    The public token returned from the bank login.
  • accountId
    The login provider account id used for the bank login.
  • accountType
    The type of account.
  • businessOwner: UsBankAccountBusinessOwnerInput
    Information about the business that owns the account. This should only be specified for business accounts.
  • individualOwner: UsBankAccountIndividualOwnerInput
    Information about the individual that owns the account. This should only be specified for individual accounts.
  • billingAddress: UsBankAccountBillingAddressInput
    The billing address of the account.
  • achMandate
    Language used to prove that you have the customer's explicit permission to debit their bank account.

VaultLimitedUsePayPalAccountInput
Top-level input field for vaulting a limited use PayPal account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of an existing single-use PayPal account generated using the order flow.
  • customerId: ID
    ID of the customer to associate the resulting payment method with.
  • options: VaultLimitedUsePayPalAccountOptionsInput
    Input fields that specify information about the resulting PayPal account.

VaultLimitedUsePayPalAccountOptionsInput
Input fields that specify information about the resulting PayPal account.
input:
  • amount: Amount
    The total amount of the order. This will be the limit to how much may be captured on the resulting payment method.
  • customField: String
    Variable passed directly to PayPal for your own tracking purposes. Customers do not see this value.
  • description: String
    Description of the transaction that is displayed to customers in PayPal email receipts.
  • orderId: String
    The PayPal invoice number. It must be unique in your PayPal business account and can contain a maxiumum of 127 characters. If specified, transactions created from the resulting payment method will have this orderId.
  • shippingAddress: AddressInput
    Shipping destination address information.

VaultPaymentMethodInput
Top-level input field for vaulting a payment method so it can be used multiple times.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of an existing single-use payment method to be vaulted.
  • verificationMerchantAccountId: ID
    ID of the merchant account to use when verifying the payment method. Deprecated: please use `verification.merchantAccountId` instead.
  • verification: VaultPaymentMethodVerificationOptionsInput
    Input fields that specify options for verifying the vaulted payment method, if it is of a type that supports verification.
  • customerId: ID
    ID of the customer to associate the resulting multi-use payment method with.
  • threeDSecurePassThrough: ThreeDSecurePassThroughInput
    Results of a merchant-performed 3D Secure authentication. You will only need to use these fields if you've performed your own integration with a 3D Secure MPI provider (e.g. Cardinal Centinel). Otherwise, Braintree's SDKs handle this for you in our standard 3D Secure integration.

VaultPaymentMethodVerificationOptionsInput
Input fields that specify options for verifying the vaulted payment method.
input:
  • merchantAccountId: ID
    ID 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: Boolean
    Whether to opt-out of payment method verification. Payment methods that support verification are verified by default. Clients should only pass `true` in the uncommon scenario that the payment method has been verified externally to Braintree.

VaultUsBankAccountInput
Top-level input field for vaulting a bank account so it can be used multiple times.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of an existing single-use payment method to be vaulted.
  • verificationMerchantAccountId: ID
    ID of the merchant account to use when verifying the payment method.
  • customerId: ID
    ID of the customer to associate the resulting multi-use payment method with.
  • verificationMethod
    Type of US bank account verification to perform.

VerifyPaymentMethodInput
Top-level input field for verifying a multi-use payment method.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of an existing multi-use payment method to be verified.
  • merchantAccountId: ID
    ID of the merchant account to use when verifying the payment method.

VerifyUsBankAccountInput
Top-level input field for retrying a verification on a bank account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId
    ID of an existing multi-use payment method to be vaulted.
  • merchantAccountId: ID
    ID of the merchant account to use when verifying the payment method.
  • verificationMethod
    Type of US bank account verification to perform.

Objects

Address
Representation of an address.
fields:
  • company: String
    Company name.
  • streetAddress: String
    The street address.
  • extendedAddress: String
    Extended address information, such as apartment or suite number.
  • firstName: String
    First name.
  • lastName: String
    Last name.
  • locality: String
    Locality/city.
  • region: String
    State or province.
  • postalCode: String
    Postal code, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
  • countryCode: CountryCodeAlpha3
    Country code for the address in ISO 3166-1 alpha-3 format.

ApplePayConfiguration
Configuration for Apple Pay on iOS.
fields:
  • status: ApplePayStatus
    The environment being used for Apple Pay.
  • countryCode: CountryCodeAlpha2
    The Apple Pay country code for the current merchant.
  • currencyCode: CurrencyCodeAlpha
    The Apple Pay currency ISO code for the current merchant.
  • merchantIdentifier: String
    The merchant identifier that must be supplied when making an Apple Pay request.
  • supportedCardBrands: CreditCardBrandCode
    A list of card brands supported for Apple Pay by the current merchant.

ApplePayOriginDetails
Additional information about the payment method specific to Apple Pay.
fields:
  • paymentInstrumentName: String
    A human-readable description of the Apple Pay payment method. 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's last4 will be null.
  • bin: String
    The 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: CountryCodeAlpha2
    The Apple Pay country code for the current merchant.
  • currencyCode: CurrencyCodeAlpha
    The Apple Pay currency ISO code for the current merchant.
  • merchantIdentifier: String
    The merchant identifier that must be supplied when making an Apple Pay request.
  • supportedCardBrands: CreditCardBrandCode
    A list of card brands supported for Apple Pay by the current merchant.

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: String
    The merchant account used to determine authentication insight.
  • customerAuthenticationRegulationEnvironment: CustomerAuthenticationRegulationEnvironment
    The customer authentication regulation environment that applies when transacting with this payment method and merchant account.

AuthorizationExpiredEvent
Accompanying information for an authorization expired transaction.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the authorization for this transaction was marked expired.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • terminal: Boolean
    Whether this is the final state for the transaction.

AuthorizedEvent
Accompanying information for an authorized transaction.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction was authorized.
  • amount: MonetaryAmount
    The amount the transaction was authorized for. This will match the amount on the transaction itself. In most cases, you cannot request to settle more than this amount.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response to the authorization request.
  • riskDecision: RiskDecision
    Risk decision for this transaction.
  • terminal: Boolean
    Whether this is the final state for the transaction.

BinRecord
Information about the credit card based on its BIN.
fields:
  • prepaid: BinRecordValue
    Whether the card is prepaid, such as a gift card.
  • healthcare: BinRecordValue
    Whether the card is designated only to be used for healthcare expenses.
  • debit: BinRecordValue
    Whether the card is a debit card.
  • durbinRegulated: BinRecordValue
    Whether the card is regulated by the Durbin Amendment due to the bank's assets, and therefore has a maximum interchange rate.
  • commercial: BinRecordValue
    Whether the card is a commercial card and capable of processing Level 2 transactions.
  • payroll: BinRecordValue
    Whether the card is designated for employee wages.
  • issuingBank: String
    The name of the bank that issued the card.
  • countryOfIssuance: CountryCodeAlpha3
    The country code for the country that issued the card in ISO 3166-1 alpha-3 format.
  • productId: String
    A code representing any special program from the card issuer the card is part of.

BraintreeApiConfiguration
Configuration for payment methods in legacy clients.
fields:
  • url: String
    The URL for tokenizing payment methods.
  • accessToken: String
    The authentication for tokenizing payment methods.

ChildCapture
A partial capture's relationship to its original authorizating transaction.
fields:
  • parentAuthorization: Transaction
    The original authorization whose funds have been partially captured.

ClientConfiguration
Top-level fields returned from the client configuration query.
fields:

ConfirmMicroTransferAmountsPayload
Top-level output field from confirming micro-transfer amounts on bank account.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • verification: Verification
    The verification that was run on the payment method prior to vaulting.
  • status: ConfirmMicroTransferAmountsStatus
    The status of the micro-transfer amounts confirmation.

CreateClientTokenPayload
Top-level fields returned when creating a client token.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • clientToken: String
    A Base64 encoded string used to initialize client SDKs.

CreateCustomerPayload
Top-level fields returned when creating a customer.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • customer: Customer
    Information about the customer that was created. Can be used when vaulting payment methods or creating transactions to associate those objects.

CreditCardConfiguration
Configuration for credit card tokenization.
fields:
  • supportedCardBrands: CreditCardBrandCode
    A list of card brands supported for credit card processing by the current merchant.
  • challenges: Challenge
    A list of challenges that are required by the current merchant to process a given credit card.
  • threeDSecureEnabled: Boolean
    True if the current merchant supports 3D Secure.
  • threeDSecure: ThreeDSecureConfiguration
    Configuration for 3D Secure.
  • fraudDataCollectionEnabled: Boolean
    True if fraud data collection is enabled for the current merchant.

CreditCardDetails
Details about a credit card.
fields:
  • brandCode: CreditCardBrandCode
    A static code identifying the card brand.
  • brand: String
    The display name of the card brand, ex: Visa, American Express.
  • last4: String
    The last four digits of the credit card number.
  • bin: String
    The 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: BinRecord
    Information about the credit card based on its BIN.
  • expirationMonth: String
    The month of the expiration date, formatted MM.
  • expirationYear: String
    The year of the expiration date, formatted YYYY.
  • imageUrl: String
    A URL to an image logo representing the card brand.
  • cardholderName: String
    The cardholder's name.
  • uniqueNumberIdentifier: String
    An 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: PaymentMethodOrigin
    Additional information if the credit card was provided from a third-party origin, such as Apple Pay, Google Pay, or another digital wallet.
  • threeDSecure: ThreeDSecureAuthentication
    Contains relevant data fields if the payment method has been authenticated using 3D Secure.

CreditCardVerificationDetails
Information specific to verifications of credit card payment methods.
fields:
  • amount: MonetaryAmount
    The amount used when performing the verification. May be 0.

CustomActionsPaymentMethodDetails
Details about a custom actions payment method.
fields:
  • actionName: String
    The action to be invoked when using the payment method.
  • fields
    Fields that your action requires.

CustomActionsPaymentMethodField
Fields that are provided during tokenization and are presented to the invoked action to be consumed.
fields:
  • name: String
    The name of this field. e.g. "accountNumber".
  • displayValue: String
    The value displayed in the Control Panel or API. e.g. "*****6789".

CustomField
A merchant-defined custom field to store additional information.
fields:
  • name: String
    The name of the custom field.
  • value: String
    The value of the custom field.

Customer
Information about a customer and their associated payment methods and transactions.
fields:
  • id: ID
    Unique identifier.
  • legacyId: ID
    Legacy unique identifier.
  • company: String
    Company or business name associated with this customer.
  • createdAt: Timestamp
    Date and time at which the customer was created.
  • customFields
    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: PaymentMethod
    Customer's default payment method.
  • email: String
    Email address for this customer.
  • firstName: String
    Customer's first name.
  • lastName: String
    Customer's last name.
  • phoneNumber: String
    Phone number for this customer.
  • paymentMethods: PaymentMethodConnection
    Payment methods belonging to this customer.
  • transactions: TransactionConnection
    Transactions 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 an single-use payment method.
interfaces:

DeleteCustomerPayload
Top-level output field from deleting a customer.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.

DeletePaymentMethodFromSingleUseTokenPayload
Top-level output field from deleting a payment method referenced by a single-use token.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.

DeletePaymentMethodFromVaultPayload
Top-level output field from deleting a multi-use payment method.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.

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: MonetaryAmount
    The 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: MonetaryAmount
    If an amount was disputed, the amount of money awarded back to the merchant if the dispute was reversed.
  • caseNumber: String
    The case number for the dispute.
  • createdAt: Timestamp
    Date and time at which the dispute was created.
  • receivedDate: Date
    The date the dispute was received by the merchant.
  • responseDeadline: Timestamp
    The deadline for the merchant to submit a response to the dispute.
  • type: DisputeType
    The type of Dispute.
  • evidence
    Evidence records submitted by the merchant for the dispute.
  • originalDispute: Dispute
    If this dispute is a follow-up to a previous chargeback or retrieval, the original dispute.
  • processorResponse: DisputeProcessorResponse
    Additional information from the payment processor.
  • status: DisputeStatus
    The status of the dispute.
  • statusHistory
    A log of history events containing status changes by date for this dispute.
  • transaction: Transaction
    The disputed transaction which the customer is either requesting further information on or challenging.
interfaces:

DisputeFileEvidence
Images, files, or other evidence supporting a dispute case.
fields:
  • id: ID
    Unique identifier.
  • createdAt: Timestamp
    Date and time at which the evidence was created with Braintree.
  • sentToProcessorAt: Timestamp
    Date and time at which the evidence was sent to the processor.
  • url: String
    A URL where you can retrieve the dispute evidence.
  • category: String
    The evidence category.
interfaces:

DisputeProcessorResponse
Information about the dispute provided by the processor.
fields:
  • processorComments: String
    Additional comments forwarded by the processor.
  • reason: DisputeReason
    The reason the dispute was created.
  • reasonCode: String
    The reason code provided by the processor.
  • reasonDescription: String
    The reason code description based on the `reasonCode`.
  • receivedDate: Date
    The date the dispute was received by the merchant.
  • referenceNumber: String
    The string value representing the reference number provided by the processor (if any).

DisputeStatusEvent
The record of a status that a dispute has passed through.
fields:
  • disbursementDate: Timestamp
    The date and time this event was disbursed.
  • status: DisputeStatus
    The status of the dispute.
  • timestamp: Timestamp
    The timestamp of the history event.

DisputeTextEvidence
Text evidence supporting a dispute case.
fields:
  • id: ID
    Unique identifier.
  • createdAt: Timestamp
    Date and time at which the evidence was created with Braintree.
  • sentToProcessorAt: Timestamp
    Date and time at which the evidence was sent to the processor.
  • comment: String
    The body for text evidence.
  • category: String
    The evidence category.
interfaces:

FailedEvent
Accompanying information for a transaction that failed because it could not be successfully sent to the processor.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction failed.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response, or an explanation for the lack thereof.
  • riskDecision: RiskDecision
    Risk decision for this transaction.
  • terminal: Boolean
    Whether this is the final state for the transaction.

GatewayRejectedEvent
Accompanying information for a gateway rejected transaction.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction was rejected by the gateway.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • gatewayRejectionReason: GatewayRejectionReason
    The reason the transaction was rejected, based on your gateway settings.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response. Depending on your gateway settings, the AVS and CVV responses may be the reason for the rejection.
  • riskDecision: RiskDecision
    Risk decision for this transaction. If the gatewayRejectionReason is fraud, this may be the reason for the rejection.
  • terminal: Boolean
    Whether this is the final state for the transaction.
  • duplicateOf: Transaction
    The original transaction if the gateway rejection reason was `DUPLICATE`.

GooglePayConfiguration
Configuration for Google Pay on Android and the web.
fields:
  • displayName: String
    A string used to identify the merchant to the customer.
  • environment: GooglePayEnvironment
    The environment being used for Google Pay.
  • googleAuthorization: String
    Authorization to use when tokenizing a Google Pay payment method.
  • paypalClientId: String
    A string used to identify the merchant's PayPal account when generating a PayPal Closed Loop Token.
  • supportedCardBrands: CreditCardBrandCode
    A list of card brands supported for Google Pay by the current merchant.

GooglePayOriginDetails
Additional information about the payment method specific to Google Pay.
fields:
  • googleTransactionId: String
    A reference ID to the Google transaction.
  • bin: String
    The 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.

IDealConfiguration
Configuration for iDEAL.
fields:
  • routeId: String
    The route ID used to process an iDEAL payment.
  • assetsUrl: String
    A URL used to redirect the customer to the bank's web page.

KountConfiguration
Configuration for Kount fraud tools.
fields:
  • merchantId: String
    The Kount merchant ID used to identify the fraud data collection request.

MasterpassConfiguration
Configuration for Masterpass.
fields:
  • merchantCheckoutId: String
    The Masterpass merchant checkout ID used to identify the merchant in Masterpass requests.
  • supportedCardBrands: CreditCardBrandCode
    A list of card brands supported for Masterpass by the current merchant.

MasterpassOriginDetails
Additional information about the payment method specific to Masterpass.
fields:
  • bin: String
    The 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: String
    Current status.
  • companyName: String
    Company name.
  • website: String
    The merchant's main website.
  • timezone: String
    The timezone that the merchant operates in.

MonetaryAmount
A monetary amount with currency.
fields:
  • value: Amount
    The amount of money, either a whole number or a number with exactly 2 or 3 decimal places.
  • currencyIsoCode: CurrencyCodeAlpha
    The ISO code for the money's currency.

Mutation
The top-level Mutation type. Mutations are used to make requests that create or modify data.
fields:
  • authorizePaymentMethod: TransactionPayload
    Authorize an eligible payment method and return a payload that includes details of the resulting transaction.
  • authorizePayPalAccount: TransactionPayload
    Authorize an eligible PayPal account and return a payload that includes details of the resulting transaction.
  • authorizeVenmoAccount: TransactionPayload
    Authorize an eligible Venmo account and return a payload that includes details of the resulting transaction.
  • captureTransaction: TransactionPayload
    Capture an authorized transaction and return a payload that includes details of the transaction.
  • chargePaymentMethod: TransactionPayload
    Charge any payment method and return a payload that includes details of the resulting transaction.
  • chargeUsBankAccount: TransactionPayload
    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: TransactionPayload
    Charge a PayPal account and return a payload that includes details of the resulting transaction.
  • chargeVenmoAccount: TransactionPayload
    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.
  • vaultPaymentMethod: VaultPaymentMethodPayload
    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, this mutation will also verify that card by default.
  • vaultUsBankAccount: VaultPaymentMethodPayload
    Vault payment information from a single-use US bank account payment method and return a payload that includes a new multi-use payment method.
  • refundTransaction: RefundTransactionPayload
    Refund a settled transaction and return a payload that includes details of the refund.
  • reverseTransaction: ReverseTransactionPayload
    Reverse a transaction and return a payload that includes either the voided transaction or a refund.
  • verifyPaymentMethod: VerifyPaymentMethodPayload
    Run a verification on a multi-use payment method.
  • verifyUsBankAccount: VerifyPaymentMethodPayload
    Run a verification on a multi-use US bank account payment method.
  • confirmMicroTransferAmounts: ConfirmMicroTransferAmountsPayload
    Confirm micro-transfer amounts initiated by vaultUsBankAccount or verifyUsBankAccount, completing the verification process for a US Bank Account via micro-transfer.
  • deletePaymentMethodFromVault: DeletePaymentMethodFromVaultPayload
    Delete a multi-use payment method from the vault.
  • createClientToken: CreateClientTokenPayload
    Create a client token that can be used to initialize a client in order to tokenize payment information.
  • partialCaptureTransaction: PartialCaptureTransactionPayload
    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 only available for certain use cases. For more information about if this mutation fits your use case [see our docs](https://articles.braintreepayments.com/guides/payment-methods/paypal/processing#multiple-partial-settlements).
  • tokenizeCustomActionsPaymentMethod: TokenizeCustomActionsPaymentMethodPayload
    Tokenize Custom Actions fields and return a payload that includes a single-use payment method.
  • tokenizeCreditCard: TokenizeCreditCardPayload
    Tokenize credit card fields and return a payload that includes a single-use payment method.
  • tokenizeCvv: TokenizeCvvPayload
    Tokenize a credit card's CVV and return a payload that includes a single-use payment method.
  • tokenizeNetworkToken: TokenizeNetworkTokenPayload
    Tokenize a network tokenized payment instrument and return a payload that includes a single-use payment method.
  • tokenizeSamsungPayCard: TokenizeSamsungPayCardPayload
    Tokenize Samsung Pay Card fields and return a payload that includes a single-use payment method.
  • tokenizeUsBankAccount: TokenizeUsBankAccountPayload
    Tokenize U.S. bank account fields and return a payload that includes a single-use payment method.
  • tokenizeUsBankLogin: TokenizeUsBankAccountPayload
    Tokenize U.S. bank login fields and return a payload that includes a single-use payment method.
  • createCustomer: CreateCustomerPayload
    Create a customer for storing individual customer information and/or grouping transactions and multi-use payment methods.
  • updateCustomer: UpdateCustomerPayload
    Update a customer's information.
  • deleteCustomer: DeleteCustomerPayload
    Delete a customer, breaking association between any of the customer's transactions. Will not delete if the customer has existing payment methods.
  • deletePaymentMethodFromSingleUseToken: DeletePaymentMethodFromSingleUseTokenPayload
    Delete a payment method referenced by a single-use token.
  • performThreeDSecureLookup: PerformThreeDSecureLookupPayload
    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.

NetworkTokenOriginDetails
Additional information about the payment method specific to Network Token.
fields:
  • bin: String
    The 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.

PageInfo
The page information for a connection.
fields:
  • hasNextPage: Boolean
    Whether there is a next page available.
  • hasPreviousPage: Boolean
    Always false; backwards pagination is not supported. Present to comply with Relay specifications.
  • startCursor: String
    The cursor for the first item in the connection page.
  • endCursor: String
    The cursor for the last item in the connection page.

ParentAuthorization
An original authorization's relationship to all its partial capture transactions.
fields:
  • childCaptures
    The captures on a partially captured authorization.
  • totalAmountAuthorized: MonetaryAmount
    The total amount authorized by this transaction. This amount will not change as this transaction is partially captured.

PartialCaptureTransactionPayload
Top-level output field from partially capturing a transaction.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • capture: Transaction
    The transaction representing the partial capture.

PayPalAccountDetails
Details about a PayPal account.
fields:
  • billingAgreementId: String
    The ID of the billing agreement for this PayPal account.
  • email: String
    The email address associated with the PayPal account.
  • payerId: String
    The PayPal ID of the PayPal account.
  • firstName: String
    The first name on the PayPal account.
  • lastName: String
    The last name on the PayPal account.

PayPalConfiguration
Configuration for PayPal.
fields:
  • displayName: String
    The merchant's company name to display to customers in the PayPal UI.
  • clientId: String
    The merchant's PayPal client ID.
  • privacyUrl: String
    The merchant's privacy policy URL.
  • userAgreementUrl: String
    The merchant's user agreement URL.
  • assetsUrl: String
    A URL pointing to the base path of Braintree's web pages used for various browser switches and popups.
  • environment: PayPalEnvironment
    The PayPal environment.
  • environmentNoNetwork: Boolean
    For internal use only.
  • unvettedMerchant: Boolean
    Whether the merchant has been vetted.
  • braintreeClientId: String
    Braintree's PayPal client ID.
  • billingAgreementsEnabled: Boolean
    Whether billing agreements are enabled and should be used instead of future payments.
  • merchantAccountId: String
    The merchant account being used. This affects the currency code and other options.
  • currencyCode: CurrencyCodeAlpha
    The currency code to use.
  • payeeEmail: String
    The email address of the PayPal account that will receive the funds when a transaction is created.
  • directBaseUrl: String
    For internal use only.

PayPalTransactionDetails
PayPal-specific details on a transaction.
fields:
  • authorizationId: String
    If the transaction was successfully authorized, the PayPal ID for the authorization.
  • captureId: String
    If funds for the transaction have settled, the PayPal ID for the capture of funds.
  • customField: String
    A string of field/value pairs passed directly to PayPal.
  • payer: PayPalAccountDetails
    Details about the payer or owner of the PayPal account.
  • payee: PayPalAccountDetails
    Details about the PayPal account that received the funds.
  • payerStatus: String
    Whether the PayPal account has been verified by PayPal.
  • paymentId: String
    The identification value of the payment within PayPal's API.
  • refundId: String
    If the transaction is a refund, the PayPal refund ID.
  • sellerProtectionStatus: String
    Whether the transaction qualifies for PayPal Seller Protection.
  • taxId: String
    Payer's tax ID. Only returned for payments from Brazilian accounts.
  • taxIdType: String
    Payer's tax ID type. Only returned for payments from Brazilian accounts. Allowed values BR_CPF or BR_CNPJ.
  • transactionFeeAmount: String
    The fee for the transaction charged by PayPal.
  • transactionFeeCurrencyIsoCode: String
    The currency code for the currency used for the transaction fee.
  • description: String
    Description of the transaction that is displayed to customers in PayPal email receipts.

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: PaymentMethodUsage
    Whether a payment method may be used only once or used multiple times.
  • details: PaymentMethodDetails
    Details about the payment method specific to the type (e.g. credit card, PayPal account).
  • verifications: VerificationConnection
    A paginated list of verifications that have been run against the payment method.
  • customer: Customer
    The customer that the payment method belongs to.
interfaces:

PaymentMethodConnection
A paginated list of payment methods.
fields:

PaymentMethodConnectionEdge
A payment method within a PaymentMethodConnection.
fields:
  • cursor: String
    This payment method's location within the PaymentMethodConnection. Used for requesting additional pages.
  • node: PaymentMethod
    The payment method.

PaymentMethodOrigin
Information about how the customer provided a payment method, such as via a digital wallet.
fields:

PerformThreeDSecureLookupPayload
Top-level fields returned when performing a 3D Secure Lookup.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • threeDSecureLookupData: ThreeDSecureLookupData
    Data fields containing information from the MPI provider about the 3D Secure Lookup result.
  • paymentMethod: PaymentMethod
    A single-use payment method.

ProcessorDeclinedEvent
Accompanying information for a processor declined transaction.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction was declined by the processor.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • declineType: ProcessorDeclineType
    Whether the decline is the result of a temporary issue.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response and why they declined the transaction.
  • riskDecision: RiskDecision
    Risk decision for this transaction.
  • terminal: Boolean
    Whether this is the final state for the transaction.

Query
The top-level Query type. Queries are used to fetch data.
fields:
  • ping: String
    Returns the literal string 'pong'.
  • viewer: Viewer
    The currently authenticated viewer.
  • clientConfiguration: ClientConfiguration
    The client-side environment and payment method configuration.
  • node: Node
    Fetch any object that extends the Node interface using its ID.
  • idFromLegacyId: ID
    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: Report
    The available reports.
  • search: Search
    The available searches.

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: Timestamp
    Time at which the refund was created.
  • amount: MonetaryAmount
    The amount that will be refunded, which can be less than or equal to the original charge amount.
  • orderId: String
    The order ID for this refund. For PayPal transactions, the PayPal Invoice ID.
  • status: TransactionStatus
    The current status of this refund.
  • statusHistory
    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.
  • refundedTransaction: Transaction
    The original transaction that this refunds.
interfaces:

RefundConnection
A paginated list of refunds.
fields:

RefundConnectionEdge
A transaction within a RecundConnection.
fields:
  • cursor: String
    This refund's location within the RefundConnection. Used for requesting additional pages.
  • node: Refund
    The refund.

RefundTransactionPayload
Top-level output field from refunding a transaction.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • refund: Refund
    The information about the refund created.

Report
Top-level fields returned for a report query.
fields:

ReverseTransactionPayload
Top-level output field for reversing a transaction.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • reversal: TransactionReversal
    A 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.

Right
A right assigned to a user.
fields:
  • name: String
    Human readable name.

RiskData
Data from advanced risk evaluations.
fields:
  • id: ID
    Unique identifier.
  • decision: RiskDecision
    The risk decision on whether the transaction should be permitted.
  • deviceDataCaptured: Boolean
    Whether data associated with the customer's device was captured and used in the decision process.
  • fraudServiceProvider: FraudServiceProvider
    The third-party provider used to generate the risk decision.

Role
Groups of rights assigned to a user.
fields:
  • id: ID
    Unique identifier.
  • name: String
    Human readable name.
  • isAccountAdmin: Boolean
    Whether the role grants account admin status.
  • rights
    Right names associated with role.

SamsungPayCardDetails
Details about a Samsung Pay card.
fields:
  • brand: String
    The display name of the card brand, ex: Visa, American Express.
  • brandCode: CreditCardBrandCode
    A static code identifying the card brand of the FPAN (the customer's actual backing card).
  • bin: String
    The 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: BinRecord
    Information about the credit card based on its BIN. This BIN will differ from the BIN of the source (customer's actual) card.
  • sourceCardLast4: CreditCardLast4
    Last four digits of the FPAN (the customer's actual backing card).

SamsungPayConfiguration
Configuration for Samsung Pay on Android.
fields:
  • displayName: String
    A string used to identify the merchant to the customer.
  • environment: SamsungPayEnvironment
    The Samsung Pay environment.
  • serviceId: String
    The Samsung Pay service ID.
  • samsungAuthorization: String
    Authorization to use when tokenizing Samsung Pay.
  • supportedCardBrands: CreditCardBrandCode
    A list of card brands supported for Samsung Pay by the current merchant.

SamsungPayOriginDetails
Additional information about the payment method specific to Samsung Pay.
fields:
  • bin: String
    The 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.

SettledEvent
Accompanying information for a settled transaction.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction was settled.
  • amount: MonetaryAmount
    The 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: TransactionSource
    The source for the transaction change to the new status.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response.
  • terminal: Boolean
    Whether this is the final state for the transaction.

SettlementDeclinedEvent
Accompanying information for a settlement declined transaction.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the processor declined to settle this transaction.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response to the settlement request.
  • terminal: Boolean
    Whether this is the final state for the transaction.

SettlementPendingEvent
Accompanying information for a settlement pending transaction. Typically only occurs for PayPal transactions.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction became settlement pending.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response to the settlement request.
  • terminal: Boolean
    Whether this is the final state for the transaction.

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: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction began settling.
  • amount: MonetaryAmount
    The amount of the transaction for this status event. This should match the amount submitted for settlement.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • terminal: Boolean
    Whether this is the final state for the transaction.

SubmitCreditCardForAccountUpdaterPayload
Top-level fields returned when submitting a credit card for account updater.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethod: PaymentMethod
    The credit card that was submitted to account updater.

SubmittedForSettlementEvent
Accompanying information for a transaction that is submitted for settlement. This status indicates that the transaction is scheduled to be settled.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction was submitted for settlement.
  • amount: MonetaryAmount
    The amount that was submitted for settlement. This can differ from the authorized amount, but by default is the same.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • terminal: Boolean
    Whether this is the final state for the transaction.

ThreeDSecureAuthentication
Data fields for a payment method that has been authenticated using 3D Secure.
fields:
  • cavv: String
    The 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: String
    A unique identifier for the 3D Secure interaction with the card brand directory server.
  • eciFlag: ECommerceIndicator
    The electronic commerce indicator.
  • liabilityShifted: Boolean
    A boolean indicating if the card has received liability shift.
  • liabilityShiftPossible: Boolean
    A boolean indicating if the card is eligible for liability shift.
  • cardEnrolled: ThreeDSecureCardEnrolled
    Indicates whether the card is enrolled in a 3D Secure program.
  • authenticationStatus: ThreeDSecureAuthenticationStatus
    The 3D Secure authentication status of the card.
  • version: String
    The version of the 3D Secure protocol used during authentication.
  • xId: String
    A unique identifier for the 3D Secure interaction with the provider.
  • threeDSecureServerTransactionId: String
    A unique identifer for the 3D Secure interaction with the 3D Secure server.
  • acsTransactionId: String
    A unique identifier for the 3D Secure interaction with the access control server.
  • paresStatus: ThreeDSecureAuthenticationStatusIndicator
    Indicates the current status of the 3D Secure authentication from the 3D Secure server for 3D Secure 1.0 authentications.
  • transactionStatus: ThreeDSecureAuthenticationStatusIndicator
    Indicates the current status of the 3D Secure authentication from the 3D Secure server for 3D Secure 2.0 authentications.
  • transactionStatusReason: String
    Indicates the reason for the transactionStatus. Will be null if status is `SUCCESSFUL_AUTHENTICATION`.

ThreeDSecureConfiguration
Configuration for 3D Secure.
fields:
  • cardinalAuthenticationJWT: String
    Authentication information for initializing Cardinal's songbird.js library.

ThreeDSecureLookupData
Data fields containing information from the MPI provider about the 3D Secure Lookup result.
fields:
  • acsUrl: String
    The URL to use to issue a challenge to the cardholder for 3D Secure authentication.
  • authenticationId: String
    A 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.
  • version: String
    The version of the 3D Secure protocol used in the authentication.
  • pareq: String
    The "PAReq" or "Payment Authentication Request" is the encoded request message used to initiate authentication.
  • md: String
    This a the unique 3D Secure identifier assigned by Braintree to track the 3D Secure call as it progresses.
  • termUrl: String
    The termURL is the fully qualified URL that the customer will be redirected to once the authentication completes.

TokenizeCreditCardPayload
Top-level fields returned from a tokenized credit card.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • token: String
    A one-time-use reference to tokenized sensitive information.
  • creditCard: CreditCardDetails
    Details about the tokenized CreditCard.
  • singleUseToken: PaymentMethod
    A single-use payment method.
  • paymentMethod: PaymentMethod
    A single-use payment method.
  • authenticationInsight: 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. This can be used to determine whether to perform 3D Secure authentication.

TokenizeCustomActionsPaymentMethodPayload
Top-level fields returned from tokenizing a CustomActionsPaymentMethod.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethod: PaymentMethod
    A single-use payment method.

TokenizeCvvPayload
Top-level fields returned from a tokenized CVV.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • singleUseToken: PaymentMethod
    A single-use payment method.

TokenizeNetworkTokenPayload
Top-level fields returned from a tokenized Network Token.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethod: PaymentMethod
    A single-use payment method.

TokenizeSamsungPayCardPayload
Top-level fields returned from a tokenized Samsung Pay Card.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • singleUseToken: PaymentMethod
    A one-time-use reference to tokenized sensitive information.
  • paymentMethod: PaymentMethod
    A single-use payment method.

TokenizeUsBankAccountPayload
Top-level fields returned from a tokenized U.S. bank account.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethod: PaymentMethod
    A single-use payment method.

Transaction
A charge on a payment method.
fields:
  • id: ID
    Unique identifier.
  • legacyId: ID
    Legacy unique identifier.
  • createdAt: Timestamp
    Time at which the transaction was created.
  • paymentMethodSnapshot: PaymentMethodSnapshot
    Snapshot of payment method details used to create the transaction, preserved at the time the transaction was created. This will always be present.
  • paymentMethod: PaymentMethod
    The 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: MonetaryAmount
    The amount charged in this transaction. For transactions that are partially captured, this amount will be the cummulative amount captured on this transaction.
  • customFields
    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).
  • merchantAccountId: ID
    The ID of the merchant account that processed this transaction.
  • orderId: String
    The order ID for this transaction. For PayPal transactions, the PayPal Invoice ID.
  • purchaseOrderNumber: String
    A purchase order identification value you associate with this transaction.
  • status: TransactionStatus
    The current status of this transaction.
  • processorResponse: TransactionProcessorResponse
    Fields describing the payment processor response.
  • riskData: RiskData
    Risk data evaluated for this transaction.
  • descriptor: TransactionDescriptor
    Fields used to define what will appear on customers' credit card statements for a specific purchase.
  • statusHistory
    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: String
    If 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.
  • customer: Customer
    Customer associated with the transaction, if applicable.
  • shipping: TransactionShipping
    Shipping information.
  • tax: TransactionTaxInformation
    Tax information.
  • discountAmount: String
    Discount amount that was included in the total transaction amount.
  • lineItems
    Line items for this transaction.
  • refunds
    The list of refunds issued against this transaction.
  • partialCaptureDetails: PartialCaptureDetails
    For transactions created or captured using the `partialCaptureTransaction` mutation. This field links a given transaction to its original authorization or all its partial captures.
  • disputes
    A collection of disputes associated with the transaction.
interfaces:

TransactionConnection
A paginated list of transactions.
fields:

TransactionConnectionEdge
A transaction within a TransactionConnection.
fields:
  • cursor: String
    This transaction's location within the TransactionConnection. Used for requesting additional pages.
  • node: Transaction
    The transaction.

TransactionDescriptor
Fields used to define what will appear on a customer's bank statement for a specific purchase.
fields:
  • name: String
    The value in the business name field of a customer's statement.
  • phone: String
    The value in the phone number field of a customer's statement.
  • url: String
    The value in the URL/web address field of a customer's statement.

TransactionLevelFeeReport
The [transaction-level fee report](https://articles.braintreepayments.com/control-panel/reporting/transaction-level-fee-report) provides a breakdown of fees associated with individual transactions.
fields:
  • url: String
    The URL where you can access the requested report.

TransactionLineItem
Data for individual line items on a transaction.
fields:
  • name: String
    Item name.
  • kind: TransactionLineItemType
    Indicates whether the line item is a sale or refund.
  • quantity: String
    Number of units of the item purchased.
  • unitAmount: String
    Per-unit price of the item.
  • totalAmount: String
    Total price amount for the line item: quantity multiplied by unitAmount.
  • unitTaxAmount: String
    Per-unit tax price of the item.
  • taxAmount: String
    Tax amount for the line item.
  • discountAmount: String
    Amount of discount for the line item.
  • unitOfMeasure: String
    The unit of measure or the unit of measure code.
  • productCode: String
    Product or UPC code for the item.
  • commodityCode: String
    Code 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: String
    Item description.
  • url: String
    The URL to product information.

TransactionPayload
Top-level output field from creating a transaction.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transaction: Transaction
    The transaction representing the charge on the payment method.

TransactionProcessorResponse
Detailed response information from the processor.
fields:
  • legacyCode: String
    The [processor response code](https://developers.braintreepayments.com/reference/general/processor-responses/authorization-responses) indicating the result of attempting to process this transaction.
  • message: String
    The text explanation of the processor response code.
  • cvvResponse: AvsCvvResponseCode
    The processing bank's response to the provided CVV.
  • avsPostalCodeResponse: AvsCvvResponseCode
    The processing bank's response to the provided billing postal or zip code.
  • avsStreetAddressResponse: AvsCvvResponseCode
    The processing bank's response to the provided billing street address.

TransactionShipping
Information related to shipping a physical product.
fields:
  • shippingAddress: Address
    Shipping address information.
  • shippingAmount: Amount
    Shipping cost on the entire transaction.
  • shipsFromPostalCode: String
    The postal code of the source shipping location.

TransactionTaxInformation
Information related to taxes on the transaction.
fields:
  • taxAmount: Amount
    Amount of tax that was included in the total transaction amount.
  • taxExempt: Boolean
    Whether the transaction should be considered eligible for tax exemption.

UnionPayConfiguration
Configuration for UnionPay cards.
fields:
  • merchantAccountId: String
    The Braintree merchant account ID with UnionPay processing enabled.

UpdateCustomerPayload
Top-level fields returned when updating a customer.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • customer: Customer
    Information about the customer that was updated.

UsBankAccountConfiguration
Configuration for U.S. bank account processing.
fields:
  • routeId: String
    The route id used to process an U.S. bank account payment.
  • plaidPublicKey: String
    The public key for Plaid to use to log in to a bank account.

UsBankAccountDetails
Details about a U.S. bank account.
fields:
  • accountholderName: String
    The 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: UsBankAccountType
    The bank account type.
  • ownershipType: UsBankAccountOwnershipType
    The ownership type of the account, i.e. business or personal.
  • bankName: String
    The name of the bank at which the account exists.
  • last4: String
    The last four digits of the bank account number.
  • routingNumber: String
    The routing number of the bank.
  • verified: Boolean
    Whether the bank account has been verified and can be transacted on.

UsBankAccountVerificationDetails
Information specific to verifications of US bank account payment methods.
fields:
  • method: UsBankAccountVerificationMethod
    Type of US bank account verification performed.
  • verificationDeterminedAt: Timestamp
    Time 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 a user.
fields:
  • id: ID
    Unique identifier.
  • email: String
    Email address.
  • status: UserStatus
    Current status.
  • name: String
    Full name.
  • roles
    Associated roles.

VaultPaymentMethodPayload
Top-level output field from vaulting a payment method.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethod: PaymentMethod
    A payment method that has been stored in a merchant's vault and can be reused.
  • verification: Verification
    The verification that was run on the payment method prior to vaulting.

VenmoAccountDetails
Details about a Venmo Account.
fields:
  • username: String
    The Venmo username, as chosen by the user.
  • venmoUserId: String
    The Venmo user ID.

VenmoConfiguration
Configuration for Pay with Venmo.
fields:
  • merchantId: String
    The Venmo merchant ID.
  • accessToken: String
    Authorization to use when tokenizing a Venmo payment method.
  • environment: VenmoEnvironment
    The Venmo environment.

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: PaymentMethodSnapshot
    Snapshot of payment method details that were verified. This will always be present.
  • paymentMethod: PaymentMethod
    The multi-use payment method that was verified, if it was vaulted. The details of this PaymentMethod may have changed since it was verified.
  • amount: MonetaryAmount
    For a credit card, the amount used when performing the verification.
  • merchantAccountId: ID
    The merchant account used for the verification.
  • status: VerificationStatus
    The current status of this verification, indicating whether the verification was successful. Braintree recommends only vaulting payment methods that are successfully verified.
  • processorResponse: VerificationProcessorResponse
    Detailed response information from the processor. Will not be present if the verification was rejected prior to contacting the processor.
  • createdAt: Timestamp
    The date and time at which the verification was created.
  • gatewayRejectionReason: GatewayRejectionReason
    The reason the verification was rejected. Will only be set if status is GATEWAY_REJECTED.
  • riskData: RiskData
    Risk data evaluated for this verification.
  • paymentMethodVerificationDetails: VerificationDetails
    Details unique to the verification based on payment method type being verified.
interfaces:

VerificationConnection
A paginated list of verifications.
fields:

VerificationConnectionEdge
A verification within a VerificationConnection.
fields:
  • cursor: String
    This verification's location within the VerificationConnection. Used for requesting additional pages.
  • node: Verification
    The verification.

VerificationProcessorResponse
Detailed response information from the processor.
fields:
  • legacyCode: String
    The [processor response code](https://developers.braintreepayments.com/reference/general/processor-responses/authorization-responses) indicating the result of attempting the verification.
  • message: String
    The text explanation of the processor response code.
  • cvvResponse: AvsCvvResponseCode
    The processing bank's response to the provided CVV.
  • avsPostalCodeResponse: AvsCvvResponseCode
    The processing bank's response to the provided billing postal or zip code.
  • avsStreetAddressResponse: AvsCvvResponseCode
    The processing bank's response to the provided billing street address.

VerifyPaymentMethodPayload
Top-level output field from verifying a payment method.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • verification: Verification
    The verification that was run on the payment method.

Viewer
Details about the user and merchant authenticated in this request.
fields:
  • id: ID
    Unique identifier.
  • email: String
    Email address.
  • status: UserStatus
    Current status.
  • name: String
    Full name.
  • roles
    Associated roles.
  • user: User
    Details about the authenticated user.
  • merchant: Merchant
    Details about the authenticated merchant.

VisaCheckoutConfiguration
Configuration for Visa Checkout.
fields:
  • apiKey: String
    The Visa Checkout API key.
  • externalClientId: String
    The Visa Checkout external client ID.
  • supportedCardBrands: CreditCardBrandCode
    A list of card brands supported for Visa Checkout by the current merchant.

VisaCheckoutOriginDetails
Additional information about the payment method specific to Visa Checkout.
fields:
  • callId: String
    The Visa assigned identifier of the transaction.
  • bin: String
    The 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.

VoidedEvent
Accompanying information for a transaction that has been voided.
fields:
  • status: TransactionStatus
    The new status of the transaction.
  • timestamp: Timestamp
    The date and time at which the transaction was voided.
  • amount: MonetaryAmount
    The amount of the voided transaction. This should match the authorization amount.
  • source: TransactionSource
    The source for the transaction change to the new status.
  • terminal: Boolean
    Whether this is the final state for the transaction.

Scalars

Amount
A monetary amount, either a whole number or a number with exactly two or three decimal places.

Boolean
Built-in Boolean

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).

CountryCodeAlpha3
An [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code. Braintree only accepts [specific alpha-3 values](https://developers.braintreepayments.com/reference/general/countries#list-of-countries).

CreditCardLast4
A four-digit string.

CreditCardNumber
A number that passes Luhn validation.

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.

Date
A date of the form YYYY-MM-DD.

ECommerceIndicator
A card brand-specific two-digit string describing the mode of the transaction.

ID
Built-in ID

Int
Built-in Int

Month
A two-digit, zero-padded month.

String
Built-in String

ThreeDSecureCavvAlgorithm
A 3D Secure CAVV algorithm. Possible Values: 2 - CVV with ATN, 3 - Mastercard SPA algorithm.

ThreeDSecureStatusCode
A raw 3D Secure PARes or VARes response code (e.g. 'Y').

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.

UsBankAccountNumber
An account number containing 4-17 digits.

UsBankRoutingNumber
A routing number containing 8 or 9 digits.

UsZipCode
A US ZIP code. Supports DDDDD and DDDDD-DDDD formats.

Year
A four-digit year.

Unions

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.

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 has been settled, a refund will be issued and a Refund returned. Otherwise, the transaction will be voided and a Transaction returned.
Possible Types:

VerificationDetails
A union of all possible verification details specific to the type of payment method being verified.

;