- From: Marcos Cáceres <notifications@github.com>
- Date: Sun, 28 May 2017 18:12:12 -0700
- To: w3c/browser-payment-api <browser-payment-api@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/browser-payment-api/pull/536/c304552927@github.com>
The bitcoin use case is easily addressed by simply moving the the version number to the PMI. Thus: ```JS const v1 = [{ supportedMethods: ["bitcoin-v1"], data: { pki_type: "none", pki_data: "", serialized_payment_details: "F1AABE5B69...", signature: "1FE56C09..." } }; // V2 added new things, changes the semantics/types of v1 fields const v2 = [{ supportedMethods: ["bitcoin-v2"], data: { this_is_needed_in_v2: "thing", // Add new field pki_type: ["this", "is", "now", "an", "array"], pki_data: "", serialized_payment_details: "F1AABE5B69...", signature: "1FE56C09..." } }; // Bitcoin v3 recognized the error of their ways, so it's backwards compatible with v1, but adds further information const v3 = [{ supportedMethods: ["bitcoin-v1", "bitcoin-v3"], data: { // In v3, we add this field the is needed for a better user experience, // but a v1 processor can safely ignore it: new_field_ignored_in_v1: ["thing"], pki_type: "none", pki_data: "", serialized_payment_details: "F1AABE5B69...", signature: "1FE56C09..." } }; ``` And so, this works fine: ```JS const paymentRequest = new PaymentRequest([v3, v2, v1], details, options) ``` What am I missing? If nothing, then option 2 remains. -- 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/browser-payment-api/pull/536#issuecomment-304552927
Received on Monday, 29 May 2017 01:12:44 UTC