Skip to main content

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:

paypalFinancingOptions
Retrieve PayPal financing options that include payment installment plans.

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.

authorizeCreditCard
Authorize a credit card of any origin 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.

chargeCreditCard
Charge a credit card of any origin and return a payload that includes details of the resulting transaction.

vaultPaymentMethod
Vault payment information from a single-use payment method and return a payload that includes a new multi-use payment method. When vaulting a credit card, by default, this mutation will also verify that card before vaulting.

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.

vaultCreditCard
Vault payment information from a single-use credit card and return a payload that includes a new multi-use payment method. By default, this mutation will also verify the card before vaulting.

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.

reverseRefund
Reverse a refund and return a payload that includes voided refund.

refundCreditCard
Create a detached refund (unassociated with any previous Braintree payment) to a credit card and return a payload that includes details of the refund. We have previously referred to this as issuing a "detached credit," and it is disallowed by default. See the [documentation](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits) for more information regarding eligibility and configuration.

refundUsBankAccount
Create a detached refund (unassociated with any previous Braintree payment) to a US Bank Account and return a payload that includes details of the refund. We have previously referred to this as issuing a "detached credit," and it is disallowed by default. See the [documentation](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits) for more information regarding eligibility and configuration.

updateTransactionCustomFields
Update custom fields on a transaction. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).

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

verifyCreditCard
Run a verification on a multi-use credit card 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 PayPal transactions and 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 US bank account fields and return a payload that includes a single-use payment method.

tokenizeUsBankLogin
Tokenize US 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.

updateCreditCardBillingAddress
Set a new billing address for a multi-use credit card payment method. By default, this mutation will also verify the card with the new billing address before updating.

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.

acceptDispute
Accepts a dispute and returns a payload that includes the dispute that was accepted. Only disputes with a status of OPEN can be accepted.

finalizeDispute
Finalizes a dispute and returns a payload that includes the dispute that was finalized. Only disputes with a status of OPEN can be finalized.

createDisputeTextEvidence
Creates text evidence to a dispute and returns a payload that includes the evidence that was created. Only disputes with a status of OPEN can have text evidence created for them.

deleteDisputeEvidence
Deletes evidence from a dispute.

vaultPayPalBillingAgreement
Vault an existing PayPal Billing Agreement that was not created through Braintree. Only use this mutation if you need to import PayPal Billing Agreements from an existing PayPal integration into your Braintree account.

sandboxSettleTransaction
Force a transaction to settle in the sandbox environment. Generates an error elsewhere.

createInStoreLocation
Creates a new In-Store Location to associate Readers.

pairInStoreReader
Pairs a Reader to an account and In-Store Location.

requestChargeFromInStoreReader
Request an in-store reader to begin the charge flow.

requestCancelFromInStoreReader
Request an in-store reader to cancel the charge flow.

requestRefundFromInStoreReader
Request an in-store reader to start an unreferenced refund flow.

Interfaces

DisputeEvidence
Evidence provided by a merchant to respond to a dispute.
fields:
  • id: ID!
    Unique identifier.
  • legacyId: ID!
    Legacy unique identifier.
  • createdAt: Timestamp
    Date and time when the evidence was created with Braintree.
  • sentToProcessorAt: Timestamp
    Date and time when the evidence was sent to the processor.
  • category: DisputeEvidenceCategory
    The evidence category.

InStoreReaderOriginDetails
Additional information about the payment method supplied by an in-store payment reader.
fields:
  • authorizationMode: InStoreReaderAuthorizationMode
    The authorization mode used to perform the transaction on the payment reader.
  • pinVerified: Boolean
    An indicator for whether the transaction was verified via pin.
  • inputMode: PaymentReaderInputMode
    The input mode used on the payment reader to facilitate an in-store transaction.
  • terminalId: String
    The ID of the terminal that was processed this transaction.

Node
Relay compatible Node interface.

Payment
A merchant-initiated movement of money between the merchant and a customer, by way of a payment method. Payments can represent money moving either from a customer to the merchant by charging a payment method (a Transaction), or from the merchant back to a customer by refunding a previous transaction (a Refund).
fields:
  • id: ID!
    Unique identifier.
  • legacyId: ID!
    Legacy unique identifier.
  • createdAt: Timestamp
    Date and time when the payment was created.
  • amount: MonetaryAmount
    The amount charged or credited to the payment method. Note that in the case of a Transaction, this amount will represent the amount moving from the customer to the merchant, and in the case of a Refund, will represent the amount moving from the merchant back to the customer.
  • orderId: String
    The order ID.
  • status: PaymentStatus
    The current status of this payment.
  • statusHistory: [PaymentStatusEvent!]
    The records of all statuses this payment has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.
  • merchantAccountId: ID
    The ID of the merchant account that processed this payment.
  • source: PaymentSource
    How the payment was created.
  • paymentMethodSnapshot: PaymentMethodSnapshot
    Snapshot of payment method details used to create the payment, preserved at the time the transaction was created. This will always be present.
Implementations:

PaymentContext
Context associated with a transaction.
fields:
  • id: ID!
    Unique identifier.
  • createdAt: Timestamp!
    Date and time when the payment context was created.
  • updatedAt: Timestamp!
    Date and time when the payment context was updated.

