DEV Community

Joseph Anady
Joseph Anady

Posted on • Originally published at steelesolutions4u.com

GoodRelations payment method URIs: the underused Schema.org pattern for financial services

GoodRelations payment method URIs: the underused Schema.org pattern for financial services

Schema.org has a built-in paymentAccepted string property, and a paymentMethod URL-typed property. Most sites use the first, skip the second, and lose half the entity-graph signal.

The paymentMethod field accepts URIs from the GoodRelations vocabulary, which provides explicit machine-readable identifiers for every common payment instrument. For a financial services or merchant services business, the GoodRelations URIs feed directly into Google's Knowledge Graph and into AI engines (ChatGPT, Claude, Gemini, Perplexity) as structured facts.

This is the pattern as it appears on Steele Solutions, a Branson MO merchant services brokerage.

The standard mistake

Most sites declare payment methods like this:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "paymentAccepted": "Cash, Check, Credit Card"
}
Enter fullscreen mode Exit fullscreen mode

A flat human-readable string. Google reads it. The Knowledge Graph parses some recognizable terms. The signal is shallow.

The GoodRelations pattern

{
  "@context": "https://schema.org",
  "@type": ["LocalBusiness", "FinancialService"],
  "paymentAccepted": "Cash, Check, ACH, Wire, Visa, Mastercard, American Express, Discover",
  "paymentMethod": [
    "http://purl.org/goodrelations/v1#Cash",
    "http://purl.org/goodrelations/v1#Check",
    "http://purl.org/goodrelations/v1#PaymentMethodCreditCard",
    "http://purl.org/goodrelations/v1#DirectDebit",
    "http://purl.org/goodrelations/v1#ByBankTransferInAdvance"
  ]
}
Enter fullscreen mode Exit fullscreen mode

The URI array is the explicit, deterministic version. Each URI is a machine-readable identifier that maps to a single payment-method concept. Google does not have to do natural-language parsing.

Available GoodRelations payment-method URIs

The full list of GoodRelations payment-method URIs (most often used):

URI Maps to
http://purl.org/goodrelations/v1#Cash Physical cash transactions
http://purl.org/goodrelations/v1#Check Paper or electronic check
http://purl.org/goodrelations/v1#PaymentMethodCreditCard Generic credit card
http://purl.org/goodrelations/v1#DirectDebit Bank account ACH
http://purl.org/goodrelations/v1#ByBankTransferInAdvance Wire transfer
http://purl.org/goodrelations/v1#ByInvoice Net-30 invoice billing
http://purl.org/goodrelations/v1#COD Cash on delivery
http://purl.org/goodrelations/v1#GoogleCheckout (historical)
http://purl.org/goodrelations/v1#PayPal (deprecated, use string)
http://purl.org/goodrelations/v1#PaymentMethodCard Generic card payment

For specific card brands (Visa, Mastercard, etc.), the GoodRelations vocabulary defines:

URI Brand
http://purl.org/goodrelations/v1#VISA Visa
http://purl.org/goodrelations/v1#MasterCard Mastercard
http://purl.org/goodrelations/v1#AmericanExpress American Express
http://purl.org/goodrelations/v1#Discover Discover
http://purl.org/goodrelations/v1#JCB JCB
http://purl.org/goodrelations/v1#DinersClub Diners Club

These are the canonical identifiers for each card network as far as the linked-data web is concerned.

What this signals

For a merchant services brokerage, the GoodRelations array signals:

  1. Topical relevance: a business that explicitly enumerates GoodRelations URIs is participating in the structured-payments-vocabulary ecosystem. Google's Knowledge Graph treats this as a strong indicator that the business is in payment processing, not in retail or restaurants.
  2. Crawler clarity: AI engines parsing the page get unambiguous payment-method facts.
  3. Validation pass: Google's Rich Results Test recognizes GoodRelations URIs as valid paymentMethod values.
  4. Future-proofing: Schema.org may add native enums for payment methods someday. GoodRelations is the bridge until then.

What this does not signal

GoodRelations URIs do not currently produce rich snippets, knowledge panels, or special SERP features by themselves. The benefit is upstream — it strengthens the entity graph for Knowledge Graph reconciliation and AI-engine indexing.

The Steele Solutions example

For Steele Solutions, the paymentMethod array works alongside the broader Schema.org graph:

{
  "@type": ["LocalBusiness", "FinancialService", "ProfessionalService"],
  "@id": "https://steelesolutions4u.com/#org",
  "currenciesAccepted": "USD",
  "paymentAccepted": "Cash, Check, ACH, Wire, Visa, Mastercard, American Express, Discover",
  "paymentMethod": [
    "http://purl.org/goodrelations/v1#Cash",
    "http://purl.org/goodrelations/v1#Check",
    "http://purl.org/goodrelations/v1#PaymentMethodCreditCard",
    "http://purl.org/goodrelations/v1#DirectDebit",
    "http://purl.org/goodrelations/v1#ByBankTransferInAdvance"
  ],
  "priceRange": "$0 install, no contracts. Statement audit free."
}
Enter fullscreen mode Exit fullscreen mode

Combined with the FinancialService type and the 10-service hasOfferCatalog, the GoodRelations URIs round out the merchant-services entity declaration.

How to verify

Test the markup at Google's Rich Results Test. The paymentMethod field with GoodRelations URIs should validate without warnings. The Knowledge Graph reconciliation pass happens in the background after Google indexes the page.

For Steele Solutions, the complete schema is at https://steelesolutions4u.com/entity.json. The site implementation is at https://steelesolutions4u.com/.

Reference

Top comments (0)