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:
  • legacyId:ID
output:

report

The available reports.

output:

Mutation

authorizePaymentMethod

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


captureTransaction

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


chargePaymentMethod

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


chargeUsBankAccount

Charge a US bank account and return a payload that includes details of the resulting transaction. See https://developers.braintreepayments.com/guides/ach/configuration for information on eligibility and setup.


chargePayPalAccount

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


chargeVenmoAccount

Charge a Venmo account and return a payload that includes details of the resulting transaction. See https://articles.braintreepayments.com/guides/payment-methods/venmo for information on eligibility and setup.


vaultPaymentMethod

Vault payment information from a single-use payment method and return a payload that includes a new multi-use payment method.


refundTransaction

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


reverseTransaction

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


verifyPaymentMethod

Run a verification on a multi-use payment method.


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.


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.


tokenizeSamsungPayCard

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


tokenizeUsBankAccount

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


tokenizeUsBankLogin

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


createCustomer

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


updateCustomer

Update a customer's information.


deleteCustomer

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


deletePaymentMethodFromSingleUseToken

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


Interfaces

Node

Relay compatible Node interface.

fields:
  • id:ID

    Global ID for a given object.

output:

TransactionStatusEvent

Status event in the lifecycle of a transaction.

fields:
  • timestamp:Timestamp

    Date and time at which the status event occurred.

  • amount:MonetaryAmount

    Amount of the transaction applicable to the status.

  • terminal:Boolean

    Whether this is the final state for the transaction. If false, this transaction will pass into another subsequent state.


Enums

ACHStandardEntryClassCode

A NACHA standard entry class (SEC) code, which designates how an ACH transaction was authorized.

enum values:
  • CCD

    Corporate credit or debit.

  • PPD

    Prearranged payment and deposit.

  • TEL

    Telephone-initiated.

  • WEB

    Internet-initiated/mobile.


ApplePayStatus

The environment being used for Apple Pay.

enum values:
  • MOCK
  • OFF
  • PRODUCTION
  • mock
  • off
  • production

AvsCvvResponseCode

Response codes from the processing bank's Address Verification System (AVS) and CVV verification.

enum values:
  • BYPASS
  • DOES_NOT_MATCH
  • ISSUER_DOES_NOT_PARTICIPATE
  • MATCHES
  • NOT_APPLICABLE
  • NOT_PROVIDED
  • NOT_VERIFIED
  • SYSTEM_ERROR

BinRecordValue

A boolean-like value that includes UNKNOWN in the case where the information isn't available.

enum values:
  • NO
  • UNKNOWN
  • YES
  • No
  • Unknown
  • Yes

Challenge

A list of challenges that are required by the current merchant to process a given credit card.

output:
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

CreditCardBrandCode

A code identifying the card brand.

enum values:
  • AMERICAN_EXPRESS
  • DINERS
  • DISCOVER
  • INTERNATIONAL_MAESTRO
  • JCB
  • MASTERCARD
  • SOLO
  • UK_MAESTRO
  • UNION_PAY
  • UNKNOWN
  • VISA
  • american_express
  • diners
  • discover
  • international_maestro
  • jcb
  • mastercard
  • solo
  • uk_maestro
  • union_pay
  • unknown
  • visa

CustomerAuthenticationRegulationEnvironment

The customer authentication regulation environment that applies to the transaction, such as PSD2.

enum values:
  • PSDTWO

    EU Regulation PSD2 Strong Customer Authentication applies to this transaction.

  • UNAVAILABLE

    Customer authentication regulation environment information is unavailable for this transaction at this time.

  • UNREGULATED

    No customer authentication regulations apply to this transaction.


FraudServiceProvider

The third-party provider used to generate the risk decision.

enum values:
  • FRAUD_PROTECTION
  • KOUNT

GatewayRejectionReason

Possible reasons why a transaction was rejected by the gateway.

enum values:
  • APPLICATION_INCOMPLETE
  • AVS
  • AVS_AND_CVV
  • CVV
  • DUPLICATE
  • FRAUD
  • THREE_D_SECURE
  • TOKEN_ISSUANCE

GooglePayEnvironment

The environment being used for Google Pay.

enum values:
  • PRODUCTION
  • SANDBOX
  • production
  • sandbox

LegacyIdType

The type of object the legacyId represents when converting legacyId to ID.

enum values:
  • CUSTOMER
  • PAYMENT_METHOD
  • REFUND
  • TRANSACTION
  • VERIFICATION

PayPalEnvironment

The environment being used for PayPal.

enum values:
  • CUSTOM
  • LIVE
  • OFFLINE
  • custom
  • live
  • offline

PaymentMethodOriginType

A value identifying the third-party origin from which a customer provided their payment method.

enum values:
  • APPLE_PAY
  • GOOGLE_PAY
  • MASTERPASS
  • 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_SAMSUNG_PAY
  • CREDIT_CARD_VIA_VISA_CHECKOUT
  • PAYPAL
  • US_BANK_ACCOUNT
  • VENMO_ACCOUNT

PaymentMethodUsage

Possible usages for payment methods.

enum values:
  • MULTI_USE
  • SINGLE_USE

ProcessorDeclineType

Whether the decline is likely to be temporary or persistent. Can be taken into consideration when determining whether to retry a declined charge.

enum values:
  • HARD

    Hard declines are the result of an error or issue which can't be resolved immediately; the decline is not temporary and subsequent charges on the same payment method will likely not be successful.

  • SOFT

    Soft declines result from a temporary issue and can be retried; subsequent charges on the same payment method may be successful.


RecurringType

The type of recurring payment a transaction represents.

enum values:
  • FIRST
  • SUBSEQUENT
  • UNSCHEDULED

RiskDecision

The risk decision provides further context on how a transaction was scored for risk by Braintree.

enum values:
  • APPROVE
  • DECLINE
  • NOT_EVALUATED
  • REVIEW

SamsungPayEnvironment

The environment being used for Samsung Pay.

enum values:
  • PRODUCTION
  • SANDBOX

TransactionLineItemType

Indicates whether a transaction line item is a debit (sale) or credit (refund).

enum values:
  • CREDIT
  • DEBIT

TransactionSource

The origin of a request that created or changed a transaction.

enum values:
  • API
  • CONTROL_PANEL
  • RECURRING
  • UNKNOWN

TransactionStatus

The status of the transaction, indicating where it is in the transaction lifecycle and its success or failure. For further details on why any given status occurred, consult the corresponding TransactionStatusEvent in the transaction's statusHistory.

enum values:
  • AUTHORIZATION_EXPIRED

    The transaction spent too much time in the AUTHORIZED status and was marked as expired. Expiration time frames differ by card type, transaction type, and, in some cases, merchant category.

  • AUTHORIZED

    The processor authorized the transaction, putting your customer's funds on hold. Your customer may see a pending charge on his or her account. However, before the customer is actually charged and before you receive the funds, you must use the captureTransaction mutation. If you do not want to capture the transaction, you should use the reverseTransaction mutation to avoid a misuse of authorization fee.

  • AUTHORIZING

    If a transaction remains in a status of AUTHORIZING, contact Braintree Support for assistance.

  • FAILED

    An error occurred when sending the transaction to the downstream processor. See the transaction's statusHistory for the exact error.

  • GATEWAY_REJECTED

    The transaction was rejected based on one or more settings or rules in your Braintree gateway. See the transaction's statusHistory to determine which resulted in the decline.

  • PROCESSOR_DECLINED

    The processor declined the transaction while attempting to authorize it. See the transaction's statusHistory to determine what reason the processor gave for the decline.

  • SETTLED

    The transaction has been settled, meaning your customer has been charged and the process of disbursing the funds to your bank account will begin.

  • SETTLEMENT_CONFIRMED
  • SETTLEMENT_DECLINED

    The processor declined the transaction while attempting to capture it. See the transaction's statusHistory to detemine why it was not settled. This status is rare, and only certain types of transactions can be affected.

  • SETTLEMENT_PENDING

    The transaction has not yet fully settled. This status is rare, and will generally resolve to a status of SETTLED. Only certain types of transactions can be affected.

  • SETTLING

    The transaction is in the process of being settled. This is a transitory state, and will resolve to a status of SETTLED.

  • SUBMITTED_FOR_SETTLEMENT

    The transaction has been successfully captured, and will be included in the next settlement batch, at which time it will become settled.

  • VOIDED

    The transaction was voided, meaning it is no longer authorized, your customer's funds are no longer on hold, and you cannot use the captureTransaction mutation on this transaction.


