# tokenizeCreditCard

Mutation · GraphQL API

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

## Authentication

- CLIENT
- SERVER

## Input

- `input` (`TokenizeCreditCardInput!`) — required

## Returns [TokenizeCreditCardPayload](/braintree/graphql/reference/types/tokenize-credit-card-payload)

Top-level fields returned from a tokenized credit card.

### Returned fields

- `clientMutationId` (`String`): An identifier used to reconcile requests and responses. 255 characters maximum.
- `token` (`String`) — deprecated since 2018-04-05: A one-time-use reference to tokenized sensitive information.
- `creditCard` (`CreditCardDetails`) — deprecated since 2018-04-05: Details about the tokenized card.
- `singleUseToken` (`PaymentMethod`) — deprecated since 2018-07-30: A single-use payment method.
- `paymentMethod` (`PaymentMethod`): A single-use payment method.
- `authenticationInsight` (`AuthenticationInsight`) — deprecated since 2020-10-05: Information about the [customer authentication regulation environment](https://developer.paypal.com/braintree/docs/guides/3d-secure/authentication-insight/javascript/v3) that applies to the payment method when processed with the provided merchant account. This can be used to determine whether to perform 3D Secure authentication.
  - `input` (`AuthenticationInsightInput!`) — required

## Examples

### Tokenize credit card 3D Secure

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

```graphql
mutation tokenizeCreditCard3DSecure($input: TokenizeCreditCardInput!, $authenticationInsightInput: AuthenticationInsightInput!)  {
  tokenizeCreditCard(input: $input) {
    clientMutationId
    paymentMethod {
      __typename
      id
      legacyId
      usage
      createdAt
      details {
        __typename
        ... on CustomActionsPaymentMethodDetails {
          __typename
          actionName
          fields {
            name
            displayValue
          }
        }
        ... on CreditCardDetails {
          __typename
          brandCode
          last4
          bin
          binData {
            prepaid
            healthcare
            debit
            durbinRegulated
            commercial
            payroll
            issuingBank
            countryOfIssuance
            productId
            prepaidReloadable
            business
            consumer
            corporate
            purchase
          }
          expirationMonth
          expirationYear
          cardholderName
          uniqueNumberIdentifier
          origin {
            type
            details {
              __typename
              ... on ApplePayOriginDetails {
                __typename
                paymentInstrumentName
                bin
                merchantTokenIdentifier
                dpanLastTwo
                isDeviceToken
                last4
                paymentAccountReference
              }
              ... on GooglePayOriginDetails {
                __typename
                googleTransactionId
                bin
                last4
                paymentAccountReference
              }
              ... on MasterpassOriginDetails {
                __typename
                bin
              }
              ... on MetaCheckoutOriginDetails {
                __typename
                containerId
                bin
              }
              ... on NetworkTokenOriginDetails {
                __typename
                bin
              }
              ... on SamsungPayOriginDetails {
                __typename
                bin
              }
              ... on VisaCheckoutOriginDetails {
                __typename
                callId
                bin
              }
              ... on PayPalLocalPaymentOriginDetails {
                __typename
                captureId
                customField
                paymentId
                transactionFee {
                  value
                  currencyCode
                }
                blikAliases {
                  key
                  label
                }
              }
              ... on CardPresentOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                readerId
                storeId
              }
              ... on EmvCardOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                applicationPreferredName
                applicationIdentifier
                terminalVerificationResult
                cardSequenceNumber
                applicationInterchangeProfile
                terminalTransactionDate
                terminalTransactionType
                cashbackAmount
                applicationUsageControl
                terminalCountryCode
                applicationCryptogram
                cryptogramInformationData
                cardholderVerificationMethodResults
                applicationTransactionCounter
                unpredictableNumber
                issuerActionCodeDefault
                issuerActionCodeDenial
                issuerActionCodeOnline
                readerId
                storeId
              }
            }
          }
          billingAddress {
            company
            addressLine1
            addressLine2
            fullName
            adminArea2
            adminArea1
            postalCode
            countryCode
            phone {
              countryPhoneCode
              phoneNumber
              extensionNumber
            }
          }
          threeDSecure {
            authentication {
              cavv
              directoryServerTransactionId
              eciFlag
              liabilityShifted
              liabilityShiftPossible
              cardEnrolled
              authenticationStatus
              version
              xId
              threeDSecureServerTransactionId
              acsTransactionId
              paresStatus
              transactionStatus
              transactionStatusReason
            }
            authenticationInsight(input: $authenticationInsightInput) {
              merchantAccountId
              customerAuthenticationRegulationEnvironment
              customerAuthenticationIndicator
            }
          }
          cardOnFileNetworkTokenized
          paymentAccountReference
        }
        ... on PayPalAccountDetails {
          __typename
          billingAgreementId
          billingAddress {
            company
            addressLine1
            addressLine2
            fullName
            adminArea2
            adminArea1
            postalCode
            countryCode
            phone {
              countryPhoneCode
              phoneNumber
              extensionNumber
            }
          }
          shippingAddress {
            company
            addressLine1
            addressLine2
            fullName
            adminArea2
            adminArea1
            postalCode
            countryCode
            phone {
              countryPhoneCode
              phoneNumber
              extensionNumber
            }
          }
          email
          phone
          payerId
          firstName
          lastName
          cobrandedCardLabel
          origin {
            type
            details {
              __typename
              ... on ApplePayOriginDetails {
                __typename
                paymentInstrumentName
                bin
                merchantTokenIdentifier
                dpanLastTwo
                isDeviceToken
                last4
                paymentAccountReference
              }
              ... on GooglePayOriginDetails {
                __typename
                googleTransactionId
                bin
                last4
                paymentAccountReference
              }
              ... on MasterpassOriginDetails {
                __typename
                bin
              }
              ... on MetaCheckoutOriginDetails {
                __typename
                containerId
                bin
              }
              ... on NetworkTokenOriginDetails {
                __typename
                bin
              }
              ... on SamsungPayOriginDetails {
                __typename
                bin
              }
              ... on VisaCheckoutOriginDetails {
                __typename
                callId
                bin
              }
              ... on PayPalLocalPaymentOriginDetails {
                __typename
                captureId
                customField
                paymentId
                transactionFee {
                  value
                  currencyCode
                }
                blikAliases {
                  key
                  label
                }
              }
              ... on CardPresentOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                readerId
                storeId
              }
              ... on EmvCardOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                applicationPreferredName
                applicationIdentifier
                terminalVerificationResult
                cardSequenceNumber
                applicationInterchangeProfile
                terminalTransactionDate
                terminalTransactionType
                cashbackAmount
                applicationUsageControl
                terminalCountryCode
                applicationCryptogram
                cryptogramInformationData
                cardholderVerificationMethodResults
                applicationTransactionCounter
                unpredictableNumber
                issuerActionCodeDefault
                issuerActionCodeDenial
                issuerActionCodeOnline
                readerId
                storeId
              }
            }
          }
          limitedUseOrderId
          selectedFinancingOption {
            term
            monthlyPayment {
              value
              currencyCode
            }
            discountPercentage
            discountAmount {
              value
              currencyCode
            }
          }
          fundingSourceDescription
          vaultedBillingAgreementId
        }
        ... on SamsungPayCardDetails {
          __typename
          brand
          brandCode
          bin
          binData {
            prepaid
            healthcare
            debit
            durbinRegulated
            commercial
            payroll
            issuingBank
            countryOfIssuance
            productId
            prepaidReloadable
            business
            consumer
            corporate
            purchase
          }
          sourceCardLast4
        }
        ... on VenmoAccountDetails {
          __typename
          username
          venmoUserId
        }
        ... on UsBankAccountDetails {
          __typename
          accountholderName
          accountType
          ownershipType
          bankName
          last4
          routingNumber
          verified
          achMandate {
            acceptedAt
          }
        }
        ... on SEPADirectDebitAccountDetails {
          __typename
          merchantOrPartnerCustomerId
          last4
          bankReferenceToken
          mandateType
        }
      }
      customer {
        __typename
        id
        legacyId
      }
    }
  }
}
```

### Tokenize credit card

Top-level input fields for tokenizing a credit card.

```graphql
mutation tokenizeCreditCard($input: TokenizeCreditCardInput!) {
  tokenizeCreditCard(input: $input) {
    clientMutationId
    paymentMethod {
      __typename
      id
      legacyId
      usage
      createdAt
      details {
        __typename
        ... on CustomActionsPaymentMethodDetails {
          __typename
          actionName
          fields {
            name
            displayValue
          }
        }
        ... on CreditCardDetails {
          __typename
          brandCode
          last4
          bin
          binData {
            prepaid
            healthcare
            debit
            durbinRegulated
            commercial
            payroll
            issuingBank
            countryOfIssuance
            productId
            prepaidReloadable
            business
            consumer
            corporate
            purchase
          }
          expirationMonth
          expirationYear
          cardholderName
          uniqueNumberIdentifier
          origin {
            type
            details {
              __typename
              ... on ApplePayOriginDetails {
                __typename
                paymentInstrumentName
                bin
                merchantTokenIdentifier
                dpanLastTwo
                isDeviceToken
                last4
                paymentAccountReference
              }
              ... on GooglePayOriginDetails {
                __typename
                googleTransactionId
                bin
                last4
                paymentAccountReference
              }
              ... on MasterpassOriginDetails {
                __typename
                bin
              }
              ... on MetaCheckoutOriginDetails {
                __typename
                containerId
                bin
              }
              ... on NetworkTokenOriginDetails {
                __typename
                bin
              }
              ... on SamsungPayOriginDetails {
                __typename
                bin
              }
              ... on VisaCheckoutOriginDetails {
                __typename
                callId
                bin
              }
              ... on PayPalLocalPaymentOriginDetails {
                __typename
                captureId
                customField
                paymentId
                transactionFee {
                  value
                  currencyCode
                }
                blikAliases {
                  key
                  label
                }
              }
              ... on CardPresentOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                readerId
                storeId
              }
              ... on EmvCardOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                applicationPreferredName
                applicationIdentifier
                terminalVerificationResult
                cardSequenceNumber
                applicationInterchangeProfile
                terminalTransactionDate
                terminalTransactionType
                cashbackAmount
                applicationUsageControl
                terminalCountryCode
                applicationCryptogram
                cryptogramInformationData
                cardholderVerificationMethodResults
                applicationTransactionCounter
                unpredictableNumber
                issuerActionCodeDefault
                issuerActionCodeDenial
                issuerActionCodeOnline
                readerId
                storeId
              }
            }
          }
          billingAddress {
            company
            addressLine1
            addressLine2
            fullName
            adminArea2
            adminArea1
            postalCode
            countryCode
            phone {
              countryPhoneCode
              phoneNumber
              extensionNumber
            }
          }
          threeDSecure {
            authentication {
              cavv
              directoryServerTransactionId
              eciFlag
              liabilityShifted
              liabilityShiftPossible
              cardEnrolled
              authenticationStatus
              version
              xId
              threeDSecureServerTransactionId
              acsTransactionId
              paresStatus
              transactionStatus
              transactionStatusReason
            }
          }
          cardOnFileNetworkTokenized
          paymentAccountReference
        }
        ... on PayPalAccountDetails {
          __typename
          billingAgreementId
          billingAddress {
            company
            addressLine1
            addressLine2
            fullName
            adminArea2
            adminArea1
            postalCode
            countryCode
            phone {
              countryPhoneCode
              phoneNumber
              extensionNumber
            }
          }
          shippingAddress {
            company
            addressLine1
            addressLine2
            fullName
            adminArea2
            adminArea1
            postalCode
            countryCode
            phone {
              countryPhoneCode
              phoneNumber
              extensionNumber
            }
          }
          email
          phone
          payerId
          firstName
          lastName
          cobrandedCardLabel
          origin {
            type
            details {
              __typename
              ... on ApplePayOriginDetails {
                __typename
                paymentInstrumentName
                bin
                merchantTokenIdentifier
                dpanLastTwo
                isDeviceToken
                last4
                paymentAccountReference
              }
              ... on GooglePayOriginDetails {
                __typename
                googleTransactionId
                bin
                last4
                paymentAccountReference
              }
              ... on MasterpassOriginDetails {
                __typename
                bin
              }
              ... on MetaCheckoutOriginDetails {
                __typename
                containerId
                bin
              }
              ... on NetworkTokenOriginDetails {
                __typename
                bin
              }
              ... on SamsungPayOriginDetails {
                __typename
                bin
              }
              ... on VisaCheckoutOriginDetails {
                __typename
                callId
                bin
              }
              ... on PayPalLocalPaymentOriginDetails {
                __typename
                captureId
                customField
                paymentId
                transactionFee {
                  value
                  currencyCode
                }
                blikAliases {
                  key
                  label
                }
              }
              ... on CardPresentOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                readerId
                storeId
              }
              ... on EmvCardOriginDetails {
                __typename
                authorizationMode
                pinVerified
                inputMode
                terminalId
                applicationPreferredName
                applicationIdentifier
                terminalVerificationResult
                cardSequenceNumber
                applicationInterchangeProfile
                terminalTransactionDate
                terminalTransactionType
                cashbackAmount
                applicationUsageControl
                terminalCountryCode
                applicationCryptogram
                cryptogramInformationData
                cardholderVerificationMethodResults
                applicationTransactionCounter
                unpredictableNumber
                issuerActionCodeDefault
                issuerActionCodeDenial
                issuerActionCodeOnline
                readerId
                storeId
              }
            }
          }
          limitedUseOrderId
          selectedFinancingOption {
            term
            monthlyPayment {
              value
              currencyCode
            }
            discountPercentage
            discountAmount {
              value
              currencyCode
            }
          }
          fundingSourceDescription
          vaultedBillingAgreementId
        }
        ... on SamsungPayCardDetails {
          __typename
          brand
          brandCode
          bin
          binData {
            prepaid
            healthcare
            debit
            durbinRegulated
            commercial
            payroll
            issuingBank
            countryOfIssuance
            productId
            prepaidReloadable
            business
            consumer
            corporate
            purchase
          }
          sourceCardLast4
        }
        ... on VenmoAccountDetails {
          __typename
          username
          venmoUserId
        }
        ... on UsBankAccountDetails {
          __typename
          accountholderName
          accountType
          ownershipType
          bankName
          last4
          routingNumber
          verified
          achMandate {
            acceptedAt
          }
        }
        ... on SEPADirectDebitAccountDetails {
          __typename
          merchantOrPartnerCustomerId
          last4
          bankReferenceToken
          mandateType
        }
      }
      customer {
        __typename
        id
        legacyId
      }
    }
  }
}
```

### Tokenize a credit card with billing address

Tokenizes a credit card including a full billing address. The response contains a union type for payment method details that resolves to CreditCardDetails with nested origin union.


```graphql
mutation tokenizeCreditCard($input: TokenizeCreditCardInput!) {
  tokenizeCreditCard(input: $input) {
    clientMutationId
    paymentMethod {
      id
      legacyId
      usage
      createdAt
      details {
        ... on CreditCardDetails {
          __typename
          brandCode
          last4
          bin
          binData {
            prepaid
            healthcare
            debit
            durbinRegulated
            commercial
            payroll
            issuingBank
            countryOfIssuance
            productId
          }
          expirationMonth
          expirationYear
          cardholderName
          uniqueNumberIdentifier
        }
        ... on PayPalAccountDetails {
          __typename
          email
          payerId
          firstName
          lastName
        }
        ... on VenmoAccountDetails {
          __typename
          username
          venmoUserId
        }
      }
    }
  }
}
```

#### Variables

```json
{
  "input": {
    "clientMutationId": "tokenize-cc-001",
    "creditCard": {
      "number": "4111111111111111",
      "expirationMonth": "12",
      "expirationYear": "2026",
      "cvv": "123",
      "cardholderName": "John Doe",
      "billingAddress": {
        "firstName": "John",
        "lastName": "Doe",
        "streetAddress": "456 Oak Ave",
        "locality": "San Francisco",
        "region": "CA",
        "postalCode": "94102",
        "countryCode": "US"
      }
    },
    "options": {
      "validate": true
    }
  }
}
```

#### Response

```json
{
  "data": {
    "tokenizeCreditCard": {
      "clientMutationId": "tokenize-cc-001",
      "paymentMethod": {
        "id": "cGF5bWVudG1ldGhvZF92aXNhXzQyNDI",
        "legacyId": "visa_4242_token",
        "usage": "SINGLE_USE",
        "createdAt": "2024-06-20T14:00:00.000Z",
        "details": {
          "__typename": "CreditCardDetails",
          "brandCode": "VISA",
          "last4": "1111",
          "bin": "411111",
          "binData": {
            "prepaid": "UNKNOWN",
            "healthcare": "UNKNOWN",
            "debit": "NO",
            "durbinRegulated": "NO",
            "commercial": "NO",
            "payroll": "NO",
            "issuingBank": "JPMORGAN CHASE",
            "countryOfIssuance": "USA",
            "productId": "A"
          },
          "expirationMonth": "12",
          "expirationYear": "2026",
          "cardholderName": "John Doe",
          "uniqueNumberIdentifier": "unique_456"
        }
      }
    }
  },
  "extensions": {
    "requestId": "tokenize-cc-request-id"
  }
}
```

---

[View the complete GraphQL schema on GitHub](https://raw.githubusercontent.com/braintree/graphql-api/refs/heads/master/schema.graphql)