[w3c/webpayments] Payment Methods vs Payment Instruments (#124)

I feel that section 4.1 (Supported vs Enabled Payment Methods) in the Payment Apps spec proposal has some room for improvement. Right now, a payment method can be "supported" and/or "enabled" or neither. However, it might be the case that the user has configured multiple sets of credentials for a single payment method (two different visa cards for instance).

I would like to propose that we separate the concepts of "supported payment methods" and "enabled payment methods" a bit more. How about the following definitions?

**Before:** "Supported payment method"
**Now:** "Payment Method"
**New definition:** _A Payment Method is a general method or scheme for performing a payment. Examples are "Visa", "MasterCard", "PayPal" etc._

**Before:** "Enabled payment method"
**Now:** "Payment Instrument"
**New definition:** _A Payment Instrument is a specific instance of a Payment Method. Examples are "Visa card ending in 1234", "MasterCard ending in 2345", "PayPal account with username john.doe@example.com"_


With these definitions it makes sense to let a user agent query the payment app for two things:

1. The list of payment methods. The app should have one or more payment methods.
1. The list of payment instruments for the current user or user-agent (zero or more).

It would also be useful if the user-agent could support the following two actions:

1. `configure`: This action prompts the payment app to let the user configure a Payment Instrument (optionally for a given Payment Method). This action should terminate in a call to a new API call `registerPaymentInstrument` upon successful configuration of the instrument.
1. `pay`: Initiates a payment for a given Payment Instrument.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webpayments/issues/124

Received on Tuesday, 19 April 2016 08:07:26 UTC