UsBankAccountOwnershipType

The ownership type of U.S. Bank Account.

enum values:
  • BUSINESS
  • PERSONAL

UsBankAccountType

The type of U.S. Bank Account.

enum values:
  • CHECKING
  • SAVINGS

UsStateCode

A two-letter code representing a U.S. state or territory.

enum values:
  • AK
  • AL
  • AR
  • AS
  • AZ
  • CA
  • CO
  • CT
  • DC
  • DE
  • FL
  • GA
  • GU
  • HI
  • IA
  • ID
  • IL
  • IN
  • KS
  • KY
  • LA
  • MA
  • MD
  • ME
  • MI
  • MN
  • MO
  • MP
  • MS
  • MT
  • NC
  • ND
  • NE
  • NH
  • NJ
  • NM
  • NV
  • NY
  • OH
  • OK
  • OR
  • PA
  • PR
  • RI
  • SC
  • SD
  • TN
  • TX
  • UM
  • UT
  • VA
  • VI
  • VT
  • WA
  • WI
  • WV
  • WY

UserStatus

The status of a User.

output:
enum values:
  • ACTIVE
  • DELETED
  • PASSIVE
  • PENDING
  • SUSPENDED

VenmoEnvironment

The environment being used for Pay with Venmo.

enum values:
  • PRODUCTION
  • SANDBOX
  • production
  • sandbox

VerificationStatus

The status of the verification, indicating whether the payment method was successfully verified. Braintree recommends only vaulting payment methods with successful verifications.

enum values:
  • FAILED

    Indicates the verification was unsuccessful because of an issue communicating with the processor.

  • GATEWAY_REJECTED

    Indicates that the verification was unsuccessful because the payment method failed one or more fraud checks. In this case, the gatewayRejectionReason will indicate which fraud check failed.

  • PROCESSOR_DECLINED

    Indicates that the verification was unsuccessful based on the response from the processor.

  • VERIFIED

    Indicates that the verification was successful.


__DirectiveLocation

An enum describing valid locations where a directive can be placed

enum values:
  • QUERY

    Indicates the directive is valid on queries.

  • MUTATION

    Indicates the directive is valid on mutations.

  • FIELD

    Indicates the directive is valid on fields.

  • FRAGMENT_DEFINITION

    Indicates the directive is valid on fragment definitions.

  • FRAGMENT_SPREAD

    Indicates the directive is valid on fragment spreads.

  • INLINE_FRAGMENT

    Indicates the directive is valid on inline fragments.

  • SCHEMA

    Indicates the directive is valid on a schema SDL definition.

  • SCALAR

    Indicates the directive is valid on a scalar SDL definition.

  • OBJECT

    Indicates the directive is valid on an object SDL definition.

  • FIELD_DEFINITION

    Indicates the directive is valid on a field SDL definition.

  • ARGUMENT_DEFINITION

    Indicates the directive is valid on a field argument SDL definition.

  • INTERFACE

    Indicates the directive is valid on an interface SDL definition.

  • UNION

    Indicates the directive is valid on an union SDL definition.

  • ENUM

    Indicates the directive is valid on an enum SDL definition.

  • ENUM_VALUE

    Indicates the directive is valid on an enum value SDL definition.

  • INPUT_OBJECT

    Indicates the directive is valid on an input object SDL definition.

  • INPUT_FIELD_DEFINITION

    Indicates the directive is valid on an input object field SDL definition.


__TypeKind

An enum describing what kind of type a given __Type is

output:
enum values:
  • SCALAR

    Indicates this type is a scalar.

  • OBJECT

    Indicates this type is an object. fields and interfaces are valid fields.

  • INTERFACE

    Indicates this type is an interface. fields and possibleTypes are valid fields.

  • UNION

    Indicates this type is a union. possibleTypes is a valid field.

  • ENUM

    Indicates this type is an enum. enumValues is a valid field.

  • INPUT_OBJECT

    Indicates this type is an input object. inputFields is a valid field.

  • LIST

    Indicates this type is a list. ofType is a valid field.

  • NON_NULL

    Indicates this type is a non-null. ofType is a valid field.


Inputs

AddressInput

Input fields for an Address.

input:
  • company:String

    Company name. 255 character maximum.

  • streetAddress:String

    The street address. 255 character maximum.

  • extendedAddress:String

    Extended address information, such as apartment or suite number. 255 character maximum.

  • firstName:String

    First name. 255 character maximum.

  • lastName:String

    Last name. 255 character maximum.

  • locality:String

    Locality/city. 255 character maximum.

  • region:String

    State or province. 255 character maximum.

  • postalCode:String

    Postal code in any country's format, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code. Nine alphanumeric characters maximum, may also contain spaces and hyphens. Required for Level 3 processing on TransactionInput.

  • countryCode:CountryCodeAlpha3

    Country code for the address in ISO 3166-1 alpha-3 format. Required for Level 3 processing on TransactionInput.

  • countryCodeAlpha3:String

    Country code for the address in ISO 3166-1 alpha-3 format.

  • countryCodeAlpha2:String

    Country code for the address in ISO 3166-1 alpha-2 format.

  • countryCodeNumeric:String

    Country code for the address in ISO 3166-1 numeric format.

  • countryName:String

    Country name for the address.


AuthenticationInsightInput

Input fields when requesting authentication insight for a payment method.

input:
  • merchantAccountId

    ID of the merchant account that will be used when charging this payment method.


AuthorizePaymentMethodInput

Top-level input fields for creating a transaction by authorizing a payment method.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    ID of a payment method to be authorized.

  • transaction

    Input fields for the authorization, with details that will define the resulting transaction.


CaptureTransactionInput

Top-level input fields for capturing an authorized transaction.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • transactionId

    ID of a transaction to be captured.

  • amount:Amount

    The amount to capture on the transaction. Must be greater than 0. You can't capture more than the authorized amount unless your industry and processor support settlement adjustment (capturing a certain percentage over the authorized amount); contact Braintree support for details. If you capture an amount that is less than what was authorized, the transaction object will return the amount captured.


CaptureTransactionOptionsInput

Input fields for a capture, with details that will define the resulting transaction.

input:
  • amount:Amount

    The amount to capture on the transaction. Must be greater than 0. You can't capture more than the authorized amount unless your industry and processor support settlement adjustment (capturing a certain percentage over the authorized amount); contact Braintree support for details. If you capture an amount that is less than what was authorized, the transaction object will return the amount captured.

  • descriptor:TransactionDescriptorInput

    Fields used to define what will appear on a customer's bank statement for a specific purchase. If specified, this will update the existing descriptor on the transaction.

  • orderId:String

    Additional information about the transaction. On PayPal transactions, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal transactions. If specified, this will update the existing order ID on the transaction.


ChargePayPalAccountInput

Top-level input fields for creating a transaction by charging a PayPal account.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    The ID of an existing PayPal account.

  • transaction

    Input fields for the charge, with details that will define the resulting transaction.


ChargePayPalAccountOptionsInput

Input fields for creating a transaction with a PayPal account.

input:
  • customField:String

    Variable passed directly to PayPal for your own tracking purposes. Customers do not see this value.

  • description:String

    Description of the transaction that is displayed to customers in PayPal email receipts.


ChargePaymentMethodInput

Top-level input fields for creating a transaction by charging a payment method.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    ID of a payment method to be charged.

  • transaction

    Input fields for the charge, with details that will define the resulting transaction.


