- From: Rouslan Solomakhin <notifications@github.com>
- Date: Wed, 07 Sep 2016 17:35:05 -0700
- To: w3c/webpayments-payment-apps-api <webpayments-payment-apps-api@noreply.github.com>
- Message-ID: <w3c/webpayments-payment-apps-api/issues/35@github.com>
I argue that `https://bobpay.xyz` can identify both a payment app and a payment method. A payment app may live in `https://bobpay.xyz/sw.js` and may be described in `https://bobpay.xyz/payment-app.json`. The JSON file should contain the app's title and icons at the very least. This is also a good place to specify a list of all payment methods that this app supports. A payment method may be defined in `https://bobpay.xyz/payment-method.json`. This JSON file should describe who is allowed to use this payment method. This can be either unrestricted or a whitelist of payment app identifiers, i.e., URLs. Thus we have both a payment app and a payment method identified by `https://bobpay.xyz`. To make things slighly easier for ourselves, let's say that the payment app `https://bobpay.xyz` should always support the the `https://bobpay.xyz` payment method. To be more concrete, let's take a look at an ecosystem of 3 payment methods and 3 payment apps. ### Payment methods * `https://alicepay.xyz` is an unrestricted payment method, as specified in `https://alicepay.xyz/payment-method.json`: ```json { "externally_supported_apps": ["*"] } ``` * `https://bobpay.xyz` is a singleton payment method. Only one app is allowed to use it. This is specified in `https://bobpayx.xyz/payment-method.json`: ```json { "externally_supported_apps": ["https://bobpay.xyz"] } ``` * `https://charliepay.xyz` is a payment method that allows a whitelist of apps to use it. Specified in `htps://charliepay.xyz/payment-method.json`: ```json { "externally_supported_apps": [ "https://bobpay.xyz", "https://charliepay.xyz" ] } ``` ### Payment apps * `https://alicepay.xyz` is a payment app that works with only one payment method. This is specified in `https://alicepay.xyz/payment-app.json`: ```js { "name": "AlicePay" "icons": [], // Web payment extension. "payment_methods": ["https://alicepay.xyz"], "payment_app_service_worker": "/sw.js" } ``` * `https://bobpay.xyz` is a payment app that works with all payment methods in this ecosystem. Specified in `https://bobpay.xyz/payment-app.json`: ```js { "name": "BobPay" "icons": [], // Web payment extension. "payment_methods": [ "https://alicepay.xyz", "https://bobpay.xyz", "https://charliepay.xyz" ], "payment_app_service_worker": "/sw.js" } ``` * `https://charliepay.xyz` is a payment app that works with only two out of three payment methods, as specified in `https://charliepay.xyz/payment-app.json`: ```js { "name": "CharliePay" "icons": [], // Web payment extension. "payment_methods": [ "https://alicepay.xyz", "https://charliepay.xyz" ], "payment_app_service_worker": "/sw.js" } ``` Exact fields are not set in stone. The manifests are based on [appmanifest](https://www.w3.org/TR/appmanifest/). -- 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-payment-apps-api/issues/35
Received on Thursday, 8 September 2016 00:35:41 UTC