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"
}
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"
]
}
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:
- 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.
- Crawler clarity: AI engines parsing the page get unambiguous payment-method facts.
-
Validation pass: Google's Rich Results Test recognizes GoodRelations URIs as valid
paymentMethodvalues. - 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."
}
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/.
Top comments (0)