ChargeUsBankAccountInput

Top-level input fields for creating a transaction by charging a US bank account.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    The ID of an existing US bank account.

  • transaction

    Input fields for the charge, with details that will define the resulting transaction.


ChargeUsBankAccountOptionsInput

Input fields for creating a transaction with a US bank account.

input:
  • standardEntryClassCode:ACHStandardEntryClassCode

    A NACHA standard entry class (SEC) code, which designates how the transaction was authorized. Most internet-based sales should use the WEB code.


ChargeVenmoAccountInput

Top-level input fields for creating a transaction by charging a Venmo account.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    The ID of an existing Venmo account.

  • transaction

    Input fields for the charge, with details that will define the resulting transaction.


ChargeVenmoAccountOptionsInput

Input fields for creating a Pay with Venmo transaction.

input:
  • profileId:String

    Specifies which Venmo business profile to use for the transaction.


ClientTokenInput

Input fields for creating a client token.

input:
  • merchantAccountId:ID

    Merchant account ID used to create the client token. Defaults to your default merchant account ID.

  • customerId:ID

    An ID of an existing customer. Including this will allow your customer to vault and manage their payment methods.


CreateClientTokenInput

Top-level input field for generating a client token.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


CreateCustomerInput

Top-level field for creating a customer.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


CreditCardInput

Input fields for a credit card object.

input:
  • number:String

    The 12-to-19-digit value that uniquely identifies this credit card, also known as the primary account number or PAN.

  • expirationYear:String

    The two- or four-digit year associated with a credit card, formatted YYYY or YY.

  • expirationMonth:String

    The expiration month of a credit card, formatted MM.

  • cvv:String

    A three- or four-digit card verification value assigned to credit cards. The CVV will never be stored, but it can be provided with one-time requests to verify the card.

  • cardholderName:String

    When supplied, the cardholder name to be tokenized with the contents of the fields.

  • billingAddress:AddressInput

    The billing address for the credit card.


CustomActionsPaymentMethodFieldInput

Fields that are provided during tokenization and are presented to the invoked action to be consumed.

input:
  • name

    The name of this field. e.g. "accountNumber".

  • value

    The value of this field. e.g. "123456789".

  • displayValue

    The value displayed in the Control Panel or API. e.g. "*6789".


CustomActionsPaymentMethodInput

Input fields for a Custom Actions payment method.

input:
  • actionName

    The action you wish to invoke when using the tokenized payment method.

  • fields

    Fields that your action requires.


CustomFieldInput

Custom field name/value pairs. Maximum 255 characters. You must set up each custom field in the Control Panel prior to passing it with a request.

input:
  • name

    Name of the custom field as defined in the Control Panel.

  • value:String

    Value for the named custom field. A null value will ignore (on create) or remove (on update) the custom field.


CustomerInput

Input fields for creating or updating a customer. On update, omitted fields will not be updated. Passing a null value will assign null to that field.

input:
  • company:String

    Company or business name associated with the customer.

  • email:String

    Email address for the customer.

  • firstName:String

    Customer's first name.

  • lastName:String

    Customer's last name.

  • phoneNumber:String

    Phone number for the customer.


DeleteCustomerInput

Top-level input fields for deleting a customer.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • customerId

    The ID of the customer to be deleted.


DeletePaymentMethodFromSingleUseTokenInput

Top-level input fields for deleting a payment method referenced by a single-use token.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • singleUseTokenId

    A single-use token ID referencing a payment method.


DeletePaymentMethodFromVaultInput

Top-level input fields for deleting a multi-use payment method from the vault.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    The ID of the multi-use payment method to be deleted.


MonetaryAmountSearchInput

Input fields for searching for a transaction or refund amount.

input:

PayPalPayeeOptionsInput

Input fields for a PayPal account receiving transaction funds.

input:
  • email:String

    The email address associated with the payee PayPal account.


RefundInput

Specific input fields for describing a refund.

input:
  • amount:Amount

    Amount that should be refunded. Must be less than or equal to the amount of the original transaction. Defaults to the total amount of the original transaction.

  • orderId:String

    The refund's order ID. Defaults to the order ID of the original transaction.


RefundSearchInput

Input fields for searching for refunds.

input:

RefundTransactionInput

Top-level input fields for refunding a transaction.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • transactionId

    ID of a transaction to be refunded.

  • refund:RefundInput

    Input fields for the details of the refund.


ReverseTransactionInput

Input fields for reversing a transaction.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • transactionId

    The ID of the transaction to reverse.


RiskDataInput

Input fields for a risk data object.

input:
  • customerBrowser:String

    The User-Agent header provided by the customer's browser, which gives information about the browser. Maximum 255 characters.

  • customerIp:String

    The customer's IP address.

  • deviceData:String

    Customer device information. Required when creating transactions using cards (only if using Advanced Fraud Tools), PayPal (only for one-time Vaulted PayPal transactions), and Venmo payment method types. This value will contain a Fraud Merchant ID as the unique, numeric identifier for a Kount account and a Device Session ID as the unique identifier for a customer device. For PayPal and Venmo transactions, this value will also include a PayPal Correlation ID.


SamsungPayCardInput

Input fields for a Samsung Pay Card object.