PaymentStatusEvent
Status event in the [lifecycle of a payment](https://articles.braintreepayments.com/get-started/transaction-lifecycle).
fields:
  • status: PaymentStatus
    New status of the payment.
  • timestamp: Timestamp
    Date and time when the status event occurred.
  • amount: MonetaryAmount
    The payment amount applicable to the status. For instance, the amount when a transaction is `SUBMITTED_FOR_SETTLEMENT` might be less than the amount for which it was `AUTHORIZED`.
  • source: PaymentSource
    Source that caused the status event to occur.
  • terminal: Boolean
    Whether this is the final state for the payment. If false, this transaction will pass into another subsequent state.

Enums

ACHStandardEntryClassCode
A NACHA standard entry class (SEC) code, which designates how an ACH transaction was authorized.
enum values:
  • CCD
    Corporate credit or debit.
  • PPD
    Prearranged payment and deposit.
  • TEL
    Telephone-initiated.
  • WEB
    Internet-initiated/mobile.

AcceptanceChannel
Means by which end-customers pay their bills.
enum values:
  • FACE_TO_FACE
  • MAIL
  • PHONE
  • WEB

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

ApplicationBankAccountPurpose
The purpose of the merchant application bank account.
enum values:
  • CHECKING
  • SAVINGS

ApplicationStatus
The status of a merchant account application.
enum values:
  • APPROVED
  • PROCESSING
  • REJECTED

ApplicationTransferType
The type of transfer used for the bank account.
enum values:
  • BANK_ACCOUNT_USA
  • BANK_ACCOUNT_WIRE_USA

AvsCvvResponseCode
Response codes from the processing bank's Address Verification System (AVS) and CVV verification.
enum values:
  • BYPASS
    AVS or CVV checks were skipped via the API.
  • DOES_NOT_MATCH
  • ISSUER_DOES_NOT_PARTICIPATE
  • MATCHES
  • NOT_APPLICABLE
  • NOT_PROVIDED
  • NOT_VERIFIED
  • SYSTEM_ERROR

BankAccountType
The bank account type.
enum values:
  • CURRENT
    A current account. Called a checking account in the US.
  • SAVINGS
    A savings account.

BankTransferType
The type of bank transfer to use.
enum values:
  • BANK_ACCOUNT
  • WIRE_ACCOUNT

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

BusinessAddressType
The address type of the business.
enum values:
  • MAILING_ADDRESS
  • PRINCIPAL_OFFICE_ADDRESS
  • REGISTERED_BUSINESS_ADDRESS

BusinessEmailType
The email type for a business.
enum values:
  • CUSTOMER_SERVICE

BusinessIDType
The biller's ID type.
enum values:
  • EMPLOYER_IDENTIFICATION_NUMBER

BusinessIdentificationDocumentType
Identification type for the business.
enum values:
  • EMPLOYER_IDENTIFICATION_NUMBER

BusinessPhoneNumberType
The phone type for the business.
enum values:
  • BUSINESS
  • CUSTOMER_SERVICE
  • FAX
  • MOBILE

BusinessPhoneType
The type of phone number for the business.
enum values:
  • BUSINESS
  • CUSTOMER_SERVICE
  • MOBILE
  • WORK

BusinessRefundPolicy
The refund policy of the business.
enum values:
  • EXCHANGE_ONLY
  • NO_REFUND_OR_EXCHANGE
  • REFUND_CARDHOLDER

BusinessType
The type of the business.
enum values:
  • GOVERNMENT_AGENCY
  • LIMITED_LIABILITY_CORPORATION
  • NONPROFIT
  • PARTNERSHIP
  • PRIVATE_CORPORATION
  • PUBLIC_CORPORATION
  • SOLE_PROPRIETORSHIP

CardAccountType
The type of account to be used when transacting with a combo card.
enum values:
  • CREDIT
  • DEBIT

Challenge
A list of challenges that are required by the current merchant to process a given credit card.
enum values:
  • CVV
  • POSTAL_CODE
  • cvv
  • postal_code

ClientConfigurationEnvironment
The client configuration environment being used.
enum values:
  • DEVELOPMENT
  • PRODUCTION
  • QA
  • SANDBOX
  • TEST
  • development
  • production
  • qa
  • sandbox
  • test

ClientFeature
A value used by Braintree client SDKs to determine what operations are supported through this GraphQL API.
enum values:
  • TOKENIZE_CREDIT_CARDS
  • tokenize_credit_cards

ConfirmMicroTransferAmountsStatus
The status of a micro-transfer amount confirmation.
enum values:
  • AMOUNTS_DO_NOT_MATCH
  • CONFIRMED
  • TOO_MANY_ATTEMPTS

CreditCardBrandCode
A code identifying the card brand.
enum values:
  • AMERICAN_EXPRESS
  • CITI
  • DINERS
  • DISCOVER
  • ELO
  • HIPER
  • HIPERCARD
  • INTERNATIONAL_MAESTRO
  • JCB
  • MASTERCARD
  • SOLO
  • SWITCH
  • UK_MAESTRO
  • UNION_PAY
  • UNKNOWN
  • VISA
  • american_express
  • citi
  • diners
  • discover
  • elo
  • hiper
  • hipercard
  • international_maestro
  • jcb
  • mastercard
  • solo
  • switch
  • uk_maestro
  • union_pay
  • unknown
  • visa

CustomerAuthenticationIndicator
A value indicating when to perform further customer authentication.
enum values:
  • OPTIONAL
    Indicates further authentication is optional.
  • REQUIRED
    Indicates further authentication should be performed.
  • UNAVAILABLE
    Customer authentication indicator information is unavailable at this time.

CustomerAuthenticationRegulationEnvironment
The customer authentication regulation environment that applies to the transaction, such as [PSD2](https://www.braintreepayments.com/blog/understanding-and-preparing-for-psd2-strong-customer-authentication/).
enum values:
  • PSDTWO
    EU Regulation [PSD2 Strong Customer Authentication](https://www.braintreepayments.com/blog/understanding-and-preparing-for-psd2-strong-customer-authentication/) applies to this transaction.
  • RBI
    Reserve Bank of India regulations apply to this transactions.
  • UNAVAILABLE
    Customer authentication regulation environment information is unavailable for this transaction at this time.
  • UNREGULATED
    No customer authentication regulations apply to this transaction.

DisputeEvidenceCategory
The evidence category that specifies which requirement it satisfies.
enum values:
  • AVS_RESPONSE
  • CARRIER_NAME
  • CARRIER_NAME_OTHER
  • CREDIT_ISSUED_AMOUNT
  • CREDIT_ISSUED_DATE_TIME
  • DEVICE_ID
  • DEVICE_NAME
  • DOWNLOAD_DATE_TIME
  • EVIDENCE_TYPE
  • GENERAL
  • GEOGRAPHICAL_LOCATION
  • LEGIT_PAYMENTS_FOR_SAME_MERCHANDISE
  • MERCHANT_WEBSITE_OR_APP_ACCESS
  • PRIOR_DIGITAL_GOODS_TRANSACTION_ARN
  • PRIOR_DIGITAL_GOODS_TRANSACTION_DATE_TIME
  • PRIOR_DIGITAL_GOODS_TRANSACTION_ID
  • PRIOR_NON_DISPUTED_TRANSACTION_ARN
  • PRIOR_NON_DISPUTED_TRANSACTION_DATE_TIME
  • PRIOR_NON_DISPUTED_TRANSACTION_EMAIL_ADDRESS
  • PRIOR_NON_DISPUTED_TRANSACTION_ID
  • PRIOR_NON_DISPUTED_TRANSACTION_IP_ADDRESS
  • PRIOR_NON_DISPUTED_TRANSACTION_PHONE_NUMBER
  • PRIOR_NON_DISPUTED_TRANSACTION_PHYSICAL_ADDRESS
  • PROFILE_SETUP_OR_APP_ACCESS
  • PROOF_OF_3D_SECURE
  • PROOF_OF_AUTHORIZED_SIGNER
  • PROOF_OF_DELIVERY
  • PROOF_OF_DELIVERY_EMP_ADDRESS
  • PROOF_OF_POSSESSION_OR_USAGE
  • PURCHASER_EMAIL_ADDRESS
  • PURCHASER_IP_ADDRESS
  • PURCHASER_NAME
  • RECURRING_TRANSACTION_ARN
  • RECURRING_TRANSACTION_DATE_TIME
  • RECURRING_TRANSACTION_ID
  • REFUND_ID
  • SIGNED_DELIVERY_FORM
  • SIGNED_ORDER_FORM
  • TICKET_PROOF
  • TRACKING_NUMBER
  • TRACKING_URL

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

DisputeTextEvidenceCategory
For text evidence: the evidence category that specifies which requirement it satisfies.
enum values:
  • AVS_RESPONSE
  • CREDIT_ISSUED_AMOUNT
  • CREDIT_ISSUED_DATE_TIME
  • DEVICE_ID
  • DEVICE_NAME
  • DOWNLOAD_DATE_TIME
  • GEOGRAPHICAL_LOCATION
  • PRIOR_DIGITAL_GOODS_TRANSACTION_ARN
  • PRIOR_DIGITAL_GOODS_TRANSACTION_DATE_TIME
  • PRIOR_DIGITAL_GOODS_TRANSACTION_ID
  • PRIOR_NON_DISPUTED_TRANSACTION_ARN
  • PRIOR_NON_DISPUTED_TRANSACTION_DATE_TIME
  • PRIOR_NON_DISPUTED_TRANSACTION_EMAIL_ADDRESS
  • PRIOR_NON_DISPUTED_TRANSACTION_ID
  • PRIOR_NON_DISPUTED_TRANSACTION_IP_ADDRESS
  • PRIOR_NON_DISPUTED_TRANSACTION_PHONE_NUMBER
  • PRIOR_NON_DISPUTED_TRANSACTION_PHYSICAL_ADDRESS
  • PURCHASER_EMAIL_ADDRESS
  • PURCHASER_IP_ADDRESS
  • PURCHASER_NAME
  • RECURRING_TRANSACTION_ARN
  • RECURRING_TRANSACTION_DATE_TIME
  • RECURRING_TRANSACTION_ID

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

ExternalVaultStatus
A credit card's assocation with an external vault.
enum values:
  • VAULTED
    The payment method for this transaction has been vaulted in an external vault.
  • WILL_VAULT
    The payment method has not been vaulted in an exernal vault, but it will be if this transaction is successfully processed.

FraudServiceProvider
The fraud service provider used to generate the risk decision.
enum values:
  • FRAUD_PROTECTION
  • FRAUD_PROTECTION_ENTERPRISE
  • KOUNT

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

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

InStoreContextStatus
Potential statuses of a context created when an in-store charge is requested.
enum values:
  • CANCELLED
    The context was successfully canceled.
  • COMPLETE
    Payment was successful. The context was ended.
  • FAILED
    Payment was not successful. The context was ended.
  • PENDING
    Payment flow in-progress. Waiting for Customer to provide payment method.
  • PROCESSING
    Payment flow in-progress. Customer payment method submitted for transaction processing.

InStoreReaderAuthorizationMode
The authorization mode used to perform the transaction.
enum values:
  • CARD
  • ISSUER

LegacyIdType
The type of object the legacy ID represents when converting it to a global ID.
enum values:
  • CUSTOMER
  • DISPUTE
  • MERCHANT_ACCOUNT_APPLICATION
  • PAYMENT_METHOD
  • REFUND
  • TRANSACTION
  • US_BANK_ACCOUNT_VERIFICATION
  • VERIFICATION

LocalPaymentMethodType
A value identifying the type of regional payment method.
enum values:
  • ALIPAY
  • BANCONTACT
  • BLIK
  • EPS
  • GIROPAY
  • IDEAL
  • MYBANK
  • P24
  • PAYU
  • SEPA
  • SOFORT
  • SWISH
  • TRUSTLY
  • VERKKOPANKKI
  • VIPPS
  • WECHAT_PAY

MVVAcceptanceChannel
Means by which customers by their bills.
enum values:
  • FACE_TO_FACE
  • MAIL
  • PHONE
  • WEB

MVVRegistrationType
Supported MVV (Merchant Verification Value) programs.
enum values:
  • LOAN_VPP
  • TAX_DEBIT
  • UTIL_RATE
  • UTIL_VPP

MVVUtilityType
Supported MVV (Merchant Verification Value) utility types.
enum values:
  • ELECTRIC
  • GAS
  • TRASH
  • WATER

MerchantAccountStatus
The status of a merchant account. This determines whether the merchant account can be used to create a Payment, and whether funds can continue to flow to the associated bank account.
enum values:
  • ACTIVE
    The merchant account can be used to create transactions and refunds.
  • PENDING
    The merchant account is still being set up, and cannot be used to create transactions or refunds yet.
  • SUSPENDED
    The merchant account cannot be used to process transactions or refunds.

OAuthTokenType
OAuth access token type.
enum values:
  • BEARER

OwnerAddressType
The owner's address type.
enum values:
  • HOME
  • MAILING

OwnerIDType
The type of identity number provided for the owner.
enum values:
  • SOCIAL_SECURITY_NUMBER

OwnerPhoneType
The owner's phone type.
enum values:
  • HOME
  • MOBILE

OwnerPosition
The position that the owner holds in the business.
enum values:
  • BENEFICIAL_OWNER
  • CHAIRMAN
  • DIRECTOR
  • PARTNER
  • SECRETARY
  • TREASURER

OwnerRole
The role that the owner holds in the business.
enum values:
  • BENEFICIAL_OWNER
  • SIGNIFICANT_RESPONSIBILITY

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

PayPalFinancingCreditProductIdentifier
Possible identifiers for credit products provided via PayPal.
enum values:
  • CREDIT_CARD_INSTALLMENTS_BR
    Brazil Credit Card Installments.
  • CREDIT_CARD_INSTALLMENTS_MX
    Mexico Credit Card Installments.
  • CREDIT_CARD_US
    United States Credit Card.
  • PAYPAL_CREDIT_DE
    Germany PayPal Credit.
  • PAYPAL_CREDIT_UK
    United Kingdom PayPal Credit.
  • PAYPAL_CREDIT_US
    United States PayPal Credit.
  • PAY_LATER_FR
    France Pay Later.
  • PAY_LATER_GB
    Great Britain Pay Later.
  • PAY_LATER_US
    United States Pay Later.
  • PAY_UPON_INVOICE_DE
    Germany Pay Upon Invoice.

PayPalFinancingOptionCreditType
PayPal Financing option credit type.
enum values:
  • INSTALLMENT
  • NO_INTEREST
  • PAY_UPON_INVOICE
  • SAME_AS_CASH

PaymentInitiator
The initiator of the payment. Payment can either be merchant-initiated or customer-initiated.
enum values:
  • MOTO
  • RECURRING
  • RECURRING_FIRST
  • UNSCHEDULED

PaymentMethodOriginType
A value identifying the third-party origin from which a customer provided their payment method.
enum values:
  • APPLE_PAY
  • GOOGLE_PAY
  • IN_STORE_READER
  • MASTERPASS
  • NETWORK_TOKEN
  • PAYPAL
  • 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
  • LOCAL_PAYMENT
  • PAYPAL
  • US_BANK_ACCOUNT
  • VENMO_ACCOUNT

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

PaymentReaderInputMode
The input mode used on the payment reader to facilitate an in-store transaction.
enum values:
  • CONTACT
  • CONTACTLESS
  • MAGSTRIPE
  • MAGSTRIPE_FALLBACK

PaymentSearchType
The type of a Payment, based primarily on implementing type.
enum values:
  • DETACHED_REFUND
    Only use this field if you have processed [detached credits](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits). The payment is a Refund, and represents a refund of a transaction not processed through your Braintree account.
  • REFUND
    The payment is a Refund, and represents a refund of a transaction present in this Braintree account. Unless you have processed any [detached credits](https://articles.braintreepayments.com/control-panel/transactions/refunds-voids-credits#detached-credits), this type encompasses all refunds.
  • TRANSACTION
    The payment is a Transaction.

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

PaymentStatus
The status of the payment, indicating its success or failure, and where it is in its [lifecycle](https://articles.braintreepayments.com/get-started/transaction-lifecycle). For further details on why any given status occurred, consult the corresponding `PaymentStatusEvent` in the payment's `statusHistory`.
enum values:
  • AUTHORIZATION_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 payment remains in a status of `AUTHORIZING`, [contact us for assistance](https://help.braintreepayments.com?issue=TransactionProcessingQuestion).
  • FAILED
    An error occurred when sending the payment to the downstream processor. See the payment'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 payment has been settled. For transactions, this means your customer has been charged and the process of disbursing the funds to your bank account has begun. For refunds, it means that the process of disbursing funds back to the customer has begun.
  • SETTLEMENT_DECLINED
    The processor declined the payment while attempting to capture it. See the payment's `statusHistory` to determine why it wasn't settled. This status is rare, and only certain types of transactions can be affected.
  • SETTLEMENT_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 payment is in the process of being settled. This is a transitory state, and will resolve to a status of `SETTLED`.
  • SUBMITTED_FOR_SETTLEMENT
    The payment has been successfully captured, and will be included in the next settlement batch, at which time it will become settled.
  • VOIDED
    The payment has been voided or canceled. For transactions, this means it's no longer authorized, your customer's funds are no longer on hold, and you can't use the `captureTransaction` mutation on this transaction. For refunds, it means the customer will not receive the funds from the refund.

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.

ReaderStatus
Indicates the status of a Reader.
enum values:
  • OFFLINE
  • ONLINE

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

RefundPolicy
Supported refund policies.
enum values:
  • EXCHANGE_ONLY
  • NO_REFUND_OR_EXCHANGE
  • REFUND_CARDHOLDER

RegistrationType
Supported Merchant Verification Value (MVV) and discount programs.
enum values:
  • LOAN_VPP
  • TAX_DEBIT
  • UTIL_RATE
  • UTIL_VPP

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

ScaExemptionType
The type of Strong Customer Authentication Exemption.
enum values:
  • LOW_VALUE
  • SECURE_CORPORATE
  • TRANSACTION_RISK_ANALYSIS
  • TRUSTED_BENEFICIARY

StakeholderAddressType
The stakeholder's address type.
enum values:
  • HOME_ADDRESS
  • MAILING_ADDRESS

StakeholderIdentificationDocumentType
Identification document type for a stakeholder.
enum values:
  • SOCIAL_SECURITY_NUMBER

StakeholderPhoneNumberType
Type of a stakeholder's phone number.
enum values:
  • HOME
  • MOBILE

StakeholderPosition
The position of a stakeholder.
enum values:
  • CEO
  • CHAIRMAN
  • DIRECTOR
  • PARTNER
  • SECRETARY
  • TREASURER
  • TRUSTEE

ThreeDSecureAuthenticationAcsWindowSize
An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.
enum values:
  • FULL_PAGE
  • W250_H400
  • W390_H400
  • W500_H600
  • W600_H400

ThreeDSecureAuthenticationDeliveryTimeframe
Indicates the delivery timeframe if applicable.
enum values:
  • ELECTRONIC_DELIVERY
  • OVERNIGHT_SHIPPING
  • SAME_DAY_SHIPPING
  • TWO_OR_MORE_DAY_SHIPPING

ThreeDSecureAuthenticationMerchantProductCode
Merchant product code.
enum values:
  • ACCOMMODATION_RETAIL
  • AIRLINE
  • CAR_RENTAL
  • CASH_DISPENSING
  • DIGITAL_GOODS
  • FUEL
  • GENERAL_RETAIL
  • LUXURY_RETAIL
  • OTHER
  • RESTAURANT
  • SERVICES
  • TRAVEL

ThreeDSecureAuthenticationShippingType
Indicates the shipping type for the transaction.
enum values:
  • DIGITAL_GOODS
  • OTHER
  • SHIP_TO_ADDRESS_ON_FILE
  • SHIP_TO_BILLING_ADDRESS
  • SHIP_TO_OTHER_ADDRESS
  • SHIP_TO_STORE
  • TICKETS_NOT_SHIPPED

ThreeDSecureAuthenticationStatus
The 3D Secure authentication status of the card.
enum values:
  • AUTHENTICATE_ATTEMPT_SUCCESSFUL
  • AUTHENTICATE_ERROR
  • AUTHENTICATE_FAILED
  • AUTHENTICATE_FAILED_ACS_ERROR
  • AUTHENTICATE_FRICTIONLESS_FAILED
  • AUTHENTICATE_REJECTED
  • AUTHENTICATE_SIGNATURE_VERIFICATION_FAILED
  • AUTHENTICATE_SUCCESSFUL
  • AUTHENTICATE_UNABLE_TO_AUTHENTICATE
  • AUTHENTICATION_BYPASSED
  • AUTHENTICATION_UNAVAILABLE
  • CHALLENGE_REQUIRED
  • LOOKUP_BYPASSED
  • LOOKUP_ENROLLED
  • LOOKUP_ERROR
  • LOOKUP_FAILED_ACS_ERROR
  • LOOKUP_NOT_ENROLLED
  • UNSUPPORTED_CARD
  • UNSUPPORTED_THREE_D_SECURE_VERSION

ThreeDSecureAuthenticationStatusIndicator
Indicates the current status of the 3D Secure authentication.
enum values:
  • AUTHENTICATION_REJECTED
  • CHALLENGE_REQUIRED_DECOUPLED_AUTHENTICATION
  • CHALLENGE_REQUIRED_FOR_AUTHENTICATION
  • FAILED_AUTHENTICATION
  • INFORMATIONAL_CHALLENGE_PREFERENCE_ACKNOWLEDGED
  • SUCCESSFUL_ATTEMPTS_TRANSACTION
  • SUCCESSFUL_AUTHENTICATION
  • UNABLE_TO_COMPLETE_AUTHENTICATION

ThreeDSecureAuthenticationTransactionType
Indicates the type of transaction for 3D Secure authentication.
enum values:
  • ADD_CARD
  • CARDHOLDER_VERIFICATION
  • INSTALLMENT
  • MAINTAIN_CARD
  • PAYMENT
  • RECURRING

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 determining whether the card is enrolled in a 3D Secure program.
  • NO
    The 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
    The 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

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

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

UsBankAccountVerificationMethod
The type of verification on a US bank account payment method. See our [ACH guide](https://articles.braintreepayments.com/guides/payment-methods/ach#verification-methods).
enum values:
  • INDEPENDENT_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 US state or territory.
enum values:
  • AK
  • AL
  • AR
  • AS
  • AZ
  • CA
  • CO
  • CT
  • DC
  • DE
  • FL
  • GA
  • GU
  • HI
  • IA
  • ID
  • IL
  • IN
  • KS
  • KY
  • LA
  • MA
  • MD
  • ME
  • MI
  • MN
  • MO
  • MP
  • MS
  • MT
  • NC
  • ND
  • NE
  • NH
  • NJ
  • NM
  • NV
  • NY
  • OH
  • OK
  • OR
  • PA
  • PR
  • RI
  • SC
  • SD
  • TN
  • TX
  • UM
  • UT
  • VA
  • VI
  • VT
  • WA
  • WI
  • WV
  • WY

UserStatus
The status of the user.
enum values:
  • ACTIVE
  • DELETED
  • PASSIVE
  • PENDING
  • SUSPENDED

UtilityType
Supported Merchant Verification Value (MVV) utility types.
enum values:
  • ELECTRIC
  • GAS
  • TRASH
  • WATER

VaultPaymentMethodCriteria
Defines criteria for vaulting a single-use payment method after transacting with it.
enum values:
  • ALWAYS
    Always store the single-use payment method after transacting, regardless of the status of the transaction.
  • ON_SUCCESSFUL_TRANSACTION
    Only store the single-use payment method if it was successfully authorized.

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

VenmoQRCodeIntent
The intended checkout flow communicated to the Venmo app.
enum values:
  • CONTINUE
    Continue through the current checkout flow by scanning the QR code.
  • PAY_FROM_APP
    Initiate the transaction directly from the Venmo app.

VenmoQRCodePaymentContextStatus
The status of the Venmo QR code payment context.
enum values:
  • APPROVED
    Venmo user has approved the payment.
  • CANCELED
    Venmo user has canceled the payment.
  • CREATED
    The Venmo QR code is ready to be scanned.
  • EXPIRED
    The window for payment has expired and the context was ended.
  • FAILED
    The payment failed and the context was ended.
  • SCANNED
    Venmo user has scanned the QR code.

VerificationStatus
The status of the verification, indicating whether the payment method was successfully verified. Braintree recommends only vaulting payment methods with successful verifications.
enum values:
  • 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

ACHConfigurationDetailsInput
Information about the account's ACH configuration.
input:
  • companyName: String
    The ACH/NACHA company name. Included in the NACHA file to help identify the company.
  • entry: String!
    This is included in the NACHA file to help identify the company's business type and will appear in the description section of an end-customer's bank statement. Examples: "Bill Pay", "Utility", etc.
  • reinitiationEnabled: Boolean!
    If ACH initiation is enabled. When `true`, any failed transaction will be retried.
  • softDescriptor: String
    Additional information that you would like to include on the end-customer's bank statement (e.g. phone number) for ACH transactions. Note: this is up to the end-customer's bank to display, as not all banks support this field.

ACHConfigurationInput
Information about the business's ACH configuration.
input:
  • companyName: String
    The ACH/NACHA company name. Included in the NACHA file to help identify the company.
  • entry: String!
    This is included in the NACHA file to help identify the company's business type and will appear in the description section of a customer's bank statement. Examples: "Bill Pay", "Utility", etc.
  • reinitiation: Boolean!
    Should ACH initiation be enabled? If true, any failed transaction will be retried.
  • softDescriptor: String
    Additional information that you would like to include on the customer's bank statement (e.g. phone number) for ACH transactions. Note: this is up to the customer's bank to display, as not all banks support this field.

AcceptDisputeInput
Top-level input fields for accepting a dispute.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • disputeId: ID!
    The ID of the dispute to be accepted.

AddressInput
Input fields for an Address.
input:
  • company: String
    Company name. 255 character maximum.
  • streetAddress: String
    The street address. 255 character maximum.
  • addressLine1: String
    The first line of the street address, such as street number, street name. 255 character maximum.
  • extendedAddress: String
    Extended address information, such as an apartment or suite number. 255 character maximum.
  • addressLine2: String
    Extended address information, such as apartment number 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.
  • adminArea2: String
    A city, town or village. 255 character maximum.
  • region: String
    State or province. 255 character maximum.
  • adminArea1: String
    Highest level subdivision, such as state, province or ISO-3166-2 subdivision. 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*.
  • countryCode: CountryCode
    Country code for the address. *Required for Level 3 processing*.

AmericanExpressRelationshipDetailsInput
Information about the business's relationship with American Express.
input:
  • serviceEstablishmentNumber: String!
    The account's American Express SE number.

AmericanExpressRelationshipInput
Information about the business's relationship with American Express.
input:
  • serviceEstablishmentNumber: String!
    The business's American Express SE number.

ApplicationBankAccountInput
Input fields for a Merchant Account Application bank account object.
input:

AuthenticationInsightInput
Input fields when requesting authentication insight for a payment method.
input:
  • merchantAccountId: ID!
    ID of the merchant account that will be used when charging this payment method.
  • amount: Amount
    The intended transaction amount to be authorized on this payment method.
  • recurringCustomerConsent: Boolean
    A flag indicating whether the customer has consented to further recurring transactions.
  • recurringMaxAmount: Amount
    The maximum amount permitted for recurring transactions set by the customer.

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

AuthorizePayPalAccountInput
Top-level input fields for creating a transaction by authorizing a PayPal account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of a PayPal payment method to be authorized.
  • options: AuthorizePayPalAccountOptionsInput
    Input fields related to the PayPal account being authorized.
  • transaction: TransactionInput!
    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.
  • riskContext: PayPalTransactionRiskContextInput
    Input fields setting the PayPal transaction context for risk assessment purposes. In order to use this field, your PayPal account must be set up to use the SetTransactionContext feature. This data will only be passed through to PayPal, and won't be stored on the transaction itself.

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!
    ID of a payment method to be authorized.
  • transaction: TransactionInput!
    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 Venmo account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of a Venmo payment method to be authorized.
  • options: AuthorizeVenmoAccountOptionsInput
    Input fields related to the Venmo account being authorized.
  • transaction: TransactionInput!
    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.

BusinessAddressInput
The address and types of the address for the business.
input:

BusinessDetailsInput
Details of a business representing a merchant.
input:

BusinessEmailInput
The email address of the business.
input:

BusinessIdentificationDocumentInput
Business related identification document details.
input:

BusinessIncorporationInput
Business incorporation details.
input:
  • countryCode: CountryCode!
    The country where the business is incorporated.
  • dateOfIncorporation: Date!
    The date the business was incorporated.
  • province: String!
    The province of where the business is incorporated. Use state or province code, as defined by [ISO 3166-2:2013](https://www.iso.org/standard/63546.html).

BusinessInput
General information about the business associated with the account.
input:
  • type: BusinessType!
    The biller's business type.
  • dbaName: String!
    The DBA (Doing Business As) name of the business.
  • legalName: String!
    The business's legal name. Max 100 characters. Valid characters: letters, numbers, spaces, ! & ' ( ) + , - / : .
  • federalTaxId: USTaxIdentificationNumber!
    The business's federal tax ID (EIN).
  • idType: BusinessIDType
    The biller's ID type.
  • idIssuer: CountryCode
    The country that issued the business's ID.
  • stateOfRegistration: UsStateCode!
    The business's U.S. state of registration.
  • merchantCategoryCode: MerchantCategoryCode!
    The business's merchant category code.
  • startDate: Date!
    The business's start date. Must be after 1700.
  • logoUrl: String
    A URL to an logo image. Required for Venmo onboarding.
  • email: String!
    The business's email address.
  • address: AddressInput!
    The business's address. No P.O. Boxes.
  • phoneCountryCode: Int!
    The country code for the business's phone number.
  • phoneNumber: String!
    The business's phone number. 9 digits. No extensions. Numbers only.
  • phoneType: BusinessPhoneType!
    The type of phone number for the business.
  • website: String!
    The business's website. Must be a valid URL.
  • annualVolume: Int!
    The business's annual processing volume. Must be less than 1 billion USD.
  • averageTransactionSize: Int!
    The business's average transaction size. Must be less than 1 billion USD.
  • largestTransactionSize: Int!
    The business's largest transaction size. Must be less than 1 billion USD.
  • arrears: Boolean
    Whether payment is collected in arrears (after goods have been delivered).
  • percentageOneTime: Int
    Percentage of the business's transactions are billed in arrears. Must be between 0 and 100.
  • deliveryDays: Int
    If the biller delivers goods, the number of days after charge they are delivered.
  • refundPolicy: RefundPolicy!
    The business's refund policy.
  • subscriptions: BusinessSubscriptionInput
    If applicable, the breakdown of monthly, quarterly, semi-annual, and annual subscriptions offered by the business.

BusinessOperationInput
Business operation details.
input:
  • averageAnnualTransactionVolume: MonetaryAmountInput!
    The annual volume of payments that the business is processing.
  • averageTransactionSize: MonetaryAmountInput!
    Average size of an individual transaction of the business.
  • largestTransactionSize: MonetaryAmountInput!
    Largest size of an individual transaction of the business.
  • refundPolicy: BusinessRefundPolicy
    The business's refund policy.
  • businessSubscriptions: BusinessSubscriptionDetailsInput
    The breakdown of subscriptions offered by the business.
  • chargeAfterDeliveryDays: Int
    If the biller delivers goods, the number of days after the charge that the goods are delivered.

BusinessPhoneNumberInput
The business phone number.
input:

BusinessSubscriptionDetailsInput
A breakdown of the business's subscription frequency. All percentages provided must add up to 100.
input:
  • percentMonthly: Int!
    The percentage of the business's subscriptions that are monthly.
  • percentQuarterly: Int!
    The percentage of the business's subscriptions that are quarterly.
  • percentSemiAnnual: Int!
    The percentage of the business's subscriptions that are semi-annual.
  • percentAnnual: Int!
    The percentage of the business's subscriptions that are annual.

BusinessSubscriptionInput
A breakdown of the business's subscription frequency. All percentages provided must add up to 100.
input:
  • percentMonthly: Int!
    The percentage of the business's subscriptions that are monthly.
  • percentQuarterly: Int!
    The percentage of the business's subscriptions that are quarterly.
  • percentSemiAnnual: Int!
    The percentage of the business's subscriptions that are semi-annual.
  • percentAnnual: Int!
    The percentage of the business's subscriptions that are annual.

CaptureTransactionInput
Top-level input fields for capturing an authorized transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId: ID!
    ID of the transaction to be 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 us for assistance](https://help.braintreepayments.com?issue=TransactionProcessingQuestion). If you capture an amount that is less than what was authorized, the transaction object will return the amount captured.
  • descriptor: 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.
  • 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: [TransactionLineItemInput!]
    Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
  • 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.
  • purchaseOrderNumber: String
    A purchase order identification value you associate with this transaction. *Required for Level 2 processing*.
  • shipping: TransactionShippingInput
    Shipping information. *Required for Level 3 processing*.
  • tax: TransactionTaxInput
    Tax information about the transaction. *Required for Level 2 processing*.

ChargeCreditCardInput
Top-level input fields for creating a transaction by charging a credit card.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of a credit card payment method to be charged.
  • options: CreditCardTransactionOptionsInput
    Input fields for creating a credit card transaction.
  • transaction: TransactionInput!
    Input fields for the charge, with details that will define the resulting transaction.

ChargePayPalAccountInput
Top-level input fields for creating a transaction by charging a PayPal account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    The ID of an existing PayPal account.
  • options: ChargePayPalAccountOptionsInput
    Input fields related to the PayPal account being charged.
  • transaction: TransactionInput!
    Input fields for the charge, with details that will define the resulting transaction.

ChargePayPalAccountOptionsInput
Input fields for creating a transaction with a PayPal account.
input:
  • customField: 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.
  • riskContext: PayPalTransactionRiskContextInput
    Input fields setting the PayPal transaction context for risk assessment purposes. In order to use this field, your PayPal account must be set up to use the SetTransactionContext feature. This data will only be passed through to PayPal, and won't be stored on the transaction itself.
  • selectedFinancingOption: SelectedPayPalFinancingOptionInput
    Buyer selected PayPal financing option.

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!
    ID of a payment method to be charged.
  • transaction: TransactionInput!
    Input fields for the charge, with details that will define the resulting transaction.

ChargeUsBankAccountInput
Top-level input fields for creating a transaction by charging a US bank account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    The ID of an existing US bank account.
  • options: ChargeUsBankAccountOptionsInput
    Input fields related to the US bank account being charged.
  • transaction: TransactionInput!
    Input fields for the charge, with details that will define the resulting transaction.

ChargeUsBankAccountOptionsInput
Input fields for creating a transaction with a US bank account.
input:
  • standardEntryClassCode: 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: ID!
    The ID of an existing Venmo account.
  • options: ChargeVenmoAccountOptionsInput
    Input fields for creating a Pay with Venmo transaction.
  • transaction: TransactionInput!
    Input fields for the charge, with details that will define the resulting transaction.

ChargeVenmoAccountOptionsInput
Input fields for creating a Pay with Venmo transaction.
input:
  • profileId: String
    Specifies which Venmo business profile to use for the transaction.

ClientTokenInput
Input fields for creating a client token.
input:
  • merchantAccountId: ID
    The merchant account ID used to create the client token. Defaults to your default merchant account ID.
  • customerId: ID
    The 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!
    The ID of the verification from vaulting the bank account.
  • amountsInCents: [Int!]!
    The amounts, in cents, of two deposits made into the customer's bank account after initiating a MICRO_TRANSFERS verification. These values should be collected from your customer.

CreateAccessTokenForReaderInput
Input fields for obtaining an OAuth access token for an in-store reader.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • deviceCode: String!
    A reader specific identification code.
  • deviceId: ID!
    A globally unique reader device id generated by the reader.

CreateAccessTokenFromAuthorizationCodeInput
Input fields for obtaining an OAuth access token using an authorization grant.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • authorizationCode: String!
    A authorization code.

CreateBusinessAccountInput
Top-level input to create a business account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • externalId: String!
    A unique identifier for this account in external systems.
  • countryCode: CountryCode!
    The country in which the account operates.
  • business: BusinessDetailsInput!
    The business details of the account.
  • paymentProcessingOptions: PaymentProcessingOptionsInput
    Additional payment processing options for the account.
  • financialInstruments: FinancialInstrumentsInput
    Financial instruments to be associated with the account for use with payouts.
  • profileNames: [String!]
    The profile names to customize how the business account is onboarded.

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.

CreateCustomActionsPaymentContextInput
Fields that are provided when creating a custom action payment context.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • actionName: String!
    The action you wish to invoke when creating the payment context.
  • customFields: [CustomActionsPaymentContextFieldInput!]
    A list of fields used to create a PaymentContext during execution of a Custom Actions handler (Five (5) entries maximum).

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.

CreateDisputeTextEvidenceInput
Top-level input fields for creating text evidence for a dispute.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • disputeId: ID!
    The ID of the dispute to create the evidence for.
  • category: DisputeTextEvidenceCategory
    The category of the text evidence.
  • content: String!
    The content of the text evidence.

CreateInStoreLocationInput
Input fields for creating an in store location.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • location: InStoreLocationInput!
    Input fields to create an in-store Location.

CreateMerchantAccountApplicationInput
Input fields for applying for a merchant account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • uniqueIdentifier: String!
    A unique identifier to track the progress of individual applications.
  • business: BusinessInput!
    General information about the business associated with the account.
  • owners: [OwnerInput!]!
    A minimum of one and a maximum of five owners can be submitted. One owner must be the authorized signer on the account.
  • americanExpressRelationship: AmericanExpressRelationshipInput
    Information about the business's relationship with American Express.
  • salesAccount: ApplicationBankAccountInput!
    The bank account to be used for sales.
  • discountProgramRegistration: DiscountProgramRegistrationInput
    Configuration for businesses registered with various discount programs (MVV, VPP, Loans).
  • achConfiguration: ACHConfigurationInput
    Configuration for processing via ACH.

CreateOfflineDeclinedTransactionInput
Top-level input fields for creating a transaction in declined state if the transaction was already declined offline by an EMV chip card.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of a payment method to be charged.
  • transaction: TransactionInput!
    Input fields for the transaction, with details that will define the resulting declined transaction.

CreateVenmoQRCodePaymentContextInput
Fields that are provided when creating a Venmo QR code context.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • environment: VenmoEnvironment
    The Venmo environment this payment context is created in.
  • intent: VenmoQRCodeIntent!
    Complete the transaction from merchant site or Venmo App.

CreditCardFraudToolsOptionsInput
Input fields that allow you to skip certain fraud checks. These will override Control Panel settings.
input:
  • skipCvv: Boolean
    Skip CVV checks. Will result in a `cvvResponse` of `BYPASS` in the response from the processor.
  • skipAvs: Boolean
    Skip AVS checks. Will result in an `avsPostalCodeResponse` of `BYPASS` in the response from the processor.
  • skipAdvancedFraudChecking: Boolean
    Skip [advanced fraud checks](https://developers.braintreepayments.com/guides/advanced-fraud-management-tools/overview).

CreditCardInput
Input fields for a credit card.
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 that will be tokenized with the contents of the fields.
  • billingAddress: AddressInput
    The billing address for the credit card.

CreditCardTransactionOptionsInput
Input fields for creating a transaction by authorizing or charging a credit card.
input:
  • externalVault: TransactionExternalVaultOptionsInput
    Details about this transaction if it's being created from a credit card that is or will be stored in an non-Braintree vault.
  • billingAddress: AddressInput
    A billing address to use for the transaction. If a billing address was provided when tokenizing or is present on the vaulted credit card, it will be *merged* with this input value, with priority given to this input value.
  • accountType: CardAccountType
    The type of account to be used when transacting with a combo card.
  • tokenizedCvv: ID
    The CVV for the credit card to be used when creating this transction, securely tokenized with the `tokenizeCvv` mutation.
  • fraudTools: CreditCardFraudToolsOptionsInput
    Control which fraud tools will be applied to this transaction. Fraud tools cannot be retroactively applied to a transaction if skipped.
  • threeDSecureAuthentication: ThreeDSecureAuthenticationInput
    3D Secure authentication information performed for this transaction. Only use these fields if you are charging or authorizing a single-use payment method ID that was *not* generated by a 3DS flow on on the client.
  • scaExemption: ScaExemptionType
    The type of Strong Customer Authentication Exemption requested.

CreditCardVerificationOptionsInput
Input fields that specify options for verifying the credit card.
input:
  • accountType: CardAccountType
    The type of account to be used when verifying a combo card.
  • riskData: RiskDataInput
    Customer device information, which is sent directly to supported processors for fraud analysis.
  • tokenizedCvv: ID
    The CVV for the credit card to be used when verifying the credit card, securely tokenized with the `tokenizeCvv` mutation.
  • amount: Amount
    The amount to use to verify the credit card.

CustomActionsPaymentContextFieldInput
Fields that are provided when creating the payment context.
input:
  • name: String!
    An alphanumeric string used as a key to lookup a CustomField value (255 characters maximum).
  • value: String!
    An alphanumeric string used to store a CustomField value (7168 characters maximum).

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

CustomActionsPaymentMethodInput
Input fields for a Custom Actions payment method.
input:

CustomFieldInput
Custom field name/value pairs. Maximum 255 characters. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
input:
  • name: CustomFieldName!
    Name of the custom field as defined in the Control Panel.
  • value: 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: [CustomFieldInput!]
    Collection of custom field/value pairs. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
  • email: String
    Email address for the customer.
  • firstName: String
    Customer's first name.
  • lastName: String
    Customer's last name.
  • phoneNumber: String
    The customer's phone number.

CustomerSearchInput
Input fields for searching for customers.
input:

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

DeleteDisputeEvidenceInput
Input fields for deleting dispute evidence.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • evidenceId: ID!
    The ID of the evidence to be deleted.
  • disputeId: ID!
    The ID of the dispute that the evidence belongs to.

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: ID!
    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: ID!
    The ID of the multi-use payment method to be deleted.

DetachedRefundInput
Specific input fields for describing a detached refund.
input:
  • amount: Amount!
    The amount to refund.
  • orderId: String
    The refund's order ID.
  • merchantAccountId: ID
    ID of the merchant account that will be used when performing the refund.
  • customFields: [CustomFieldInput!]
    Collection of custom field/value pairs. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
  • descriptor: TransactionDescriptorInput
    Fields used to define what will appear on a customer's statement (for instance, credit card or bank statement) for this refund. This should match the original transaction if possible.

DiscountProgramInput
Information about the account's particpation in various discount programs.
input:
  • registrationType: RegistrationType!
    The account's program registration type.
  • registrationIdentifier: String
    The account's existing Merchant Verification Value (MVV) registration number or American Express Service Establishment (SE) number if they have one.
  • numberOfCustomers: Int
    The number of end-customers the account has. Required if `registrationType` is `UTIL_RATE` OR `LOAN_VPP`.
  • acceptanceChannels: [AcceptanceChannel!]
    The means by which end-customers pay their bills. Required if `registrationType` is `UTIL_RATE` or `LOAN_VPP`.
  • utilityTypes: [UtilityType!]
    The account's Merchant Verification Value (MVV) utility type. Required if `registrationType` is `UTIL_RATE`.
  • acceptsPaydayLoans: Boolean
    If the account accepts payday loans. Required if `registrationType` is `UTIL_RATE`.
  • chargesLoanFees: Boolean
    If the account charges fee for debt repayment. Required if `registrationType` is `LOAN_VPP`.

DiscountProgramRegistrationInput
Information about the business's particpation in various discount programs.
input:
  • registrationType: MVVRegistrationType!
    The business's MVV (Merchant Verification Value) registration type.
  • registrationIdentifier: String
    The business's existing MVV (Merchant Verification Value) registration number, if they have one.
  • numberOfCustomers: Int
    The number of customers the business has. Required if `registrationType` is `UTIL_RATE` or `LOAN_VPP`.
  • acceptanceChannel: [MVVAcceptanceChannel]
    The means by which customers pay their bills. Required if `registrationType` is `UTIL_RATE` or `LOAN_VPP`.
  • utilityType: [MVVUtilityType]
    The business's MVV utility type. Required if `registrationType` is `UTIL_RATE`.
  • loanPayday: Boolean
    Does the business accept payday loans? Required if `registrationType` is `LOAN_VPP`.
  • loanFee: Boolean
    Does the business charge fees for debt repayment? Required if `registrationType` is `LOAN_VPP`.

DisputeSearchInput
Input fields for searching for Disputes.
input:

DisputeTransactionSearchInput
Transaction input fields for searching for disputes.
input:
  • transactionId: SearchValueInput
    Find disputes for a transaction id or ids.
  • customerId: SearchValueInput
    Find disputes for a customer id or ids.
  • transactionSource: SearchTransactionSourceInput
    Find disputes with a given transaction source.
  • paymentMethodSnapshotType: SearchPaymentMethodSnapshotTypeInput
    Find disputes on transactions charging payment methods of the given type.
  • facilitatorOAuthApplicationClientId: SearchValueInput
    Find disputes on transactions created by a third party via the Grant API using a given OAuth application client ID.
  • disbursementDate: SearchDateInput
    Find disputes by the transaction's disbursement date.
  • merchantAccountId: SearchValueInput
    Find disputes on transactions associated with a merchant account ID or IDs.

EmvCardInput
Input fields for an EMV card.
input:

FinalizeDisputeInput
Top-level input fields for finalizing a dispute.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • disputeId: ID!
    The ID of the dispute to be finalized.

FinancialInstrumentsInput
Financial instruments to be associated with the account for use with payouts.
input:

FundingBankAccountInput
Details of a bank account to be associated with the merchant account for use with payouts.
input:
  • transferType: BankTransferType!
    The type of transfer setup on the bank account.
  • accountNumber: String!
    The account number for the bank account.
  • branchId: String!
    The routing number for the bank account.
  • accountType: BankAccountType!
    The type of the bank account.

GenerateInStoreReaderPairingCodeInput
Input fields for generating a pairing code to pair an in store reader.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • deviceId: ID!
    A globally unique reader device id generated by the reader.
  • deviceJWT: String
    Authentication information for identifying the reader.

IdentificationDocumentInput
Identification document details.
input:
  • identificationNumber: String!
    The number for the identification document. It is ID number if the document is ID CARD; It is passport number if the document is PASSPORT, etc.
  • issueDate: Date
    The issue date of the identification document.
  • expirationDate: Date
    The expiration date of the identification document.
  • countryCode: CountryCode
    The country code of the issuer of the identification document.

InStoreLocationAddressInput
Input fields for an in-store Location Address.
input:
  • streetAddress: String!
    The street address.
  • extendedAddress: String
    Extended address information, such as an apartment or suite number.
  • locality: String!
    Locality/city.
  • region: String!
    State or province.
  • postalCode: String!
    Postal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
  • countryCode: CountryCode!
    Country code for the address.

InStoreLocationInput
Fields required for an instore location.
input:

InStoreReaderSetupInput
Fields that are reader specific for pairing a reader.
input:
  • locationId: ID!
    In-Store Location to attach Reader to.
  • name: String
    Name given to the Reader.

InStoreRefundInput
Input fields for creating an in-store transaction.
input:
  • amount: Amount!
    Refund amount of the request. This value must be greater than 0, and must match the currency format of the merchant account. This can only contain numbers and one decimal point (e.g. x.xx). Can't be greater than the maximum allowed by the processor.
  • merchantAccountId: ID
    Merchant account ID used to process the refund. Currency is also determined by merchant account ID. If no merchant account ID is specified, we will use your default merchant account.
  • orderId: String
    Additional information about the refund. On PayPal refunds, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal refunds.
  • customFields: [CustomFieldInput!]
    Collection of custom field/value pairs. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
  • descriptor: TransactionDescriptorInput
    Fields used to define what will appear on a customer's bank statement for a specific purchase.

InStoreTransactionInput
Input fields for creating an in-store transaction.
input:
  • amount: Amount!
    Billing amount of the request. This value must be greater than 0, and must match the currency format of the merchant account. This can only contain numbers and one decimal point (e.g. x.xx). Can't be greater than the maximum allowed by the processor.
  • merchantAccountId: ID
    Merchant account ID used to process the transaction. Currency is also determined by merchant account ID. If no merchant account ID is specified, we will use your default merchant account.
  • orderId: String
    Additional information about the transaction. On PayPal transactions, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal transactions.
  • customFields: [CustomFieldInput!]
    Collection of custom field/value pairs. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
  • descriptor: TransactionDescriptorInput
    Fields used to define what will appear on a customer's bank statement for a specific purchase.

MagstripeCardInput
Input fields for a magstripe card.
input:
  • magstripeData: String
    Magstripe data.

MonetaryAmountInput
Input fields representing an amount with currency.
input:
  • value: Amount!
    The amount of money, either a whole number or a number with up to 3 decimal places.
  • currencyCode: CurrencyCodeAlpha!
    The currency code for the monetary amount.

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

NameInput
The name of the party.
input:
  • prefix: String
    The prefix, or title, to the party name.
  • givenName: String!
    The party's given, or first, name. Required if the party is a person.
  • surname: String!
    The party's surname or family name. Also known as the last name. Required if the party is a person. Use also to store multiple surnames including the matronymic, or mother's, surname.
  • middleName: String
    The party's middle name. Use also to store multiple middle names including the patronymic, or father's, middle name.
  • suffix: String
    The suffix for the party's name.
  • alternateFullName: String
    The party's alternate name. Can be a business name, nickname, or any other name that cannot be split into first, last name. Required for a business party name.

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

OwnerInput
An owner of the business. A minimum of one and a maximum of five owners can be submitted. One owner must be the authorized signer on the account.
input:
  • role: OwnerRole!
    The role that the owner holds.
  • position: OwnerPosition!
    The position that the owner holds.
  • ownershipPercentage: Int!
    The % of the business that the owner owns. Must be between 0 and 100.
  • firstName: String!
    The owner's first name.
  • lastName: String!
    The owner's last name.
  • email: String!
    The owner's email address.
  • address: AddressInput!
    The owner's address.
  • addressType: OwnerAddressType!
    The owner's address type.
  • dateOfBirth: Date
    The owner's date of birth. Format: YYYY-MM-DD.
  • phoneCountryCode: Int!
    The country code for the owner's phone number.
  • phoneNumber: String!
    The owner's phone number. No extensions, numbers only.
  • phoneType: OwnerPhoneType!
    The phone number type for the owner's phone number.
  • idType: OwnerIDType
    The owner's ID type. Required for authorized signer.
  • idNumber: USTaxIdentificationNumber
    The owner's ID number. Must be a valid US SSN or TIN.
  • idIssuer: CountryCode
    The country that issued the owner's ID.

PairInStoreReaderInput
Input fields for pairing an in store reader.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • userCode: String!
    Code displayed on Reader during pairing.
  • reader: InStoreReaderSetupInput!
    Inputs for Reader.

PartialCaptureTransactionInput
Top-level input fields for capturing outstanding funds authorized by a transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId: ID!
    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: Amount!
    The amount to capture on the transaction against the parent authorization transaction. Must be greater than 0. You can perform multiple partial capture transactions as long as the cumulative amount of those transactions is less than or equal to the amount authorized by the parent transaction. You can't capture more than the authorized amount unless your industry and processor support settlement adjustment (capturing a certain percentage over the authorized amount); [contact us for assistance](https://help.braintreepayments.com?issue=TransactionProcessingQuestion).
  • discountAmount: 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: [TransactionLineItemInput!]
    Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
  • 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.
  • purchaseOrderNumber: String
    A purchase order identification value you associate with this transaction. *Required for Level 2 processing*.
  • shipping: TransactionShippingInput
    Shipping information. *Required for Level 3 processing*.
  • tax: TransactionTaxInput
    Tax information about the transaction. *Required for Level 2 processing*.
  • 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.

PayPalAccountInput
Input for identifying a PayPal account.
input:
  • payerId: ID
    The unique PayPal ID of the PayPal account.

PayPalFinancingOptionsInput
Input fields for requesting information about PayPal financing options.
input:
  • paymentMethodId: ID!
    ID of an existing multi-use PayPal payment method to request financing options for.
  • amount: MonetaryAmountInput!
    The transaction currency and total amount to finance.
  • countryCode: CountryCodeAlpha2!
    The financing country code.

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

PayPalTransactionRiskContextDataFieldInput
A key-value pair for a PayPal SetTransactionContext field.
input:
  • name: String
    The name of the field. Must correspond exactly to the PayPal key/field name.
  • value: String
    The value of the field. Maximum 4000 characters.

PayPalTransactionRiskContextInput
Input fields setting the PayPal transaction context for risk assessment. In order to use this, your PayPal account must be set up to use the PayPal SetTransactionContext feature.
input:

PaymentMethodVerificationOptionsInput
Input fields that specify options for verifying the vaulted payment method. Only applicable for payment method types that suport verification.
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 verifying the payment method. Defaults to `false` for payment methods that support verification. Clients should only pass `true` in the uncommon scenario that the payment method has been verified externally to Braintree.

PaymentProcessingOptionsInput
Additional payment processing options for the account.
input:

PaymentReaderMetadataInput
Metadata about the payment reader facilitating an in-store transaction.
input:
  • inputMode: PaymentReaderInputMode!
    The input mode used on the payment reader to facilitate an in-store transaction.

PaymentSearchInput
Input fields for searching for any type of Payment.
input:

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: ID!
    The ID of a single-use payment method to perform the lookup on.
  • amount: 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.

PhoneInput
The phone number in its international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en).
input:
  • countryPhoneCode: String!
    The country calling code (CC), in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
  • phoneNumber: String!
    The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
  • extensionNumber: String
    The extension number.

RefreshAccessTokenForReaderInput
Input fields for obtaining an OAuth Access Token from a refresh token for an in-store reader.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • deviceId: ID!
    A globally unique reader device id generated by the reader.
  • refreshToken: String!
    An OAuth refresh token.

RefundCreditCardInput
Top-level input fields for creating a detached refund on a credit card.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of the credit card to be refunded.
  • refund: DetachedRefundInput!
    Input fields containing details about the refund.

RefundInput
Specific input fields for describing a refund.
input:
  • amount: Amount
    The amount to refund. Must be less than or equal to the amount of the original transaction. Defaults to the total amount of the original transaction.
  • orderId: String
    The refund's order ID. Defaults to the order ID of the original transaction.
  • lineItems: [TransactionLineItemInput!]
    Line items for this refund. Up to 249 line items may be specified. Only allowed for Custom Actions transactions.

RefundSearchInput
Input fields for searching for refunds.
input:

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

RefundUsBankAccountInput
Top-level input fields for creating a detached refund on a US Bank Account.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of the US Bank Account to be refunded.
  • options: ChargeUsBankAccountOptionsInput
    Input fields related to the US bank account being charged.
  • refund: DetachedRefundInput!
    Input fields containing details about the refund.

RemoveCreditCardFromAccountUpdaterInput
Input fields for removing credit cards from Account Updater.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodIds: [ID!]!
    A list of IDs of credit cards to be removed from Account Updater.

RequestCancelFromInStoreReaderInput
Input fields for requesting a cancel during an in-store charge flow.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • inStoreContextId: ID!
    Unique ID for the charge flow.

RequestChargeFromInStoreReaderInput
Input fields for beginning the in-store charge flow.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • readerId: ID!
    ID of the Reader to request a charge from.
  • transaction: InStoreTransactionInput!
    Information about the requested in-store transaction.

RequestRefundFromInStoreReaderInput
Input fields for beginning the in-store refund flow.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • readerId: ID!
    ID of the Reader to request a refund from.
  • refund: InStoreRefundInput!
    Information about the requested in-store refund.

ReverseEmvTransactionInput
Input fields for reversing an emv transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId: ID!
    The ID of the transaction to reverse.
  • emvData: String!
    EMV data received from a payment reader to be included as part of the reversal.

ReverseRefundInput
Input fields for reversing a refund.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • refundId: ID!
    The ID of the refund to reverse.

ReverseTransactionInput
Input fields for reversing a transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId: ID!
    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.
input:
  • cryptogram: String!
    A one-time-use string generated by the token requester to validate the transaction.
  • eCommerceIndicator: ECommerceIndicator!
    A two-digit string that should be passed along in the authorization message.
  • expirationMonth: Month!
    A two-digit string representing the expiration month of the DPAN.
  • expirationYear: Year!
    A four-digit string representing the expiration year of the DPAN.
  • number: CreditCardNumber!
    The card number provided by Samsung and used in processing. This is a digitized PAN (DPAN), not the backing card number (FPAN).
  • sourceCardLast4: CreditCardLast4!
    The last four digits of the FPAN (the cardholder's backing card).

SandboxSettleTransactionInput
Top-level input fields for settling a transaction in the sandbox environment.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId: ID!
    Id of the transaction to force settlement in the sandbox environment.

SearchCreditCardBrandCodeInput
Input fields for searching for payments by credit card brand.
input:

SearchCreditCardExpirationDateInput
Input fields for searching for payments by payment method snapshot credit card expiration date criteria.
input:

SearchCreditCardExpirationMonthYearInput
Input fields for searching for payments by payment method snapshot credit card expiration date criteria.
input:
  • expirationMonth: String!
    The month of the credit card expiration as MM.
  • expirationYear: String!
    The year of the credit card expiration as YYYY.

SearchCreditCardNumberInput
Input fields for searching for payments by payment method snapshot credit card number criteria.
input:
  • startsWith: String
    Up to the first six digits of the credit card number (the credit card's BIN).
  • endsWith: String
    Up to four digits of the last four digits of the credit card number.

SearchDateInput
Input fields for searching for a date. These ranges are precise to the day.
input:
  • greaterThanOrEqualTo: Date
    Date is greater than or equal to this value.
  • lessThanOrEqualTo: Date
    Date is less than or equal to this value.

SearchDisputeReasonInput
Input fields for searching for a dispute with a given reason description.
input:

SearchDisputeStatusInput
Input fields for searching for a dispute with a given status.
input:

SearchDisputeTypeInput
Input fields for searching for a dispute with a given type.
input:
  • is: DisputeType
    The dispute type is exactly this value.
  • in: [DisputeType!]
    The dispute type is one of these values.

SearchPaymentCreditCardDetailsInput
Input fields for searching for payments by payment method snapshot credit card details criteria.
input:

SearchPaymentCustomerInput
Input fields for searching payments by customer.
input:

SearchPaymentMethodSnapshotTypeInput
Input fields for searching transactions by payment method snapshot type.
input:
  • is: PaymentMethodSnapshotSearchType
    This value represents the payment method type used to create a transaction. In the case of credit cards, this value also encode the origin from which a customer provided that payment method.
  • in: [PaymentMethodSnapshotSearchType!]
    These values represent the payment method type used to create a transaction. In the case of credit cards, these values also encode the origin from which a customer provided that payment method.

SearchPaymentPayPalDetailsInput
Input fields for searching for payments by payment method snapshot PayPal details criteria.
input:

SearchPaymentPaymentMethodInput
Input fields for searching for payments by payment method criteria.
input:

SearchPaymentPaymentMethodSnapshotInput
Input fields for searching for payments by payment method snapshot criteria.
input:
  • type: SearchPaymentMethodSnapshotTypeInput
    Find payments based on the payment instrument type.
  • creditCardDetails: SearchPaymentCreditCardDetailsInput
    Find payments made with credit cards, based on the details of the credit card used for the payment. Passing an object with non-empty, non-null fields will scope your search to *only* credit card payment methods. This overrides the `type` field.
  • payPalDetails: SearchPaymentPayPalDetailsInput
    Find payments made with PayPal, based on the PayPal details used for the payment. Passing a value here will scope your search to *only* PayPal payment methods. This overrides the `type` field.

SearchPaymentSourceInput
Input fields for searching for a transaction or refund created with a given source.
input:
  • in: [PaymentSource!]
    The transaction source is one of these values.

SearchPaymentStatusInput
Input fields for searching for a transaction or refund with a given status.
input:
  • in: [PaymentStatus!]
    The transaction status is one of these values.

SearchPaymentStatusTransitionInput
Payment status transition times.
input:

SearchPaymentTypeInput
Input fields for searching for payments by implementing type.
input:

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 by timestamp. These ranges are precise to the minute; the results of searching for an object created between 12/17/2015 17:00 and 12/17/2015 17:00 (i.e., the same minute) will include objects created at 12/17/2015 17:00:59. If no timezone is provided, it will be assumed to be UTC.
input:
  • greaterThanOrEqualTo: Timestamp
    Timestamp is greater than or equal to this value.
  • lessThanOrEqualTo: Timestamp
    Timestamp is less than or equal to this value.

SearchTransactionSourceInput
Input fields for searching for a transaction created with a given source.
input:
  • in: [PaymentSource!]
    The transaction source is one of these values.

SearchTransactionStatusInput
Input fields for searching for a transaction with a given status.
input:

SearchTransactionStatusTransitionInput
Transaction status transition times.
input:

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

SearchVerificationStatusInput
Input fields for searching for a verification with a given status.
input:

SelectedPayPalFinancingOptionInput
Input fields indicating a selected financing option by a PayPal buyer.
input:
  • term: Int!
    Total number of payments over which to finance the transaction.
  • currencyCode: CurrencyCodeAlpha!
    The currency code for the monthly payment and discount amount.
  • monthlyPayment: Amount!
    The amount for each monthly payment.
  • discountPercentage: Percentage
    The percent discount off the total transaction amount due to the selected financing option.
  • discountAmount: Amount
    The amount reduced from the total transaction amount.

StakeholderAddressInput
The address and types of the address for the stakeholder.
input:

StakeholderIdentificationDocumentInput
Stakeholder's identification document details.
input:

StakeholderInput
Details of a stakeholder.
input:
  • legalName: NameInput!
    The stakeholder's legal name.
  • ownershipPercentage: Int
    The percentage of the business that this stakeholder owns.
  • beneficialOwner: Boolean!
    Whether the stakeholder is beneficial owner of the business.
  • significantResponsibility: Boolean!
    Whether the stakeholder holds significant responsibility of the business.
  • position: StakeholderPosition
    The position that the stakeholder holds. Required when significantResponsibility is set to true.
  • emails: [EmailAddress!]!
    The stakeholder's email addresses.
  • addresses: [StakeholderAddressInput!]!
    The stakeholder's addresses.
  • phoneNumbers: [StakeholderPhoneNumberInput!]!
    The stakeholder's phone numbers.
  • dateOfBirth: Date
    Stakeholder's date of birth.
  • identificationDocuments: [StakeholderIdentificationDocumentInput!]
    The stakeholder's identification documents.

StakeholderPhoneNumberInput
The stakeholder phone number.
input:

SubmitCreditCardForAccountUpdaterInput
Input fields for submitting a credit card for Account Updater.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodIds: [ID!]
    A list of IDs of credit cards to be submitted for Account Updater.

ThreeDSecureAuthenticationInput
Input fields for passing auxillary 3D Secure information manually, as opposed to tokenized on a single-use payment method ID.
input:
  • authenticationId: String
    Braintree unique ID of the 3D Secure authentication performed for this transaction. You will only need to use this field if you are charging or authorizing a vaulted payment method ID.
  • passThrough: 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.

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.

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

ThreeDSecureLookupTransactionInformationInput
Additional information about the transaction when authenticating 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.
  • shippingAddress: ThreeDSecureLookupShippingAddressInput
    The shipping address for the transaction.
  • workPhoneNumber: String
    The work phone number associated with the transaction.
  • transactionType: ThreeDSecureAuthenticationTransactionType
    Indicates the type of transaction.
  • deliveryTimeframe: ThreeDSecureAuthenticationDeliveryTimeframe
    Indicates the delivery timeframe if applicable.
  • deliveryEmail: String
    For electronic delivery, email address to which the product was delivered.
  • shippingType: ThreeDSecureAuthenticationShippingType
    Indicates shipping type chosen for the transaction.
  • productCode: ThreeDSecureAuthenticationMerchantProductCode
    Merchant product code.
  • reorderIndicator: Boolean
    Indicates whether the cardholder is reordering merchandise purchased in a previous order.
  • preorderIndicator: Boolean
    Indicates whether cardholder is placing an order with a future availability or release date.
  • preorderDate: Date
    Expected date that a pre-ordered purchase will be available.
  • giftCardAmount: Amount
    The purchase amount total for prepaid gift cards.
  • giftCardCurrencyCode: CurrencyCodeAlpha
    ISO 4217 currency code for the gift card purchased.
  • giftCardCount: Int
    Total count of individual prepaid gift cards purchased.
  • accountCreatedDuringTransaction: Boolean
    Indicates whether the cardholder created the account during this transaction.
  • accountCreateDate: Date
    Date the cardholder opened the account.
  • accountChangedDuringTransaction: Boolean
    Indicates whether the cardholder changed the account during this transaction. This includes changes to the billing or shipping address, new payment accounts or new users added.
  • accountChangeDate: Date
    Date the cardholder's account was last changed. This includes changes to the billing or shipping address, new payment accounts or new users added.
  • accountPasswordChangedDuringTransaction: Boolean
    Indicates whether the cardholder changed or reset the password on the account during this transaction.
  • accountPasswordChangeDate: Date
    Date the cardholder changed or reset the password on the account.
  • firstUseOfShippingAddress: Boolean
    Indicates whether this transaction represents the first use of this shipping address.
  • shippingAddressFirstUsageDate: Date
    Date when the shipping address used for this transaction was first used.
  • transactionCountDay: Int
    Number of transactions (successful or incomplete) for this cardholder account within the last 24 hours.
  • transactionCountYear: Int
    Number of transactions (successful or incomplete) for this cardholder account within the last year.
  • addCardAttempts: Int
    Number of attempts that have been made to add a card to this account in the last 24 hours.
  • accountPurchases: Int
    Number of purchases with this cardholder account during the previous six months.
  • suspiciousActivityObserved: Boolean
    Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.
  • accountNameMatchesShippingName: Boolean
    Indicates if the cardholder name on the account is identical to the shipping name used for the transaction.
  • paymentMethodAddedDuringTransaction: Boolean
    Indicates whether the payment method was added to the cardholder account during this transaction.
  • paymentMethodAddedToAccountDate: Date
    Date the payment method was added to the cardholder account.
  • acsWindowSize: ThreeDSecureAuthenticationAcsWindowSize
    An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.
  • sdkMaxTimeout: Int
    This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes). Minimum is 05. Defaults to 15.
  • billingAddressMatchesShippingAddress: Boolean
    Indicates whether cardholder billing and shipping addresses match.
  • accountId: String
    Additional cardholder account information.
  • ipAddress: String
    The IP address of the cardholder. Both IPv4 and IPv6 formats are supported.
  • orderDescription: String
    Brief Description of items purchased.
  • taxAmount: Amount
    Tax amount.
  • userAgent: String
    The exact content of the HTTP user agent header.
  • installment: Int
    Indicates the maximum number of authorizations for installment payments. An integer value greater than 1 indicating the maximum number of permitted authorizations for installment payments.
  • purchaseDate: Timestamp
    Datetime of original purchase.
  • recurringEnd: Date
    The date after which no further recurring authorizations should be performed.
  • recurringFrequency: Int
    Integer value indicating the minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months. Example: 6 months = 168.

ThreeDSecurePassThroughInput
Results of a merchant-performed 3D Secure authentication.
input:
  • eciFlag: ECommerceIndicator!
    The value of the electronic commerce indicator (ECI) flag, which indicates the outcome of the 3D Secure authentication.
  • cavv: 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
    3D Secure server transaction identifier resulting from 3D Secure authentication.
  • 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).
  • directoryServerTransactionId: String
    A unique identifier for the 3D Secure 2 interaction with the card brand directory server. This field must be supplied for Mastercard Identity Check.

TokenizeCreditCardInput
Top-level input fields for tokenizing a credit card.
input:

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: CustomActionsPaymentMethodInput!
    Input fields for a Custom Actions payment method.

TokenizeCvvInput
Top-level input fields for tokenizing a CVV, otherwise known as CSC or CVC.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • cvv: 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.

TokenizeEmvCardInput
Top-level input fields for tokenizing an EMV card.
input:

TokenizeMagstripeCardInput
Top-level input fields for tokenizing a magstripe card.
input:

TokenizeNetworkTokenInput
Top-level input field for tokenizing a network token.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • networkToken: NetworkTokenInput!
    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: SamsungPayCardInput!
    Input fields for a Samsung Pay card.

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

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

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.

TransactionExternalVaultOptionsInput
Input for transactions created with credit cards vaulted in an external vault, not the Braintree Vault. Do not use for transactions created from Braintree multi-use payment methods, or from single-use payment methods which will not be stored in an external vault.
input:
  • status: ExternalVaultStatus!
    The credit card's assocation with an external vault.
  • verifyingNetworkTransactionId: String
    The network transaction ID of the first _transaction_ after which this payment method was stored in the external vault. If the `status` is `WILL_VAULT`, do not pass this value; the network transaction ID of the resulting transaction can be passed in this field for _subsequent_ transactions. If the `status` is `VAULTED`, but the customer is directly initiating the charge, do not pass this value.

TransactionInput
Input fields for creating a transaction.
input:
  • amount: Amount!
    Billing amount of the request. This value must be greater than 0, and must match the currency format of the merchant account. This can only contain numbers and one decimal point (e.g. x.xx). Can't be greater than the maximum allowed by the processor.
  • merchantAccountId: 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: [CustomFieldInput!]
    Collection of custom field/value pairs. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.
  • descriptor: TransactionDescriptorInput
    Fields used to define what will appear on a customer's bank statement for a specific purchase.
  • paymentInitiator: PaymentInitiator
    The initiator of the payment. Payment can either be merchant-initiated or customer-initiated.
  • 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. If vaulting the single-use payment method, this customer will be associated with the resulting multi-use payment method.
  • 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: [TransactionLineItemInput!]
    Line items for this transaction. Up to 249 line items may be specified. *Required for Level 3 processing*.
  • vaultPaymentMethodAfterTransacting: VaultPaymentMethodAfterTransactingInput
    When a single-use payment method is used to create this transaction, it can be automatically stored in the vault after transacting. If this field is left blank, the single-use payment method will not be vaulted.

TransactionLineItemInput
Data for individual line items on a transaction.
input:
  • name: String!
    Item name. Maximum 35 characters, or 127 characters for PayPal transactions. *Required for Level 3 processing*.
  • kind: TransactionLineItemType!
    Indicates whether the line item is a sale or refund. *Required for Level 3 processing*.
  • quantity: String!
    Number of units of the item purchased. Can include up to 4 decimal places. This value can't be negative or zero. *Required for Level 3 processing*.
  • unitAmount: String!
    Per-unit price of the item. Maximum 4 decimal places, or 2 decimal places for PayPal transactions. This value can't be negative or zero. *Required for Level 3 processing*.
  • totalAmount: String!
    Total price amount for the line item: quantity multiplied by unitAmount. Can include up to 2 decimal places. *Required for Level 3 processing*.
  • unitTaxAmount: 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*.
  • itemType: String
    The type of the line item, i.e., physical, digital etc.
  • imageUrl: String
    URL to an image that represents the product. Max 1024 characters.

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

UpdateCreditCardBillingAddressInput
Top-level input fields for updating a multi-use credit card to use a new billing address.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    The multi-use credit card for which the billing address will be updated or added.
  • billingAddress: AddressInput
    The new billing address.
  • verification: PaymentMethodVerificationOptionsInput
    Input fields that specify options for verifying the credit card with the new billing address. By default, a verification will be performed. If the verification fails, the update will not be performed.

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

UpdateEmvCaptureDataInput
Input fields for storing emv data required for capture requests.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId: ID!
    The transaction id.
  • emvData: String!
    EMV data.

UpdateTransactionCustomFieldsInput
Input for creating or updating custom fields on a transaction.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transactionId: ID!
    The ID of the transaction to update.
  • customFields: [CustomFieldInput!]!
    The list of custom fields to update. You must [set up each custom field in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#creating-a-custom-field) prior to passing it with a request.

UpdateVenmoQRCodePaymentContextInput
Fields that are provided when updating a Venmo QR code payment context.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • id: ID!
    The identifier of the payment context.
  • status: VenmoQRCodePaymentContextStatus!
    The status of the payment context.
  • paymentMethodId: ID
    The single-use Venmo account payment method ID. This will be populated after the user has scanned the QR code and approved the payment.
  • userName: String
    The username associated with the payment.

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

UsBankAccountBusinessOwnerInput
The name of the owner of a business US bank account.
input:
  • businessName: String!
    The name of the business that owns the account.

UsBankAccountIndividualOwnerInput
The name of the owner of a personal US bank account.
input:
  • firstName: String!
    The first name of the accountholder.
  • lastName: String!
    The last name of the accountholder.

UsBankAccountInput
Input fields for a US bank account object.
input:

UsBankLoginInput
Input fields for a US bank login object.
input:
  • publicToken: String!
    The public token returned from the bank login.
  • accountId: String!
    The login provider account ID used for the bank login.
  • accountType: UsBankAccountType!
    The type of account.
  • businessOwner: 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: String!
    Language used to prove that you have the customer's explicit permission to debit their bank account.

VaultCreditCardExternalVaultOptionsInput
Options used to indicate when a credit card is externally vaulted.
input:
  • verifyingNetworkTransactionId: String
    For use if this credit card is stored in an external vault. The network transaction ID of the first _transaction_ after which this credit card was stored in the external vault.

VaultCreditCardInput
Top-level input field for vaulting a credit card so it can be used multiple times.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of an existing single-use credit card payment method to be vaulted.
  • verification: VaultCreditCardVerificationOptionsInput
    Input fields that specify options for verifying the credit card before vaulting. By default, a verification will be performed. If the verification fails, the credit card will not be vaulted.
  • externalVault: VaultCreditCardExternalVaultOptionsInput
    Options used to indicate when a credit card is externally vaulted.
  • customerId: ID
    ID of the customer to associate the resulting multi-use payment method with.
  • accountType: CardAccountType
    The type of account to be used when verifying a combo card.
  • billingAddress: AddressInput
    A billing address to associate with the vaulted credit card. If billing address data was included when tokenizing the credit card, it will be *merged* with this input value.
  • threeDSecurePassThrough: 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.
  • riskData: RiskDataInput
    Customer device information, which is sent directly to supported processors for fraud analysis.

VaultCreditCardVerificationOptionsInput
Input fields that specify options for verifying the vaulted credit card.
input:
  • merchantAccountId: ID
    ID of the merchant account to use when verifying the credit card. The verification will use the default merchant account if this field is left blank.
  • skip: Boolean
    Whether to opt out of verifying the credit card. Defaults to `false` for credit cards that support verification. Clients should only pass `true` in the uncommon scenario that the credit card has been verified externally to Braintree.
  • amount: Amount
    The amount to use to verify the credit card.

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!
    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 provide information about the resulting PayPal account.

VaultLimitedUsePayPalAccountOptionsInput
Input fields that provide 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 maximum of 127 characters. If specified, transactions created from the resulting payment method will have this orderId.
  • shippingAddress: AddressInput
    Shipping destination address information.

VaultPayPalBillingAgreementInput
Top-level input fields for importing and vaulting a PayPal Billing Agreement.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • billingAgreementId: String!
    ID of a PayPal Billing Agreement, that was not created through Braintree, to import and vault.
  • customerId: ID
    Optional ID of the customer to associate the resulting payment method with.
  • merchantAccountId: ID
    Optional ID of the merchant account associated with the linked PayPal account to be used to retrieve billing agreement details from PayPal. Only used for merchants with the PayPal multi-account feature enabled in Braintree.
  • indirectPayee: PayPalAccountInput
    The merchant (payee) PayPal account associated with the PayPal Billing Agreement being vaulted. Only used when the specified merchant account is specially configured to handle indirect PayPal accounts.

VaultPaymentMethodAfterTransactingInput
Specifies behavior for vaulting a single-use payment method after transacting with it.
input:

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!
    ID of an existing single-use payment method to be vaulted.
  • verification: PaymentMethodVerificationOptionsInput
    Input fields that specify options for verifying the payment method before vaulting. Only applicable if the payment method is of a type that supports verification. For supported types, verification is performed by default. If the verification fails, the payment method will not be vaulted.
  • customerId: 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.
  • riskData: RiskDataInput
    Customer device information, which is sent directly to supported processors for fraud analysis.

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!
    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: UsBankAccountVerificationMethod!
    Type of US bank account verification to perform.

VerificationSearchInput
Input fields for searching for verifications.
input:

VerifyCreditCardInput
Top-level input field for verifying a multi-use credit card.
input:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethodId: ID!
    ID of an existing multi-use payment method to be vaulted.
  • merchantAccountId: ID
    ID of the merchant account to use when verifying the credit card.
  • options: CreditCardVerificationOptionsInput
    Input fields for verifying a credit card.

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!
    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!
    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: UsBankAccountVerificationMethod!
    Type of US bank account verification to perform.

Objects

AcceptDisputePayload
Top-level field returned when accepting a dispute.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • dispute: Dispute
    Information about the dispute that was accepted.

AccessToken
An OAuth access token.
fields:
  • accessToken: String
    The access token.
  • refreshToken: String
    The refresh token for getting a new access token.
  • tokenType: OAuthTokenType
    The type of token.
  • expiresAt: String
    Expiration in ISO time format.

AccessTokenPayload
Top-level fields returned when obtaining an OAuth access token.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • accessToken: AccessToken
    The access token.

AccountRequest
Record of onboarding request.
fields:
  • id: ID!
    Unique identifier generated by PayPal for the onboarding request.

Address
Representation of an address.
fields:
  • company: String
    Company name.
  • addressLine1: String
    The first line of the street address, such as street number, street name.
  • addressLine2: String
    Extended address information, such as an apartment number or suite number.
  • fullName: String
    Full name.
  • adminArea2: String
    A city, town, or village.
  • adminArea1: String
    Highest level subdivision, such as state, province, or ISO-3166-2 subdivison.
  • postalCode: String
    Postal code, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
  • countryCode: CountryCode
    Country code for the address.
  • phoneNumber: String
    Phone number.

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

ApplePayOriginDetails
Additional information about the payment method specific to Apple Pay.
fields:
  • paymentInstrumentName: String
    A human-readable description of the Apple Pay payment method. This usually consists of the Apple Pay card type and its last four digits. If there is no underlying credit card, this will describe the customer's payment method and the parent CreditCardDetail object's last4 field will be null.
  • bin: 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 merchant's Apple Pay country code.
  • currencyCode: CurrencyCodeAlpha
    The merchant's Apple Pay currency code.
  • merchantIdentifier: String
    The merchant identifier that must be supplied when making an Apple Pay request.
  • supportedCardBrands: [CreditCardBrandCode!]
    A list of card brands supported by the merchant for Apple Pay.

AuthenticationInsight
Information about the [customer authentication regulation environment](https://developers.braintreepayments.com/guides/3d-secure/migration/javascript/v3#authentication-insight) that applies to the payment method when processed with the provided merchant account.
fields:
  • merchantAccountId: 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.
  • customerAuthenticationIndicator: CustomerAuthenticationIndicator
    A value indicating when to perform further customer authentication.

AuthorizationAdjustment
Records of authorization adjustments performed when a transaction is captured for less or more than its original authorization amount.
fields:

AuthorizationExpiredEvent
Accompanying information for an authorization expired transaction.
fields:
  • status: PaymentStatus
    The new status of the transaction.
  • timestamp: Timestamp
    Date and time when the authorization for this transaction was marked expired.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: PaymentSource
    The source for the transaction change to the new status.
  • terminal: Boolean
    Whether or not this is the final state for the transaction.

AuthorizedEvent
Accompanying information for an authorized transaction.
fields:
  • status: PaymentStatus
    The new status of the transaction.
  • timestamp: Timestamp
    Date and time when 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 can't request to settle more than this amount.
  • source: PaymentSource
    The source for the transaction change to the new status.
  • processorResponse: TransactionAuthorizationProcessorResponse
    Fields describing the payment processor response to the authorization request.
  • networkResponse: PaymentNetworkResponse
    Fields describing the network response to the authorization request.
  • riskDecision: RiskDecision
    Risk decision for this transaction.
  • terminal: Boolean
    Whether or not this is the final state for the transaction.
  • authorizationExpiresAt: Timestamp
    The date/time the transaction will expire if it has the authorized status. For more details on authorization expiration timeframes, see the [Statuses reference](https://developers.braintreepayments.com/reference/general/statuses#authorization-expired).

BinRecord
Information about the credit card based on its BIN.
fields:
  • prepaid: BinRecordValue
    Whether or not 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 or not 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 or not the card is a commercial card and capable of processing Level 2 transactions.
  • payroll: BinRecordValue
    Whether or not the card is designated for employee wages.
  • issuingBank: String
    The name of the bank that issued the card.
  • countryOfIssuance: CountryCode
    The country code of the country that issued the card.
  • 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.

CardPresentOriginDetails
Additional information about a card present payment method supplied by an in-store payment reader.
fields:
  • authorizationMode: InStoreReaderAuthorizationMode
    The authorization mode used to perform the transaction on the payment reader.
  • pinVerified: Boolean
    An indicator for whether the transaction was verified via pin.
  • inputMode: PaymentReaderInputMode
    The input mode used on the payment reader to facilitate an in-store transaction.
  • terminalId: String
    The ID of the terminal that was processed this transaction.

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

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

ClientSDKMetadata
Analytics data provided by a client SDK.
fields:
  • platform: String
    Name of the platform.
  • sessionId: String
    Session ID on the device.
  • version: String
    Version of the client SDK.
  • integration: String
    Name of the client SDK integration type (e.g. dropin or custom).

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.

CreateBusinessAccountPayload
The CreateBusinessAccountPayload object.
fields:
  • accountRequest: AccountRequest
    A record of onboarding request.
  • clientMutationId: String
    An identifier used to reconcile requests and responses.

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.

CreateDisputeTextEvidencePayload
Top-level field returned when creating text evidence for a dispute.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • evidence: DisputeTextEvidence
    The evidence object created.

CreateInStoreLocationPayload
Top-level fields returned when creating an in-store location.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • location: InStoreLocation
    The in-store location.

CreditCardConfiguration
Configuration for credit card tokenization.
fields:
  • supportedCardBrands: [CreditCardBrandCode!]
    A list of card brands supported by the merchant for credit card processing.
  • challenges: [Challenge!]
    A list of challenges that are required by the merchant to process a given credit card.
  • threeDSecure: ThreeDSecureConfiguration
    Configuration for 3D Secure.
  • fraudDataCollectionEnabled: Boolean
    Whether or not fraud data collection is enabled for the merchant.

CreditCardDetails
Details about a credit card.
fields:
  • brandCode: CreditCardBrandCode
    A static code identifying the card brand.
  • last4: String
    The last four digits of the 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 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.
  • 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.
  • billingAddress: Address
    The billing address associated with the credit card.
  • threeDSecure: ThreeDSecureDetails
    3D Secure information for the payment method.

CreditCardTransactionDetails
Credit card specific details on a transaction or verification.
fields:
  • creditCard: CreditCardDetails
    The details of the credit card itself.
  • networkTransactionId: String
    The network transaction identifier provided by the payment network. If this transaction was created in order to verify a payment method before storing it in an external vault, then this value can be pased when creating subsequent transactions with the same payment method.
  • accountType: CardAccountType
    For combo cards, what account type was used for this specific transaction.
  • acquirerReferenceNumber: String
    Reference value assigned to a card transaction once it has been processed.

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

CustomActionsPaymentContext
Top-level fields returned from a Custom Actions payment context.
fields:
  • id: ID!
    The identifier of the payment context.
  • createdAt: Timestamp!
    Date and time when the payment context was created.
  • updatedAt: Timestamp!
    Date and time when the payment context was updated.
  • customFields: [CustomActionsPaymentContextField!]
    A list of fields stored on a PaymentContext during execution of a Custom Actions handler (Five (5) entries maximum).

CustomActionsPaymentContextField
Fields returned by the createPaymentContext custom actions event handler.
fields:
  • name: String!
    An alphanumeric string used as a key to lookup a CustomField value (255 characters maximum).
  • value: String!
    An alphanumeric string used to store a CustomField value (7168 characters maximum).

CustomActionsPaymentContextPayload
Top-level fields returned from a created custom actions payment context.
fields:

CustomActionsPaymentMethodDetails
Details about a custom actions payment method.
fields:

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: [CustomField!]
    Collection of custom field/value pairs. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
  • defaultPaymentMethod: 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
    The phone number for this customer.
  • paymentMethods: PaymentMethodConnection
    args:
    Payment methods belonging to this customer.
  • transactions: TransactionConnection
    args:
    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 a single-use payment method.
interfaces:

CustomerConnection
A paginated list of customers.
fields:

CustomerConnectionEdge
A customer within a CustomerConnection.
fields:
  • cursor: String
    This customer's location within the CustomerConnection. Used for requesting additional pages.
  • node: Customer
    The customer.

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

DeleteDisputeEvidencePayload
Top-level field returned when deleting evidence from a dispute.
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.

DisbursementDetails
Disbursement details contain information about how and when the transaction was disbursed, including timing and currency information. This field is only available if you have an eligible merchant account.
fields:
  • date: Date
    The date that the funds associated with this transaction were disbursed.
  • amount: MonetaryAmount
    Amount of money disbursed in the settlement currency, which may be different than the transaction's [presentment currency](https://articles.braintreepayments.com/get-started/currencies).
  • exchangeRate: String
    The exchange rate from the presentment currency to the settlement currency. If the currencies are the same, this will be 1.
  • fundsHeld: Boolean
    Indicates whether funds have been withheld from a disbursement to the merchant's account.

Dispute
[A case raised by a customer to either request information about or to challenge a charge](https://articles.braintreepayments.com/risk-and-security/chargebacks-retrievals/overview). These are initiated via a customer's payment provider, such as their bank, and require a merchant to provide evidence or further information.
fields:
  • id: ID!
    Unique identifier.
  • legacyId: ID!
    Legacy unique identifier.
  • amountDisputed: 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
    Date the dispute was received by the merchant.
  • referenceNumber: String
    The transaction reference number for the dispute.
  • responseDeadline: Timestamp
    The deadline for the merchant to submit a response to the dispute.
  • replyByDate: Date
    The reply by date for the merchant to submit a response to the dispute.
  • type: DisputeType
    The type of dispute.
  • evidence: [DisputeEvidence!]
    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: [DisputeStatusEvent!]
    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:

DisputeConnection
A paginated list of disputes.
fields:

DisputeConnectionEdge
A dispute within a DisputeConnection.
fields:
  • cursor: String
    This dispute's location within the DisputeConnection. Used for requesting additional pages.
  • node: Dispute
    The dispute.

DisputeFileEvidence
Images, files, or other evidence supporting a dispute case.
fields:
  • id: ID!
    Unique identifier.
  • legacyId: ID!
    Legacy 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: DisputeEvidenceCategory
    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
    Date the dispute was received by the merchant.
  • referenceNumber: String
    The string value representing the reference number provided by the processor (if any).

DisputeStatusEvent
A record of a status the dispute has passed through.
fields:
  • disbursementDate: Date
    The date any funds associated with this event were disbursed.
  • status: DisputeStatus
    The status of the dispute.
  • timestamp: Timestamp
    Date and time when the status event occurred.
  • effectiveDate: Date
    The date the status event took effect.

DisputeTextEvidence
Text evidence supporting a dispute case.
fields:
  • id: ID!
    Unique identifier.
  • legacyId: ID!
    Legacy 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.
  • content: String
    The body for text evidence.
  • category: DisputeEvidenceCategory
    The evidence category.
interfaces:

EmvCardOriginDetails
Additional information about an integrated circuit card (ICC) payment method supplied by an in-store payment reader.
fields:
  • authorizationMode: InStoreReaderAuthorizationMode
    The authorization mode used to perform the transaction on the payment reader.
  • pinVerified: Boolean
    An indicator for whether the transaction was verified via pin.
  • inputMode: PaymentReaderInputMode
    The input mode used on the payment reader to facilitate an in-store transaction.
  • terminalId: String
    The ID of the terminal that was processed this transaction.
  • applicationPreferredName: String
    The preferred name associated with the application used to process an EMV transaction.
  • applicationIdentifier: String
    The identifier specifying which EMV application was used to process the transaction.
  • terminalVerificationResult: String
    A status code representing the result of a series of validations performed against an EMV enabled credit card.
  • cardSequenceNumber: String
    A unique identifier for credit cards that share the same PAN.
  • applicationInterchangeProfile: String
    An indicator of the credit card's capabilities within the processing application.
  • terminalTransactionDate: String
    The local date that the transaction requested authorization from the payment reader, formatted YYMMDD.
  • terminalTransactionType: String
    An indicator of the type of transaction specified during authorization processing.
  • cashbackAmount: String
    An additional amount associated with the transaction that represents the cashback amount requested by the cardholder.
  • applicationUsageControl: String
    An indicator used to specify an issuer's restrictions for processing in a geographic region.
  • terminalCountryCode: String
    The country code indicated by the payment reader to process the transaction with.
  • applicationCryptogram: String
    The cryptogram provided by an integrated circuit card (ICC) used for processing the transaction.
  • cryptogramInformationData: String
    An indicator for the type of application cryptogram provided by an integrated circuit card (ICC) to process the transaction.
  • cardholderVerificationMethodResults: String
    An indicator of the cardholder verification method and if it was successful or unsuccessful.
  • applicationTransactionCounter: String
    A counter managed by an integrated circuit card (ICC) that provides a reference to each transaction using that card.
  • unpredictableNumber: String
    A value used to uniquely differentiate an application cryptogram used during authorization processing.
  • issuerActionCodeDefault: String
    An indicator of the conditions that caused a transaction to be offline declined by the issuer, in a scenario where the transaction may have authorized if the payment reader made a processor request but was unable to.
  • issuerActionCodeDenial: String
    An indicator of the conditions that caused a transaction to be offline declined by the issuer, in a scenario where the payment reader did not attempt to make a processor request.
  • issuerActionCodeOnline: String
    An indicator of the conditions that caused the payment reader to attempt to make a processor request.

FacilitatorDetails
Fields capturing information about a third party that provided payment information for this transaction via the Grant API, Shared Vault, or Google Pay.
fields:
  • oauthApplication: OAuthApplication
    The OAuth application that owns the payment information used to create the transaction.

FailedEvent
Accompanying information for a transaction that failed because it could not be successfully sent to the processor.
fields:
  • status: PaymentStatus
    The new status of the transaction.
  • timestamp: Timestamp
    Date and time when the transaction failed.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: PaymentSource
    The source for the transaction change to the new status.
  • processorResponse: TransactionAuthorizationProcessorResponse
    Fields describing the payment processor response, or an explanation for the lack thereof.
  • networkResponse: PaymentNetworkResponse
    Fields describing the network response to the authorization request.
  • riskDecision: RiskDecision
    Risk decision for this transaction.
  • terminal: Boolean
    Whether or not this is the final state for the transaction.

FinalizeDisputePayload
Top-level field returned when finalizing a dispute.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • dispute: Dispute
    Information about the dispute that was finalized.

FraudProviderConfiguration
Configuration for fraud protection provider.
fields:
  • merchantId: String
    The merchant ID used by the fraud protection provider to identify the fraud data collection request.
  • name: String
    The name of the fraud provider.

GatewayRejectedEvent
Accompanying information for a gateway rejected transaction.
fields:
  • status: PaymentStatus
    The new status of the transaction.
  • timestamp: Timestamp
    Date and time when the transaction was rejected by the gateway.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: PaymentSource
    The source for the transaction change to the new status.
  • gatewayRejectionReason: GatewayRejectionReason
    The reason the transaction was rejected, based on your gateway settings.
  • processorResponse: TransactionAuthorizationProcessorResponse
    Fields describing the payment processor response. Depending on your gateway settings, the AVS and CVV responses may be the reason for the rejection.
  • networkResponse: PaymentNetworkResponse
    Fields describing the network response to the authorization request.
  • riskDecision: RiskDecision
    Risk decision for this transaction. If the gatewayRejectionReason is fraud, this may be the reason for the rejection.
  • terminal: Boolean
    Whether or not this is the final state for the transaction.
  • duplicateOf: Transaction
    The original transaction if the gateway rejection reason was `DUPLICATE`.

GenerateInStoreReaderPairingCodePayload
Top-level fields returned when generating a pairing code for an in-store reader.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • deviceCode: String
    Reader specific identification code.
  • userCode: String
    Generated code used to pair this reader with a merchant.
  • verificationUri: String
    Redirect URI used for verification of the reader.
  • expiresIn: Int
    Time to expiration of the generated user and device codes.

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.
  • 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 by the merchant for Google Pay.

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

InStoreContext
Reference object for an in-store charge request.
fields:
  • id: ID!
    A unique ID for this charge request.
  • transaction: Transaction
    The transaction representing the charge on the payment method.
  • refund: Refund
    The refund representing the refund on the payment method.
  • reader: InStoreReader
    The reader requested to be charged.
  • status: InStoreContextStatus!
    The status of the context created when the charge was requested. A status of COMPLETE does not indicate a successful payment.
interfaces:

InStoreContextPayload
Top-level fields returned when requesting a state change on an in-store reader.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • inStoreContext: InStoreContext
    The in-store context created when the charge flow is initiated.

InStoreLocation
An in-store location.
fields:

InStoreLocationAddress
Input fields for an in-store location address.
fields:
  • streetAddress: String
    The street address.
  • extendedAddress: String
    Extended address information, such as an apartment or suite number.
  • locality: String
    Locality/city.
  • region: String
    State or province.
  • postalCode: String
    Postal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.
  • countryCode: CountryCode
    Country code for the address.

InStoreReader
An in-store payment card reader.
fields:

InStoreReaderPayload
Top-level fields returned for an in-store reader.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • reader: InStoreReader
    The reader.

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

LocalPaymentDetails
Local payment specific details on a transaction.
fields:
  • origin: PaymentMethodOrigin
    Additional information about the local payment method provided from a third-party origin, such as PayPal or another regional payment method provider.
  • type: LocalPaymentMethodType
    Regional payment method selected by the customer.
  • displayName: String
    Description of the payment method that can be displayed to customers.

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 by the merchant for Masterpass.

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.
  • merchantAccounts: MerchantAccountConnection
    args:
    A paginated list of merchant accounts that belongs to this merchant.

MerchantAccount
Information about a merchant account associated with a merchant.
fields:
  • id: ID!
    Unique identifier for the merchant account. Used to determine what merchant account processed or will process a given Payment.
  • currencyCode: CurrencyCodeAlpha
    The ISO code for the currency the merchant account uses.
  • status: MerchantAccountStatus
    The status of a merchant account. This determines whether the merchant account can be used to create a Payment.
  • isDefault: Boolean
    Whether this merchant account is the default for this merchant. The default merchant account is used to process all Payments where a merchant account ID is not specified.

MerchantAccountApplication
A record of a merchant account application.
fields:
  • id: ID!
    A unique ID for the account application. Can be used to query the status of the onboarding request in the future.
  • legacyId: ID!
    Legacy unique ID.
  • status: ApplicationStatus
    The status of the application.

MerchantAccountApplicationPayload
Top-level fields returned when submitting an application for a merchant account.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • merchantAccountApplication: MerchantAccountApplication
    The Merchant Account Application.

MerchantAccountConnection
A paginated list of merchant accounts.
fields:

MerchantAccountConnectionEdge
A merchant account within a MerchantAccountConnection.
fields:
  • cursor: String
    This merchant account's location within the MerchantAccountConnection. Used for requesting additional pages.
  • node: MerchantAccount
    The merchant account.

MonetaryAmount
A monetary amount with currency.
fields:
  • value: Amount
    The amount of money, either a whole number or a number with up to 3 decimal places.
  • currencyCode: CurrencyCodeAlpha
    The currency code for the monetary amount.

Mutation
The top-level Mutation type. Mutations are used to make requests that create or modify data.
fields:

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.

OAuthApplication
Information about an OAuth Application.
fields:
  • clientId: String
    The unique identifier of the OAuth application.
  • name: String
    The name of the OAuth application.

PageInfo
The page information for a connection.
fields:
  • hasNextPage: Boolean!
    Whether or not there is a next page available.
  • hasPreviousPage: Boolean!
    Always false; backwards pagination is not supported. Present to comply with Relay specifications.
  • startCursor: 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: [Transaction!]
    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.
  • billingAddress: Address
    The billing address associated with the PayPal account.
  • email: String
    The email address associated with the PayPal account.
  • phone: String
    The primary phone number 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.
  • cobrandedCardLabel: String
    The label of the co-branded card used as a funding source.
  • origin: PaymentMethodOrigin
    Additional information if the PayPal account was provided from a third-party origin, such as Apple Pay, Google Pay, or another digital wallet.
  • limitedUseOrderId: String
    Limited use PayPal provided Order ID (starts with O-).

PayPalConfiguration
Configuration for PayPal.
fields:
  • displayName: String
    The merchant's company name for displaying 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.
  • unvettedMerchant: Boolean
    Whether or not 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.

PayPalFinancingOption
PayPal financing options available for a transaction.
fields:

PayPalFinancingOptionsPayload
PayPal financing options response payload.
fields:

PayPalLocalPaymentOriginDetails
Additional information about the local payment method specific to PayPal.
fields:
  • 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.
  • paymentId: String
    The identification value of the payment within PayPal's API.
  • transactionFee: MonetaryAmount
    The fee charged by PayPal for the transaction.

PayPalLocalPaymentRefundDetails
PayPal local payment specific refund details.
fields:
  • refundId: String
    The PayPal refund ID.
  • refundedFee: MonetaryAmount
    Refunded transaction fee charged by PayPal.

PayPalQualifyingFinancingOption
PayPal qualifying financing options for a product.
fields:
  • apr: Percentage
    APR percentage.
  • nominalRate: Percentage
    Nominal rate percentage.
  • term: Int
    Total number of payments over which to finance the transaction.
  • intervalDuration: Duration
    The duration between each interval or payment.
  • countryCode: CountryCodeAlpha2
    The country or region for the financing option.
  • creditType: PayPalFinancingOptionCreditType
    Credit type.
  • minimumAmount: MonetaryAmount
    The minimum qualifying amount for a transaction.
  • monthlyInterestRate: Percentage
    The monthly interest rate for this financing option.
  • periodicPayment: MonetaryAmount
    The amount for transaction periodic payments.
  • monthlyPayment: MonetaryAmount
    The amount for transaction monthly payments.
  • discountAmount: MonetaryAmount
    The discount amount on the transaction for this financing option.
  • discountPercentage: Percentage
    The discount percentage for this financing option.
  • totalInterest: MonetaryAmount
    The total interest cost for this financing option.
  • totalCost: MonetaryAmount
    The total amount for the transaction, including interest.
  • paypalSubsidized: Boolean
    Indicates whether the financing option's credit fee is funded by PayPal.

PayPalRefundDetails
PayPal-specific refund details.
fields:
  • refundId: String
    The PayPal refund ID.
  • refundedFee: MonetaryAmount
    Refunded transaction fee charged by PayPal.

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 or not the PayPal account has been verified by PayPal.
  • paymentId: String
    The identification value of the payment within PayPal's API.
  • sellerProtectionStatus: String
    Whether or not 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.
  • transactionFee: MonetaryAmount
    The fee charged by PayPal for the transaction.
  • description: String
    Description of the transaction that is displayed to customers in PayPal email receipts.
  • origin: PaymentMethodOrigin
    Additional information if the credit card was provided from a third-party origin, such as Google Pay.
  • selectedFinancingOption: SelectedPayPalFinancingOptionDetails
    Buyer selected financing option at the time of creating a transaction.

PayPalTransactionPayload
Top-level output field from creating a PayPal transaction.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • transaction: Transaction
    The transaction representing the charge on the payment method.
  • billingAgreementWithPurchasePaymentMethod: PaymentMethod
    If the paymentMethodId passed to this mutation was a single-use PayPal payment method created with the [Billing Agreement with Purchase flow](https://developers.braintreepayments.com/guides/paypal/checkout-with-paypal/javascript/v3#checkout-using-paypal-billing-agreement-with-purchase-flow), then this field will be populated with a multi-use PayPal payment method created alongside the transaction. Otherwise, this will be null.

PaymentConnection
A paginated list of transactions and refunds.
fields:
  • edges: [PaymentConnectionEdge]
    A list of transactions and refunds.
  • pageInfo: PageInfo!
    Information about the page of transactions and refunds contained in `edges`.

PaymentConnectionEdge
A transaction or refund within a PaymentConnection.
fields:
  • cursor: String
    This transaction or refund's location within the PaymentConnection. Used for requesting additional pages.
  • node: Payment
    The transaction or refund.

PaymentLevelFeeReport
The [payment-level fee report (formerly known as the transaction-level fee report)](https://articles.braintreepayments.com/control-panel/reporting/transaction-level-fee-report) provides a breakdown of fees per individual payments (encompassing transactions and refunds).
fields:
  • url: String
    The URL where the generated report is stored. Download the report from this URL.

PaymentMethod
Top-level field representing a payment method.
fields:
  • id: ID!
    Unique identifier.
  • legacyId: ID!
    Legacy unique identifier. May be the same as ID for single-use payment methods.
  • usage: PaymentMethodUsage
    Whether a payment method may be used only once or multiple times.
  • createdAt: Timestamp
    Date and time when the payment method was vaulted.
  • details: PaymentMethodDetails
    Details about the payment method specific to the type (e.g. credit card, PayPal account).
  • verifications: VerificationConnection
    args:
    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:

PaymentNetworkResponse
The network response. When present, this field can provide additional detail about why an authorization or verification was declined, but the processorResponse should be considered the source of truth.
fields:
  • code: String
    The network response code for [authorizations](https://developers.braintreepayments.com/reference/response/transaction/#network-response-codes) or [verifications](https://developers.braintreepayments.com/reference/response/credit-card-verification#network-response-codes).
  • message: String
    The network response text.

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.

PreferredPaymentMethodsPayload
Top-level fields returned when fetching a customer's preferred payment methods.
fields:
  • venmoPreferred: Boolean
    Probabilistic determination of whether Venmo is a preferred payment method.
  • paypalPreferred: Boolean
    Probabilistic determination of whether PayPal is a preferred payment method.

ProcessorDeclinedEvent
Accompanying information for a processor declined transaction.
fields:
  • status: PaymentStatus
    The new status of the transaction.
  • timestamp: Timestamp
    Date and time when the transaction was declined by the processor.
  • amount: MonetaryAmount
    The amount of the transaction for this status event.
  • source: PaymentSource
    The source for the transaction change to the new status.
  • declineType: ProcessorDeclineType
    Whether or not the decline is the result of a temporary issue.
  • processorResponse: TransactionAuthorizationProcessorResponse
    Fields describing the payment processor response and why they declined the transaction.
  • networkResponse: PaymentNetworkResponse
    Fields describing the network response to the authorization request.
  • riskDecision: RiskDecision
    Risk decision for this transaction.
  • terminal: Boolean
    Whether or not 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
    args:
    Fetch any object that extends the Node interface using its ID.
  • idFromLegacyId: ID!
    args:
    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.
  • paypalFinancingOptions: PayPalFinancingOptionsPayload
    Retrieve PayPal financing options that include payment installment plans.

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
    Date and time when 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: PaymentStatus
    The current status of this refund.
  • statusHistory: [PaymentStatusEvent!]
    The records of all statuses this refund has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.
  • details: RefundPaymentMethodDetails
    Payment method specific details about the refund.
  • merchantAccountId: ID
    The ID of the merchant account that processed this refund.
  • source: PaymentSource
    How the refund was created.
  • refundedTransaction: Transaction
    The original transaction that this refunds. If this is not present, then this refund represents a refund of a transaction that does not belong to this Braintree gateway account.
  • paymentMethodSnapshot: PaymentMethodSnapshot
    Snapshot of payment method details that will receive the refund, typically based on the original transaction. This will always be present. Equivalent to `refundedTransaction.paymentMethodSnapshot`.
  • paymentMethod: PaymentMethod
    The multi-use payment method that will receive the refund. Only present if a multi-use payment method was used to create the original transaction and it has not been since deleted. The details of this PaymentMethod may have changed since the transaction was created; details used for the transaction can be found in the `paymentMethodSnapshot` field. Equivalent to `refundedTransaction.paymentMethod` (if present).
  • customer: Customer
    The customer that the vaulted payment method (if it exists) belongs to. Equivalent to `refundedTransaction.customer` (if present).
  • lineItems: [TransactionLineItem!]
    Line items for this refund.
  • customFields: [CustomField!]
    Collection of custom field/value pairs passed when creating the refund. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields). For all refunds except "detached refunds", these will always be null.
  • descriptor: TransactionDescriptor
    Fields used to define what will appear on a customer's statement (for instance, credit card or bank statement) for this refund. This will always match the descriptor from the refunded transaction (if present).
interfaces:

RefundConnection
A paginated list of refunds.
fields:

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

RefundCreditCardPayload
Top-level output field from creating a detached refund for a credit card.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • refund: Refund
    The information about the created 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 created refund.

RefundUsBankAccountPayload
Top-level output field from creating a detached refund for a US Bank Account.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • refund: Refund
    The information about the created refund.

RemoveCreditCardFromAccountUpdaterPayload
Top-level fields returned when removing credit cards from Account Updater.
fields:
  • clientMutationId: String
    An identifier used to reconcile requests and responses.
  • paymentMethods: [PaymentMethod]
    The credit cards that were submitted to be removed from Account Updater. Cards that were unsuccessfully submitted will have a null entry in the list in the same position as they were submitted and an associated error.

Report
Top-level fields returned for a report query.
fields:
  • paymentLevelFees: PaymentLevelFeeReport
    args:
    • date: Date!
    • merchantAccountId: ID
    Top-level fields returned in the payment-level fee report query.

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
    A 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 fraud service provider used to generate the risk decision.

Role
Groups of rights assigned to the user.
fields:
  • id: ID!
    Unique identifier.
  • name: String
    A human-readable name.
  • isAccountAdmin: Boolean
    Whether the role grants account admin status.
  • rights: [Right!]
    The rights associated with the role.

SamsungPayCardDetails
Details about a Samsung Pay card.
fields:
  • brand: String
    The display name of the card brand, e.g. "Visa" or "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 card based on its BIN. This BIN will differ from the BIN of the source (customer's actual) card.
  • sourceCardLast4: CreditCardLast4
    The 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 by the merchant for Samsung Pay.

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.