- From: Hugh Paterson III <sil.linguist@gmail.com>
- Date: Tue, 6 Aug 2024 09:11:18 -0700
- To: Matthias Wiesmann <wiesmann@google.com>
- Cc: public-schemaorg@w3.org
- Message-ID: <CAE=3Ky-x+3mJYX+gdz6b9Qbs63UKMBwXAQjMAbbX2HcFdzzBRQ@mail.gmail.com>
Coming from a USA/Europe perspective one issue encountered is on which system people are able to accept payments. For example, Europe has IBAN and a USA bank account often can’t transfer funds directly. So even within a value related to bank transfers there are different financial systems and these should be able to be exposed for machines and end-users. All the best, -Hugh Sent from my iPhone On Mon, Aug 5, 2024 at 8:49 AM Matthias Wiesmann <wiesmann@google.com> wrote: > Hi everyone, > > A few weeks ago, I opened issue 3537 > <https://github.com/schemaorg/schemaorg/issues/3537> as I think that the > payment method representation is currently not usable and needs a serious > overhaul. > > I would like to explain why, and discuss what can be done to fix it. > Currently, the acceptedPaymentMethod field of an Organization or an Offer > takes a PaymentMethod object, so far, so good. > > PaymentMethod is defined as an enum, with canonical values defined in the > http://purl.org/goodrelations/v1# prefix which points to the Good > relations page. Maintaining an exhaustive list of payment methods used in > the world is a formidable task, our systems know of 80+, and we only > started looking into this. > > The Good relations page has not been updated since 2011, and the set of > payment methods it has is very limited and very western centric. Even if > you consider the different types of payment, the list is incomplete: for > instance it is missing a way to express InStoreCash for online purchases, a > common mechanism in Asia. > > I would like to decouple two notions: > > - The payment method type (credit card, online service). > - A particular payment method provider (Carte Bleue, Twint). > > Now the payment / credit card types are expressed with an object > hierarchy, so the most compatible way to fix this is to add subclasses for > the other payment types which can have multiple providers. > > PaymentMethod itself would remain an Enum, but with only generic values, > defined in the schema.org namespace, i.e. > > - ByBankTransferInAdvance > - ByInvoice > - Cash > - COD > - DirectDebit > - CashOnDelivery > - InStorePayment > - Carrier (phone) > > With maybe some additional values like SEPA bank transfer. > > PaymentMethod would have the following subclasses: > > - PaymentCard > - CreditCard > - *PaymentService (new)* > - *InstallementService (new)* > > PaymentService could inherit from FinancialService. > > What do you think? > > Cheers > > Matthias > > Matthias‬ wiesmann@google.com | +41 79 603 20 35 > >
Received on Tuesday, 6 August 2024 16:11:34 UTC