input:
  • cryptogram

    A one-time-use string generated by the token requester to validate the transaction.

  • eCommerceIndicator

    A two-digit string that should be passed along in the authorization message.

  • expirationMonth

    A two-digit string representing the expiration month of the DPAN.

  • expirationYear

    A four-digit string representing the expiration year of the DPAN.

  • number

    The card number provided by Samsung and used in processing. This is a digitized PAN (DPAN), not the backing card number (FPAN).

  • sourceCardLast4

    The last four digits of the FPAN (the cardholder's backing card).


SearchCustomerInput

Input fields for searching transactions by customer.

input:

SearchPaymentMethodSnapshotTypeInput

Input fields for searching transactions by payment method snapshot type.

input:
  • is:PaymentMethodSnapshotSearchType

    This value represents the payment method used to create a transaction. In the case of credit cards, this value also encode the origin from which a customer provided that payment method.

  • in

    These values represent the payment method used to create a transaction. In the case of credit cards, these values also encode the origin from which a customer provided that payment method.


SearchRangeInput

Input fields for searching for a range.

input:
  • is:String

    Field is exactly this value.

  • greaterThanOrEqualTo:String

    Field is greater than or equal to this value.

  • lessThanOrEqualTo:String

    Field is less than or equal to this value.


SearchTextInput

Input fields for searching text fields.

input:
  • is:String

    Field is exactly this value.

  • isNot:String

    Field is not this value.

  • startsWith:String

    Field starts with this value.

  • endsWith:String

    Field ends with this value.

  • contains:String

    Field contains this value.


SearchTimestampInput

Input fields for searching for a timestamp. These ranges are precise to the minute; the results of search for transactions or refunds created between 12/17/2015 17:00 and 12/17/2015 17:00 will include a transaction created at 12/17/2015 17:00:59.

input:
  • greaterThanOrEqualTo:Timestamp

    Timestamp is greater than or equal to this value.

  • lessThanOrEqualTo:Timestamp

    Timestamp is less than or equal to this value.


SearchTransactionStatusInput

Input fields for searching for a transaction or refund with a given status.

input:
  • in

    The transaction status is one of these values.


SearchTransactionStatusTransitionInput

Transaction status transition times.

input:
  • submittedForSettlementAt:SearchTimestampInput

    Find transactions with a given submitted for settlement time.


SearchValueInput

Input fields for searching for specific values.

input:
  • is:String

    Field is exactly this value.

  • in

    Field is one of these values.


TokenizeCreditCardInput

Top-level input fields for tokenizing a credit card.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • creditCard

    Input fields for a credit card object.


TokenizeCreditCardOptionsInput

Credit card tokenization options.

input:
  • validate:Boolean

    Whether to run validations on credit card fields. Validations are not run by default.


TokenizeCustomActionsPaymentMethodInput

Top-level input fields for tokenizing Custom Actions.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • customActionsPaymentMethod

    Input fields for a Custom Actions payment method.


TokenizeCvvInput

Top-level input fields for tokenizing a CVV.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • cvv

    A 3 or 4 digit card verification value assigned to credit cards. The CVV will never be stored, but it can be provided with one-time requests to verify the card.


TokenizeSamsungPayCardInput

Top-level input field for tokenizing a Samsung Pay Card.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • samsungPayCard

    Input fields for a Samsung Pay Card object.


TokenizeUsBankAccountInput

Top-level input fields for tokenizing a U.S. bank account.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • usBankAccount

    Input fields for a U.S. bank account object.


TokenizeUsBankLoginInput

Top-level input fields for tokenizing a U.S. bank login.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • usBankLogin

    Input fields for a U.S. bank login object.


TransactionDescriptorInput

Fields used to define what will appear on a customer's bank statement for a specific purchase.

input:
  • name:String

    The value in the business name field of a customer's statement.

  • phone:String

    The value in the phone number field of a customer's statement.

  • url:String

    The value in the URL/web address field of a customer's statement.


TransactionInput

Input fields for creating a transaction.

input:
  • amount

    Billing amount of the request. This value must be greater than 0, and must match the currency format of the merchant account. Can only contain numbers and one decimal point (e.g. x.xx). Can't be greater than the maximum allowed by the processor.

  • merchantAccountId:ID

    Merchant account ID used to process the transaction. Currency is also determined by merchant account ID. If no merchant account ID is specified, we will use your default merchant account.

  • orderId:String

    Additional information about the transaction. On PayPal transactions, this field maps to the PayPal invoice number. PayPal invoice numbers must be unique in your PayPal business account. Maximum 255 characters or 127 for PayPal transactions.

  • purchaseOrderNumber:String

    A purchase order identification value you associate with this transaction. Required for Level 2 processing.

  • riskData:RiskDataInput

    Customer device information, which is sent directly to supported processors for fraud analysis.

  • descriptor:TransactionDescriptorInput

    Fields used to define what will appear on a customer's bank statement for a specific purchase.

  • recurring:RecurringType

    The type of recurring payment the transaction represents.

  • channel:String

    For partners and shopping carts only. If you are a shopping cart provider or other Braintree partner, pass a string identifier for your service. For PayPal transactions, this maps to paypal.bn_code.

  • customerId:ID

    If charging a single-use payment method, optional ID of a customer to associate the transaction with.

  • tax:TransactionTaxInput

    Tax information about the transaction. Required for Level 2 processing.

  • discountAmount:String

    Discount amount that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. This value can't be negative. Required for Level 3 processing.

  • lineItems

    Line items for this transaction. Up to 249 line items may be specified. Required for Level 3 processing.


TransactionLineItemInput

Data for individual line items on a transaction.

input:
  • name

    Item name. Maximum 35 characters, or 127 characters for PayPal transactions. Required for Level 3 processing.

  • kind

    Indicates whether the line item is a sale or refund. Required for Level 3 processing.

  • quantity

    Number of units of the item purchased. Can include up to 4 decimal places. This value can't be negative or zero. Required for Level 3 processing.

  • unitAmount

    Per-unit price of the item. Maximum 4 decimal places, or 2 decimal places for PayPal transactions. This value can't be negative or zero. Required for Level 3 processing.

  • totalAmount

    Total price amount for the line item: quantity multiplied by unitAmount. Can include up to 2 decimal places. Required for Level 3 processing.

  • unitTaxAmount:String

    Per-unit tax price of the item. Can include up to 2 decimal places. This value can't be negative or zero. Required for Level 3 processing.

  • taxAmount:String

    Tax amount for the line item. Can include up to 2 decimal places. This value can't be negative. Required for Level 3 processing.

  • discountAmount:String

    Amount of discount for the line item. Can include up to 2 decimal places. This value can't be negative. Required for Level 3 processing.

  • unitOfMeasure:String

    The unit of measure or the unit of measure code. Maximum 12 characters. Required for Level 3 processing.

  • productCode:String

    Product or UPC code for the item. Maximum 12 characters, or 127 characters for PayPal transactions. Required for Level 3 processing.

  • commodityCode:String

    Code used to classify items purchased and track the total amount spent across various categories of products and services. Different corporate purchasing organizations may use different standards, but the United Nations Standard Products and Services Code (UNSPSC) is frequently used. Maximum 12 characters. Required for Level 3 processing.

  • description:String

    Item description. Maximum 127 characters. Required for Level 3 processing.

  • url:String

    A URL to information about the product. Required for Level 3 processing.


TransactionSearchInput

Input fields for searching for transactions.

input:

TransactionShippingInput

Information related to shipping a physical product.

input:
  • shippingAddress:AddressInput

    Shipping destination address information. Required for Level 3 processing.

  • shippingAmount:String

    Shipping cost on the entire transaction. Required for Level 3 processing.

  • shipsFromPostalCode:String

    The postal code of the source shipping location, in any country's format. Required for Level 3 processing.


TransactionTaxInput

Information related to taxes on the transaction.

input:
  • taxAmount:Amount

    Amount of tax that was included in the total transaction amount. Does not add to the total amount the payment method will be charged. Required for Level 2 processing unless taxExempt is true.

  • taxExempt:Boolean

    Whether the transaction should be considered eligible for tax exemption. Required for Level 2 processing.


UpdateCustomerInput

Top-level field for updating a customer.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • customerId

    ID of the customer to be updated.

  • customer:CustomerInput

    Input fields for the updates to be made on the customer.


UsBankAccountBillingAddressInput

A billing address for a U.S. bank account. This is a subset of the fields required in AddressInput.

input:
  • streetAddress

    The street address.

  • extendedAddress:String

    The extended address information—such as apartment or suite number.

  • city

    The city.

  • state

    The state.

  • zipCode

    The ZIP code.


UsBankAccountBusinessOwnerInput

The name of the owner of a business U.S. bank account.

input:
  • businessName

    The name of the business that owns the account.


UsBankAccountIndividualOwnerInput

The name of the owner of a personal U.S. bank account.

input:
  • firstName

    The first name of the accountholder.

  • lastName

    The last name of the accountholder.


UsBankAccountInput

Input fields for a U.S. bank account object.

input:
  • accountNumber

    The account number of the bank account.

  • routingNumber

    The routing number of the bank that holds the account.

  • accountType

    The type of account.

  • achMandate

    Language used to prove that you have the customer's explicit permission to debit their bank account.


UsBankLoginInput

Input fields for a U.S. bank login object.

input:
  • publicToken

    The public token returned from the bank login.

  • accountId

    The login provider account id used for the bank login.

  • accountType

    The type of account.

  • achMandate

    Language used to prove that you have the customer's explicit permission to debit their bank account.


VaultPaymentMethodInput

Top-level input field for vaulting a payment method so it can be used multiple times.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    ID of an existing single-use payment method to be vaulted.

  • verificationMerchantAccountId:ID

    ID of the merchant account to use when verifying the payment method.

  • customerId:ID

    ID of the customer to associate the resulting multi-use payment method with.


VerifyPaymentMethodInput

Top-level input field for verifying a multi-use payment method.

input:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethodId

    ID of an existing multi-use payment method to be verified.

  • merchantAccountId:ID

    ID of the merchant account to use when verifying the payment method.


Objects

Address

Representation of an address.

fields:
  • streetAddress:String

    The street address.

  • extendedAddress:String

    Extended address information, such as apartment or suite number.

  • locality:String

    Locality/city.

  • region:String

    State or province.

  • postalCode:String

    Postal code, otherwise known as CAP, CEP, Eircode, NPA, PIN, PLZ, or ZIP code.

  • countryCode:CountryCodeAlpha3

    Country code for the address in ISO 3166-1 alpha-3 format.

output:

ApplePayConfiguration

Configuration for Apple Pay on iOS.

fields:
  • currencyCode:CurrencyCodeAlpha

    The Apple Pay currency ISO code for the current merchant.

  • merchantIdentifier:String

    The merchant identifier that must be supplied when making an Apple Pay request.

  • supportedCardBrands:CreditCardBrandCode

    A list of card brands supported for Apple Pay by the current merchant.


ApplePayOriginDetails

Additional information about the payment method specific to Apple Pay.

fields:
  • paymentInstrumentName:String

    A human-readable description of the Apple Pay payment method. Usually consists of the Apple Pay card type and its last four digits. If there is no underlying credit card, this will describe the customer's payment method and the parent CreditCardDetail's last4 will be null.

  • bin:String

    The first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.


ApplePayWebConfiguration

Configuration for Apple Pay on web.

fields:
  • currencyCode:CurrencyCodeAlpha

    The Apple Pay currency ISO code for the current merchant.

  • merchantIdentifier:String

    The merchant identifier that must be supplied when making an Apple Pay request.

  • supportedCardBrands:CreditCardBrandCode

    A list of card brands supported for Apple Pay by the current merchant.


AuthenticationInsight

Information about the customer authentication regulation environment that applies to the payment method when processed with the provided merchant account.

fields:
  • merchantAccountId:String

    The merchant account used to determine authentication insight.

  • customerAuthenticationRegulationEnvironment:CustomerAuthenticationRegulationEnvironment

    The customer authentication regulation environment that applies when transacting with this payment method and merchant account.


AuthorizationExpiredEvent

Accompanying information for an authorization expired transaction.

fields:
  • timestamp:Timestamp

    The date and time at which the authorization for this transaction was marked expired.

  • amount:MonetaryAmount

    The amount of the transaction for this status event.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

AuthorizedEvent

Accompanying information for an authorized transaction.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction was authorized.

  • amount:MonetaryAmount

    The amount the transaction was authorized for. This will match the amount on the transaction itself. In most cases, you cannot request to settle more than this amount.

  • riskDecision:RiskDecision

    Risk decision for this transaction.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

BinRecord

Information about the credit card based on its BIN.

fields:
  • prepaid:BinRecordValue

    Whether the card is prepaid, such as a gift card.

  • healthcare:BinRecordValue

    Whether the card is designated only to be used for healthcare expenses.

  • durbinRegulated:BinRecordValue

    Whether the card is regulated by the Durbin Amendment due to the bank's assets, and therefore has a maximum interchange rate.

  • commercial:BinRecordValue

    Whether the card is a commercial card and capable of processing Level 2 transactions.

  • payroll:BinRecordValue

    Whether the card is designated for employee wages.

  • issuingBank:String

    The name of the bank that issued the card.

  • countryOfIssuance:CountryCodeAlpha3

    The country code for the country that issued the card in ISO 3166-1 alpha-3 format.

  • productId:String

    A code representing any special program from the card issuer the card is part of.

output:

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.


ClientConfiguration

Top-level fields returned from the client configuration query.

fields:
  • analyticsUrl:String

    URL to send analytics.

  • assetsUrl:String

    A URL pointing to the base path of Braintree's web pages used for various browser switches and popups.

  • clientApiUrl:String

    A URL pointing to the base path of Braintree's client API.

  • supportedFeatures:ClientFeature

    A list of ClientFeatures a Merchant supports.

  • merchantId:String

    The current merchant ID based on the authentication used.


CreateClientTokenPayload

Top-level fields returned when creating a client token.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • clientToken:String

    A Base64 encoded string used to initialize client SDKs.


CreateCustomerPayload

Top-level fields returned when creating a customer.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • customer:Customer

    Information about the customer that was created. Can be used when vaulting payment methods or creating transactions to associate those objects.


CreditCardConfiguration

Configuration for credit card tokenization.

fields:
  • supportedCardBrands:CreditCardBrandCode

    A list of card brands supported for credit card processing by the current merchant.

  • challenges:Challenge

    A list of challenges that are required by the current merchant to process a given credit card.

  • threeDSecureEnabled:Boolean

    True if the current merchant supports 3D Secure.

  • fraudDataCollectionEnabled:Boolean

    True if fraud data collection is enabled for the current merchant.


CreditCardDetails

Details about a credit card.

fields:
  • brand:String

    The display name of the card brand, ex: Visa, American Express.

  • last4:String

    The last four digits of the credit card number.

  • bin:String

    The first 6 digits of the credit card number, known as the Bank Identification Number. If this card originates from a third party such as a wallet provider, this BIN may not be present and the PaymentMethodOriginDetails will contain a BIN instead.

  • binData:BinRecord

    Information about the credit card based on its BIN.

  • expirationMonth:String

    The month of the expiration date, formatted MM.

  • expirationYear:String

    The year of the expiration date, formatted YYYY.

  • imageUrl:String

    A URL to an image logo representing the card brand.

  • cardholderName:String

    The cardholder's name.

  • uniqueNumberIdentifier:String

    An identifier that uniquely represents any credit card number, for cards stored in a merchant's vault. If the same credit card is added to a merchant's vault multiple times, each will have the same identifier. This identifier will only be returned if the field "origin" is null.

  • origin:PaymentMethodOrigin

    Additional information if the credit card was provided from a third-party origin, such as Apple Pay, Google Pay, or another digital wallet.


CustomActionsPaymentMethodDetails

Details about a custom actions payment method.

fields:
  • actionName:String

    The action to be invoked when using the payment method.

  • fields

    Fields that your action requires.


CustomActionsPaymentMethodField

Fields that are provided during tokenization and are presented to the invoked action to be consumed.

fields:
  • name:String

    The name of this field. e.g. "accountNumber".

  • displayValue:String

    The value displayed in the Control Panel or API. e.g. "*6789".


CustomField

A merchant-defined custom field to store additional information.

fields:
  • name:String

    The name of the custom field.

  • value:String

    The value of the custom field.


Customer

Information about a customer and their associated payment methods and transactions.

fields:
  • id:ID

    Unique identifier.

  • legacyId:ID

    Legacy unique identifier.

  • company:String

    Company or business name associated with this customer.

  • createdAt:Timestamp

    Date and time at which the customer was created.

  • defaultPaymentMethod:PaymentMethod

    Customer's default payment method.

  • email:String

    Email address for this customer.

  • firstName:String

    Customer's first name.

  • lastName:String

    Customer's last name.

  • phoneNumber:String

    Phone number for this customer.

  • transactions:TransactionConnection

    Transactions associated with this customer. This includes transactions created by charging a vaulted payment method that belongs or belonged to the customer, or by passing a customer ID when charging an single-use payment method.

interfaces:
output:

DeleteCustomerPayload

Top-level output field from deleting a customer.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


DeletePaymentMethodFromSingleUseTokenPayload

Top-level output field from deleting a payment method referenced by a single-use token.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


DeletePaymentMethodFromVaultPayload

Top-level output field from deleting a multi-use payment method.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


FailedEvent

Accompanying information for a transaction that failed because it could not be successfully sent to the processor.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction failed.

  • amount:MonetaryAmount

    The amount of the transaction for this status event.

  • riskDecision:RiskDecision

    Risk decision for this transaction.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

GatewayRejectedEvent

Accompanying information for a gateway rejected transaction.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction was rejected by the gateway.

  • amount:MonetaryAmount

    The amount of the transaction for this status event.

  • gatewayRejectionReason:GatewayRejectionReason

    The reason the transaction was rejected, based on your gateway settings.

  • processorResponse:TransactionProcessorResponse

    Fields describing the payment processor response. Depending on your gateway settings, the AVS and CVV responses may be the reason for the rejection.

  • riskDecision:RiskDecision

    Risk decision for this transaction. If the gatewayRejectionReason is fraud, this may be the reason for the rejection.

  • terminal:Boolean

    Whether this is the final state for the transaction.

  • duplicateOf:Transaction

    The original transaction if the gateway rejection reason was DUPLICATE.

interfaces:

GooglePayConfiguration

Configuration for Google Pay on Android and the web.

fields:
  • displayName:String

    A string used to identify the merchant to the customer.

  • googleAuthorization:String

    Authorization to use when tokenizing a Google Pay payment method.

  • paypalClientId:String

    A string used to identify the merchant's PayPal account when generating a PayPal Closed Loop Token.

  • supportedCardBrands:CreditCardBrandCode

    A list of card brands supported for Google Pay by the current merchant.


GooglePayOriginDetails

Additional information about the payment method specific to Google Pay.

fields:
  • googleTransactionId:String

    A reference ID to the Google transaction.

  • bin:String

    The first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.


IDealConfiguration

Configuration for iDEAL.

fields:
  • routeId:String

    The route ID used to process an iDEAL payment.

  • assetsUrl:String

    A URL used to redirect the customer to the bank's web page.


KountConfiguration

Configuration for Kount fraud tools.

fields:
  • merchantId:String

    The Kount merchant ID used to identify the fraud data collection request.


MasterpassConfiguration

Configuration for Masterpass.

fields:
  • merchantCheckoutId:String

    The Masterpass merchant checkout ID used to identify the merchant in Masterpass requests.

  • supportedCardBrands:CreditCardBrandCode

    A list of card brands supported for Masterpass by the current merchant.


MasterpassOriginDetails

Additional information about the payment method specific to Masterpass.

fields:
  • bin:String

    The first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.


Merchant

Details about a merchant and its current settings.

fields:
  • id:ID

    Unique identifier.

  • companyName:String

    Company name.

  • website:String

    The merchant's main website.

  • timezone:String

    The timezone that the merchant operates in.

output:

MonetaryAmount

A monetary amount with currency.

fields:
  • value:Amount

    The amount of money, either a whole number or a number with exactly 2 or 3 decimal places.


Mutation

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

fields:
  • authorizePaymentMethod:TransactionPayload

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

  • captureTransaction:TransactionPayload

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

  • chargePaymentMethod:TransactionPayload

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

  • chargePayPalAccount:TransactionPayload

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

  • vaultPaymentMethod:VaultPaymentMethodPayload

    Vault payment information from a single-use payment method and return a payload that includes a new multi-use payment method.

  • refundTransaction:RefundTransactionPayload

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

  • reverseTransaction:ReverseTransactionPayload

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

  • createClientToken:CreateClientTokenPayload

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

  • tokenizeCreditCard:TokenizeCreditCardPayload

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

  • tokenizeCvv:TokenizeCvvPayload

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

  • tokenizeSamsungPayCard:TokenizeSamsungPayCardPayload

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

  • tokenizeUsBankAccount:TokenizeUsBankAccountPayload

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

  • tokenizeUsBankLogin:TokenizeUsBankAccountPayload

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

  • createCustomer:CreateCustomerPayload

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

  • deleteCustomer:DeleteCustomerPayload

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

output:

PageInfo

The page information for a connection.

fields:
  • hasNextPage:Boolean

    Whether there is a next page available.

output:

PayPalAccountDetails

Details about a PayPal account.

fields:
  • billingAgreementId:String

    The ID of the billing agreement for this PayPal account.

  • email:String

    The email address associated with the PayPal account.

  • payerId:String

    The PayPal ID of the PayPal account.

  • firstName:String

    The first name on the PayPal account.

  • lastName:String

    The last name on the PayPal account.


PayPalConfiguration

Configuration for PayPal.

fields:
  • displayName:String

    The merchant's company name to display to customers in the PayPal UI.

  • clientId:String

    The merchant's PayPal client ID.

  • privacyUrl:String

    The merchant's privacy policy URL.

  • userAgreementUrl:String

    The merchant's user agreement URL.

  • assetsUrl:String

    A URL pointing to the base path of Braintree's web pages used for various browser switches and popups.

  • environmentNoNetwork:Boolean

    For internal use only.

  • unvettedMerchant:Boolean

    Whether the merchant has been vetted.

  • braintreeClientId:String

    Braintree's PayPal client ID.

  • billingAgreementsEnabled:Boolean

    Whether billing agreements are enabled and should be used instead of future payments.

  • merchantAccountId:String

    The merchant account being used. This affects the currency code and other options.

  • payeeEmail:String

    The email address of the PayPal account that will receive the funds when a transaction is created.

  • directBaseUrl:String

    For internal use only.


PayPalTransactionDetails

PayPal-specific details on a transaction.

fields:
  • authorizationId:String

    If the transaction was successfully authorized, the PayPal ID for the authorization.

  • captureId:String

    If funds for the transaction have settled, the PayPal ID for the capture of funds.

  • customField:String

    A string of field/value pairs passed directly to PayPal.

  • payerStatus:String

    Whether the PayPal account has been verified by PayPal.

  • paymentId:String

    The identification value of the payment within PayPal's API.

  • refundId:String

    If the transaction is a refund, the PayPal refund ID.

  • sellerProtectionStatus:String

    Whether the transaction qualifies for PayPal Seller Protection.

  • taxId:String

    Payer's tax ID. Only returned for payments from Brazilian accounts.

  • taxIdType:String

    Payer's tax ID type. Only returned for payments from Brazilian accounts. Allowed values BR_CPF or BR_CNPJ.

  • transactionFeeAmount:String

    The fee for the transaction charged by PayPal.

  • transactionFeeCurrencyIsoCode:String

    The currency code for the currency used for the transaction fee.

  • description:String

    Description of the transaction that is displayed to customers in PayPal email receipts.


PaymentMethod

Top-level field representing a payment method.

fields:
  • id:ID

    Unique identifier.

  • legacyId:ID

    Legacy unique identifier. May be the same as id for single-use payment methods.

  • usage:PaymentMethodUsage

    Whether a payment method may be used only once or used multiple times.

  • details:PaymentMethodDetails

    Details about the payment method specific to the type (e.g. credit card, PayPal account).

  • verifications:VerificationConnection

    A paginated list of verifications that have been run against the payment method.

  • customer:Customer

    The customer that the payment method belongs to.

interfaces:

PaymentMethodConnection

A paginated list of payment methods.

fields:
  • pageInfo:PageInfo

    Information about the page.


PaymentMethodConnectionEdge

A payment method within a PaymentMethodConnection.

fields:
  • cursor:String

    This payment method's location within the PaymentMethodConnection. Used for requesting additional pages.


PaymentMethodOrigin

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

fields:

ProcessorDeclinedEvent

Accompanying information for a processor declined transaction.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction was declined by the processor.

  • amount:MonetaryAmount

    The amount of the transaction for this status event.

  • riskDecision:RiskDecision

    Risk decision for this transaction.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

Query

The top-level Query type. Queries are used to fetch data.

fields:
  • ping:String

    Returns the literal string 'pong'.

  • viewer:Viewer

    The currently authenticated viewer.

  • clientConfiguration:ClientConfiguration

    The client-side environment and payment method configuration.

  • node:Node

    Fetch any object that extends the Node interface using its ID.

  • idFromLegacyId:ID

    Get a GraphQL ID from a legacy ID that was returned from an SDK or a legacyId field. Does not verify existence except for payment methods.

  • report:Report

    The available reports.

  • search:Search

    The available searches.

output:

Refund

A refund of a charge on a payment method, representing an attempt to send money from a previous transaction back to the customer.

fields:
  • id:ID

    Unique identifier.

  • legacyId:ID

    Legacy unique identifier.

  • createdAt:Timestamp

    Time at which the refund was created.

  • amount:MonetaryAmount

    The amount that will be refunded, which can be less than or equal to the original charge amount.

  • orderId:String

    The order ID for this refund. For PayPal transactions, the PayPal Invoice ID.

  • statusHistory

    The records of all statuses this transaction has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.

  • refundedTransaction:Transaction

    The original transaction that this refunds.

interfaces:
output:

RefundConnection

A paginated list of refunds.

fields:
  • pageInfo:PageInfo

    Information about the page.


RefundConnectionEdge

A transaction within a RecundConnection.

fields:
  • cursor:String

    This refund's location within the RefundConnection. Used for requesting additional pages.


RefundTransactionPayload

Top-level output field from refunding a transaction.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • refund:Refund

    The information about the refund created.


Report

Top-level fields returned for a report query.

fields:
output:

ReverseTransactionPayload

Top-level output field for reversing a transaction.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • reversal:TransactionReversal

    A transaction (if the original transaction was voided) or refund (if the original transaction was refunded). A reversal will attempt to void the original transaction if it has not yet settled. If the original transaction has settled, a reversal will create a refund for the full amount.


Right

A right assigned to a user.

fields:
  • name:String

    Human readable name.

output:

RiskData

Data from advanced risk evaluations.

fields:
  • id:ID

    Unique identifier.

  • decision:RiskDecision

    The risk decision on whether the transaction should be permitted.

  • deviceDataCaptured:Boolean

    Whether data associated with the customer's device was captured and used in the decision process.

  • fraudServiceProvider:FraudServiceProvider

    The third-party provider used to generate the risk decision.

output:

Role

Groups of rights assigned to a user.

fields:
  • id:ID

    Unique identifier.

  • name:String

    Human readable name.

  • isAccountAdmin:Boolean

    Whether the role grants account admin status.

  • rights

    Right names associated with role.

output:

SamsungPayCardDetails

Details about a Samsung Pay card.

fields:
  • brand:String

    The display name of the card brand, ex: Visa, American Express.

  • brandCode:CreditCardBrandCode

    A static code identifying the card brand of the FPAN (the customer's actual backing card).

  • bin:String

    The first 6 digits of the credit card, known as the Bank Identification Number. This BIN will differ from the BIN of the source (customer's actual) card.

  • binData:BinRecord

    Information about the credit card based on its BIN. This BIN will differ from the BIN of the source (customer's actual) card.

  • sourceCardLast4:CreditCardLast4

    Last four digits of the FPAN (the customer's actual backing card).


SamsungPayConfiguration

Configuration for Samsung Pay on Android.

fields:
  • displayName:String

    A string used to identify the merchant to the customer.

  • serviceId:String

    The Samsung Pay service ID.

  • samsungAuthorization:String

    Authorization to use when tokenizing Samsung Pay.

  • supportedCardBrands:CreditCardBrandCode

    A list of card brands supported for Samsung Pay by the current merchant.


SamsungPayOriginDetails

Additional information about the payment method specific to Samsung Pay.

fields:
  • bin:String

    The first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.


SettledEvent

Accompanying information for a settled transaction.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction was settled.

  • amount:MonetaryAmount

    The amount the transaction was settled for, in the same currency as the original authorization (aka the "presentment" currency.) If you have elected to settle the transaction into a bank account with a different currency, this will not reflect that.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

SettlementDeclinedEvent

Accompanying information for a settlement declined transaction.

fields:
  • timestamp:Timestamp

    The date and time at which the processor declined to settle this transaction.

  • amount:MonetaryAmount

    The amount of the transaction for this status event.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

SettlementPendingEvent

Accompanying information for a settlement pending transaction. Typically only occurs for PayPal transactions.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction became settlement pending.

  • amount:MonetaryAmount

    The amount of the transaction for this status event.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

SettlingEvent

Accompanying information for a transaction that is settling. This is typically a transient state during which the transaction is being settled with the processor.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction began settling.

  • amount:MonetaryAmount

    The amount of the transaction for this status event. This should match the amount submitted for settlement.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

SubmittedForSettlementEvent

Accompanying information for a transaction that is submitted for settlement. This status indicates that the transaction is scheduled to be settled.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction was submitted for settlement.

  • amount:MonetaryAmount

    The amount that was submitted for settlement. This can differ from the authorized amount, but by default is the same.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

ThreeDSecureConfiguration

Configuration for 3D Secure.

fields:
  • cardinalAuthenticationJWT:String

    Authentication information for initializing Cardinal's songbird.js library.


TokenizeCreditCardPayload

Top-level fields returned from a tokenized credit card.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • token:String

    A one-time-use reference to tokenized sensitive information.


TokenizeCustomActionsPaymentMethodPayload

Top-level fields returned from tokenizing a CustomActionsPaymentMethod.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


TokenizeCvvPayload

Top-level fields returned from a tokenized CVV.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


TokenizeSamsungPayCardPayload

Top-level fields returned from a tokenized Samsung Pay Card.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • singleUseToken:PaymentMethod

    A one-time-use reference to tokenized sensitive information.


TokenizeUsBankAccountPayload

Top-level fields returned from a tokenized U.S. bank account.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.


Transaction

A charge on a payment method.

fields:
  • id:ID

    Unique identifier.

  • legacyId:ID

    Legacy unique identifier.

  • createdAt:Timestamp

    Time at which the transaction was created.

  • paymentMethodSnapshot:PaymentMethodSnapshot

    Snapshot of payment method details used to create the transaction, preserved at the time the transaction was created. This will always be present.

  • paymentMethod:PaymentMethod

    The multi-use payment method associated with the transaction. Only present if a multi-use payment method was used to create the transaction and it has not been deleted. The details of this PaymentMethod may have changed since the transaction was created, details used for the transaction can be found in the paymentMethodSnapshot field.

  • merchantAccountId:ID

    The ID of the merchant account that processed this transaction.

  • orderId:String

    The order ID for this transaction. For PayPal transactions, the PayPal Invoice ID.

  • purchaseOrderNumber:String

    A purchase order identification value you associate with this transaction.

  • riskData:RiskData

    Risk data evaluated for this transaction.

  • descriptor:TransactionDescriptor

    Fields used to define what will appear on customers' credit card statements for a specific purchase.

  • statusHistory

    The records of all statuses this transaction has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.

  • channel:String

    If the transaction request was performed through a shopping cart provider or Braintree partner, this field will have a string identifier for that shopping cart provider or partner. For PayPal transactions, this maps to the PayPal account's bn_code.

  • customer:Customer

    Customer associated with the transaction, if applicable.

  • discountAmount:String

    Discount amount that was included in the total transaction amount.

  • lineItems

    Line items for this transaction.

  • refunds

    The list of refunds issued against this transaction.

interfaces:

TransactionConnection

A paginated list of transactions.

fields:
  • pageInfo:PageInfo

    Information about the page.


TransactionConnectionEdge

A transaction within a TransactionConnection.

fields:
  • cursor:String

    This transaction's location within the TransactionConnection. Used for requesting additional pages.


TransactionDescriptor

Fields used to define what will appear on a customer's bank statement for a specific purchase.

fields:
  • name:String

    The value in the business name field of a customer's statement.

  • phone:String

    The value in the phone number field of a customer's statement.

  • url:String

    The value in the URL/web address field of a customer's statement.


TransactionLevelFeeReport

The transaction-level fee report provides a breakdown of fees associated with individual transactions.

fields:
  • url:String

    The URL where you can access the requested report.


TransactionLineItem

Data for individual line items on a transaction.

fields:
  • quantity:String

    Number of units of the item purchased.

  • unitAmount:String

    Per-unit price of the item.

  • totalAmount:String

    Total price amount for the line item: quantity multiplied by unitAmount.

  • unitTaxAmount:String

    Per-unit tax price of the item.

  • taxAmount:String

    Tax amount for the line item.

  • discountAmount:String

    Amount of discount for the line item.

  • unitOfMeasure:String

    The unit of measure or the unit of measure code.

  • productCode:String

    Product or UPC code for the item.

  • description:String

    Item description.

  • url:String

    The URL to product information.


TransactionPayload

Top-level output field from creating a transaction.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • transaction:Transaction

    The transaction representing the charge on the payment method.


TransactionProcessorResponse

Detailed response information from the processor.

fields:
  • message:String

    The text explanation of the processor response code.

  • avsPostalCodeResponse:AvsCvvResponseCode

    The processing bank's response to the provided billing postal or zip code.

  • avsStreetAddressResponse:AvsCvvResponseCode

    The processing bank's response to the provided billing street address.


TransactionShipping

Information related to shipping a physical product.

fields:
  • shippingAddress:Address

    Shipping address information.

  • shippingAmount:Amount

    Shipping cost on the entire transaction.

  • shipsFromPostalCode:String

    The postal code of the source shipping location.


TransactionTaxInformation

Information related to taxes on the transaction.

fields:
  • taxAmount:Amount

    Amount of tax that was included in the total transaction amount.

  • taxExempt:Boolean

    Whether the transaction should be considered eligible for tax exemption.


UnionPayConfiguration

Configuration for UnionPay cards.

fields:
  • merchantAccountId:String

    The Braintree merchant account ID with UnionPay processing enabled.


UpdateCustomerPayload

Top-level fields returned when updating a customer.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • customer:Customer

    Information about the customer that was updated.


UsBankAccountConfiguration

Configuration for U.S. bank account processing.

fields:
  • routeId:String

    The route id used to process an U.S. bank account payment.

  • plaidPublicKey:String

    The public key for Plaid to use to log in to a bank account.


UsBankAccountDetails

Details about a U.S. bank account.

fields:
  • accountholderName:String

    The name of the accountholder. This is either the business name for a business account, or the owner's full name for an individual account.

  • bankName:String

    The name of the bank at which the account exists.

  • last4:String

    The last four digits of the bank account number.

  • routingNumber:String

    The routing number of the bank.

  • verified:Boolean

    Whether the bank account has been verified and can be transacted on.


User

Details about a user.

fields:
  • id:ID

    Unique identifier.

  • roles

    Associated roles.

output:

VaultPaymentMethodPayload

Top-level output field from vaulting a payment method.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • paymentMethod:PaymentMethod

    A payment method that has been stored in a merchant's vault and can be reused.

  • verification:Verification

    The verification that was run on the payment method prior to vaulting.


VenmoAccountDetails

Details about a Venmo Account.

fields:
  • username:String

    The Venmo username, as chosen by the user.

  • venmoUserId:String

    The Venmo user ID.


VenmoConfiguration

Configuration for Pay with Venmo.

fields:
  • merchantId:String

    The Venmo merchant ID.

  • accessToken:String

    Authorization to use when tokenizing a Venmo payment method.


Verification

A verification reporting whether the payment method has passed your fraud rules and the issuer has ensured it is associated with a valid account.

fields:
  • id:ID

    Unique identifier.

  • legacyId:ID

    Legacy unique identifier.

  • paymentMethodSnapshot:PaymentMethodSnapshot

    Snapshot of payment method details that were verified. This will always be present.

  • paymentMethod:PaymentMethod

    The multi-use payment method that was verified, if it was vaulted. The details of this PaymentMethod may have changed since it was verified.

  • amount:MonetaryAmount

    For a credit card, the amount used when performing the verification.

  • merchantAccountId:ID

    The merchant account used for the verification.

  • status:VerificationStatus

    The current status of this verification, indicating whether the verification was successful. Braintree recommends only vaulting payment methods that are successfully verified.

  • processorResponse:VerificationProcessorResponse

    Detailed response information from the processor. Will not be present if the verification was rejected prior to contacting the processor.

  • createdAt:Timestamp

    The date and time at which the verification was created.

  • gatewayRejectionReason:GatewayRejectionReason

    The reason the verification was rejected. Will only be set if status is GATEWAY_REJECTED.

  • riskData:RiskData

    Risk data evaluated for this verification.

interfaces:

VerificationConnection

A paginated list of verifications.

fields:
  • pageInfo:PageInfo

    Information about the page.


VerificationConnectionEdge

A verification within a VerificationConnection.

fields:
  • cursor:String

    This verification's location within the VerificationConnection. Used for requesting additional pages.


VerificationProcessorResponse

Detailed response information from the processor.

fields:
  • message:String

    The text explanation of the processor response code.

  • avsPostalCodeResponse:AvsCvvResponseCode

    The processing bank's response to the provided billing postal or zip code.

  • avsStreetAddressResponse:AvsCvvResponseCode

    The processing bank's response to the provided billing street address.


VerifyPaymentMethodPayload

Top-level output field from verifying a payment method.

fields:
  • clientMutationId:String

    An identifier used to reconcile requests and responses.

  • verification:Verification

    The verification that was run on the payment method.


Viewer

Details about the user and merchant authenticated in this request.

fields:
  • id:ID

    Unique identifier.

  • roles

    Associated roles.

  • user:User

    Details about the authenticated user.

  • merchant:Merchant

    Details about the authenticated merchant.

output:

VisaCheckoutConfiguration

Configuration for Visa Checkout.

fields:
  • apiKey:String

    The Visa Checkout API key.

  • externalClientId:String

    The Visa Checkout external client ID.

  • supportedCardBrands:CreditCardBrandCode

    A list of card brands supported for Visa Checkout by the current merchant.


VisaCheckoutOriginDetails

Additional information about the payment method specific to Visa Checkout.

fields:
  • callId:String

    The Visa assigned identifier of the transaction.

  • bin:String

    The first 6 digits of the credit card, known as the Bank Identification Number. This BIN may differ from the BIN of the customer's actual card.


VoidedEvent

Accompanying information for a transaction that has been voided.

fields:
  • timestamp:Timestamp

    The date and time at which the transaction was voided.

  • amount:MonetaryAmount

    The amount of the voided transaction. This should match the authorization amount.

  • terminal:Boolean

    Whether this is the final state for the transaction.

interfaces:

__Directive
fields:
  • locations
  • args

__EnumValue
fields:

__Field
fields:
  • args
output:

__InputValue
fields:

__Schema

A GraphQL Introspection defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, the entry points for query, mutation, and subscription operations.

fields:
  • types

    A list of all types supported by this server.

  • queryType:__Type

    The type that query operations will be rooted at.

  • mutationType:__Type

    If this server supports mutation, the type that mutation operations will be rooted at.

  • directives

    'A list of all directives supported by this server.

  • subscriptionType:__Type

    'If this server support subscription, the type that subscription operations will be rooted at.

output:

__Type
fields:
  • fields
  • interfaces
  • possibleTypes
  • enumValues
  • inputFields
output:

Scalars

Amount

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

output:

Boolean

Built-in Boolean

output:

CountryCodeAlpha2

An ISO 3166-1 alpha-2 country code. Braintree only accepts specific alpha-2 values.


CountryCodeAlpha3

An ISO 3166-1 alpha-3 country code. Braintree only accepts specific alpha-3 values.


CreditCardLast4

A four-digit string.


CreditCardNumber

A number that passes Luhn validation.


CurrencyCodeAlpha

An ISO 4217 alpha currency code. Braintree only accepts specific alpha values.


CustomFieldName

A string representing a custom field value. Contains letters, numbers, and underscores.


Date

A date of the form YYYY-MM-DD.

output:

ECommerceIndicator

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


ID

Built-in ID

output:

Int

Built-in Int

output:

Month

A two-digit, zero-padded month.

output:

String

Built-in String

output:

Timestamp

An ISO 8601 timestamp with microsecond precision.

output:

UsBankAccountNumber

An account number containing 4-17 digits.


UsBankRoutingNumber

A routing number containing 8 or 9 digits.


UsZipCode

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

output:

Year

A four-digit year.

output:

Unions

PaymentMethodDetails

A union of all possible payment method details. PaymentMethodDetails contain information for display purposes, payment method management, and processing.


PaymentMethodOriginDetails

A union of all possible payment method origin details. PaymentMethodOriginDetails contain additional information specific to the third party the payment method was provided by.


PaymentMethodSnapshot

A union of all possible payment method details as they were used in a transaction or verification. PaymentMethodSnapshot preserves values used to create a given transaction or verify a payment method at that moment in time.


TransactionReversal

A union of all possible results of a transaction reversal. If the transaction has been settled, a refund will be issued and a Refund returned. Otherwise, the transaction will be voided and a Transaction returned.