XooCode(){

PaymentCard

PaymentCard describes a credit, debit, or store card as a bank / issuer product. It dual-inherits from PaymentMethod (so it can sit under acceptedPaymentMethod on an Offer) and from FinancialProduct (so the same node carries interest rates, fees, and terms as publishable product data).

Full example of schema.org/PaymentCard json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/PaymentCard
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PaymentCard",
  "name": "XooCard Platinum",
  "provider": {
    "@type": "BankOrCreditUnion",
    "name": "Dunmore Savings & Loan"
  },
  "cashBack": 0.02,
  "contactlessPayment": true,
  "floorLimit": {
    "@type": "MonetaryAmount",
    "value": 500,
    "currency": "USD"
  },
  "monthlyMinimumRepaymentAmount": {
    "@type": "MonetaryAmount",
    "value": 25,
    "currency": "USD"
  },
  "annualPercentageRate": 18.99,
  "feesAndCommissionsSpecification": "Annual fee: $95. Foreign transaction fee: 3%."
}
</script>

Direct properties (4)

  • cashBack: Number (fraction) or Boolean. 0.02 = 2% back on all purchases.
  • contactlessPayment: Boolean, supports tap-to-pay.
  • floorLimit: MonetaryAmount; transactions at or above this threshold require online authorization.
  • monthlyMinimumRepaymentAmount: MonetaryAmount | Number; the minimum payment due each statement.

Why dual inheritance matters

PaymentMethod alone is a classification (the card "type"). FinancialProduct alone is the marketable offering. PaymentCard carries both at once so one node can serve as "what a merchant accepts" (Offer.acceptedPaymentMethod) and "what an issuer sells" (FinancialService.hasOfferCatalog).

Minimal valid version

The smallest markup that still produces a valid PaymentCard entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/PaymentCard (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PaymentCard",
  "name": "XooCard Platinum",
  "contactlessPayment": true
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • No dedicated rich result (feeds FinancialProduct knowledge panels)
    Google docs

Common PaymentCard mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    cashBack as a percentage integer

    Wrong
    "cashBack": 2
    Right
    "cashBack": 0.02

    Fraction, not percent. Consumers that compare cards sort on the raw number; 2 reads as 200% back.

  2. 02

    PaymentCard on an Offer directly

    Wrong
    "itemOffered": { "@type": "PaymentCard", … }
    Right
    "acceptedPaymentMethod": "https://schema.org/CreditCard"

    Merchant acceptance is a PaymentMethod classification, not a full PaymentCard product node — unless the merchant is an issuer selling the card.

  3. 03

    floorLimit as a bare number

    Wrong
    "floorLimit": 500
    Right
    MonetaryAmount with value and currency

    Needs the currency context; a bare number can't compare across markets.

Also mentioned in 2 other examples

PaymentCard also appears in CreditCard, and PaymentMethod. See the full PaymentCard schema page for every reference.

About the example data

Dunmore Savings & Loan's "XooCard Platinum" credit card, 2% cashback, contactless, $500 floor limit, $25 minimum monthly payment.

Comments

Loading comments...

Leave a comment