| Index: components/payments/content/payment_request.mojom
|
| diff --git a/components/payments/content/payment_request.mojom b/components/payments/content/payment_request.mojom
|
| deleted file mode 100644
|
| index 600838286adf210199a922a77ae0151e83c2dcf3..0000000000000000000000000000000000000000
|
| --- a/components/payments/content/payment_request.mojom
|
| +++ /dev/null
|
| @@ -1,223 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -[JavaPackage="org.chromium.payments.mojom"]
|
| -module payments.mojom;
|
| -
|
| -// The shipping address that the browser process provides to the renderer
|
| -// process. Built either by the browser or a payment app.
|
| -struct PaymentAddress {
|
| - // ISO 3166 country code. Two upper case ASCII letters.
|
| - string country;
|
| -
|
| - array<string> address_line;
|
| - string region;
|
| - string city;
|
| - string dependent_locality;
|
| - string postal_code;
|
| - string sorting_code;
|
| -
|
| - // Optional shortest ISO 639 language code. Two or three lower case ASCII
|
| - // letters.
|
| - string language_code;
|
| -
|
| - // Optional ISO 15924 script code. Four ASCII letters. The first letter is
|
| - // upper case; the rest are lower case.
|
| - string script_code;
|
| -
|
| - string organization;
|
| - string recipient;
|
| - string phone;
|
| -};
|
| -
|
| -// The currency amount that the renderer provides to the browser process. The
|
| -// browser shows the amount in UI and forwards it on to the payment app, if it
|
| -// requires the amount.
|
| -struct PaymentCurrencyAmount {
|
| - // The most common identifiers are three-letter alphabetic codes as defined
|
| - // by [ISO4217] (for example, "USD" for US Dollars), however any string of at
|
| - // most 2048 characters is considered valid.
|
| - string currency;
|
| -
|
| - // ISO 20022 CurrencyAnd30Amount. Up to 30 total digits. Up to 10 fraction
|
| - // digits. Separated by a dot.
|
| - string value;
|
| -
|
| - // currency_system is a URL that indicates the currency system that the
|
| - // currency identifier belongs to. By default, the value is
|
| - // urn:iso:std:iso:4217 indicating that currency is defined by [ISO4217]
|
| - // (for example, USD for US Dollars).
|
| - string currency_system = "urn:iso:std:iso:4217";
|
| -};
|
| -
|
| -struct PaymentResponse {
|
| - string method_name;
|
| -
|
| - // Payment method specific JSON string that is built either by the browser or
|
| - // a payment app, for example Android Pay. Browser ensures that the string can
|
| - // be successfully parsed into base::JSONParser. Renderer parses this string
|
| - // via v8::JSON::Parse() and hands off the result to the merchant website.
|
| - // There's no one format for this object, so more specific types cannot be
|
| - // used. A simple example:
|
| - //
|
| - // {"nameOnCard": "Jon Doe", "pan": "4111 1111 1111 1111"}
|
| - string stringified_details;
|
| -
|
| - PaymentAddress? shipping_address;
|
| - string? shipping_option;
|
| - string? payer_name;
|
| - string? payer_email;
|
| - string? payer_phone;
|
| -};
|
| -
|
| -enum PaymentErrorReason {
|
| - UNKNOWN,
|
| - USER_CANCEL,
|
| - NOT_SUPPORTED
|
| -};
|
| -
|
| -enum CanMakePaymentQueryResult {
|
| - CAN_MAKE_PAYMENT,
|
| - CANNOT_MAKE_PAYMENT,
|
| - QUERY_QUOTA_EXCEEDED
|
| -};
|
| -
|
| -interface PaymentRequestClient {
|
| - OnShippingAddressChange(PaymentAddress address);
|
| - OnShippingOptionChange(string shipping_option_id);
|
| - OnPaymentResponse(PaymentResponse response);
|
| - OnError(PaymentErrorReason error);
|
| - OnComplete();
|
| - OnAbort(bool aborted_successfully);
|
| - OnCanMakePayment(CanMakePaymentQueryResult result);
|
| -};
|
| -
|
| -struct PaymentItem {
|
| - string label;
|
| - PaymentCurrencyAmount amount;
|
| - bool pending;
|
| -};
|
| -
|
| -struct PaymentShippingOption {
|
| - string id;
|
| - string label;
|
| - PaymentCurrencyAmount amount;
|
| - bool selected;
|
| -};
|
| -
|
| -enum AndroidPayEnvironment {
|
| - PRODUCTION,
|
| - TEST
|
| -};
|
| -
|
| -enum AndroidPayCardNetwork {
|
| - AMEX,
|
| - DISCOVER,
|
| - MASTERCARD,
|
| - VISA
|
| -};
|
| -
|
| -enum AndroidPayTokenization {
|
| - UNSPECIFIED,
|
| - GATEWAY_TOKEN,
|
| - NETWORK_TOKEN
|
| -};
|
| -
|
| -struct AndroidPayTokenizationParameter {
|
| - string? key;
|
| - string? value;
|
| -};
|
| -
|
| -enum BasicCardNetwork {
|
| - AMEX,
|
| - DINERS,
|
| - DISCOVER,
|
| - JCB,
|
| - MASTERCARD,
|
| - MIR,
|
| - UNIONPAY,
|
| - VISA
|
| -};
|
| -
|
| -enum BasicCardType {
|
| - CREDIT,
|
| - DEBIT,
|
| - PREPAID
|
| -};
|
| -
|
| -struct PaymentMethodData {
|
| - array<string> supported_methods;
|
| -
|
| - // A JSON string built by the renderer from a JavaScript object that the
|
| - // merchant website provides. The renderer uses
|
| - // blink::JSONObject::toJSONString() to generate this string. The browser does
|
| - // not parse the string and passes it as-is directly to payment apps. There's
|
| - // no one format for this object, so more specific types cannot be used. A
|
| - // simple example:
|
| - //
|
| - // {"gateway": "stripe"}
|
| - string stringified_data;
|
| -
|
| - // Android Pay specific method data is parsed in the renderer.
|
| - // https://developers.google.com/web/fundamentals/getting-started/primers/payment-request/android-pay
|
| - // TODO(rouslan): Stop parsing Android Pay data. http://crbug.com/620173
|
| - AndroidPayEnvironment environment;
|
| - string? merchant_name;
|
| - string? merchant_id;
|
| - array<AndroidPayCardNetwork> allowed_card_networks;
|
| - AndroidPayTokenization tokenization_type;
|
| - array<AndroidPayTokenizationParameter> parameters;
|
| - // Value of 0 means the merchant did not specify or it was an invalid value.
|
| - int32 min_google_play_services_version;
|
| -
|
| - // Basic card specific method data is parsed in the renderer.
|
| - array<BasicCardNetwork> supported_networks;
|
| - array<BasicCardType> supported_types;
|
| -};
|
| -
|
| -struct PaymentDetailsModifier {
|
| - PaymentItem? total;
|
| - array<PaymentItem> additional_display_items;
|
| - PaymentMethodData method_data;
|
| -};
|
| -
|
| -struct PaymentDetails {
|
| - PaymentItem? total;
|
| - array<PaymentItem> display_items;
|
| - array<PaymentShippingOption> shipping_options;
|
| - array<PaymentDetailsModifier> modifiers;
|
| - string error = "";
|
| -};
|
| -
|
| -enum PaymentShippingType {
|
| - SHIPPING,
|
| - DELIVERY,
|
| - PICKUP
|
| -};
|
| -
|
| -struct PaymentOptions {
|
| - bool request_payer_name;
|
| - bool request_payer_email;
|
| - bool request_payer_phone;
|
| - bool request_shipping;
|
| - PaymentShippingType shipping_type;
|
| -};
|
| -
|
| -enum PaymentComplete {
|
| - SUCCESS,
|
| - FAIL,
|
| - UNKNOWN
|
| -};
|
| -
|
| -interface PaymentRequest {
|
| - Init(PaymentRequestClient client,
|
| - array<PaymentMethodData> method_data,
|
| - PaymentDetails details,
|
| - PaymentOptions options);
|
| - Show();
|
| - UpdateWith(PaymentDetails details);
|
| - Abort();
|
| - Complete(PaymentComplete result);
|
| - CanMakePayment();
|
| -};
|
|
|