1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.type; 18 19option cc_enable_arenas = true; 20option go_package = "google.golang.org/genproto/googleapis/type/money;money"; 21option java_multiple_files = true; 22option java_outer_classname = "MoneyProto"; 23option java_package = "com.google.type"; 24option objc_class_prefix = "GTP"; 25 26// Represents an amount of money with its currency type. 27message Money { 28 // The three-letter currency code defined in ISO 4217. 29 string currency_code = 1; 30 31 // The whole units of the amount. 32 // For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. 33 int64 units = 2; 34 35 // Number of nano (10^-9) units of the amount. 36 // The value must be between -999,999,999 and +999,999,999 inclusive. 37 // If `units` is positive, `nanos` must be positive or zero. 38 // If `units` is zero, `nanos` can be positive, zero, or negative. 39 // If `units` is negative, `nanos` must be negative or zero. 40 // For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. 41 int32 nanos = 3; 42} 43