money.graphql 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. # A monetary value with currency.
  2. type MoneyV2 {
  3. # Decimal money amount.
  4. amount: Decimal!
  5. # Currency of the money.
  6. currencyCode: CurrencyCode!
  7. }
  8. # A collection of monetary values in their respective currencies. Typically used in the context of multi-currency pricing and transactions,
  9. # when an amount in the shop's currency is converted to the customer's currency of choice (the presentment currency).
  10. type MoneyBag {
  11. # Amount in presentment currency.
  12. presentmentMoney: MoneyV2!
  13. # Amount in shop currency.
  14. shopMoney: MoneyV2!
  15. }
  16. # Represents a price list, including information about related prices and eligibility rules.
  17. # You can use price lists to specify either fixed prices or adjusted relative prices that
  18. # override initial product variant prices. Price lists are applied to customers
  19. # using context rules, which determine price list eligibility.
  20. #
  21. # For more information on price lists, refer to
  22. # Support different pricing models.
  23. type PriceList implements Node {
  24. # A set of facts about the customer, used to determine price list eligibility.
  25. contextRule: PriceListContextRule
  26. # The currency for fixed prices associated with this price list.
  27. currency: CurrencyCode!
  28. # A globally-unique identifier.
  29. id: ID!
  30. # The unique name of the price list, used as a human-readable identifier.
  31. name: String!
  32. # Relative adjustments to other prices.
  33. parent: PriceListParent
  34. # A list of prices associated with the price list.
  35. prices(
  36. originType: PriceListPriceOriginType
  37. first: Int
  38. after: String
  39. last: Int
  40. before: String
  41. reverse: Boolean = false
  42. ): PriceListPriceConnection!
  43. }
  44. # One type of value given to a customer when a discount is applied to an order.
  45. # The application of a discount with this value gives the customer the specified percentage off a specified item.
  46. type PricingPercentageValue {
  47. # The percentage value of the object.
  48. # This is a number between -100 (free) and 0 (no discount).
  49. percentage: Float!
  50. }
  51. # Represents information about pricing for a product variant
  52. # as defined on a price list, such as the price, compare at price, and origin type.
  53. # You can use a PriceListPrice to specify a fixed price for a specific product variant.
  54. type PriceListPrice {
  55. # The compare-at price of the product variant on this price list.
  56. compareAtPrice: MoneyV2
  57. # The origin of a price, either fixed (defined on the price list) or relative (calculated using a price list adjustment configuration).
  58. originType: PriceListPriceOriginType!
  59. # The price of the product variant on this price list.
  60. price: MoneyV2!
  61. # The product variant associated with this price.
  62. variant: ProductVariant!
  63. }
  64. # Facts about the customer that was used to determine the price list eligibility.
  65. # For example, if the PriceListContextRule is for a US market, then the price list will be eligible to all customers in the US.
  66. # For more information on price lists, refer to
  67. # Support different pricing models.
  68. type PriceListContextRule {
  69. # A list of two letter country codes that determines price list eligibility.
  70. countries: [CountryCode!]!
  71. # The associated market.
  72. market: Market
  73. }
  74. # Represents relative adjustments from one price list to other prices.
  75. # You can use a PriceListParent to specify an adjusted relative price using a percentage-based
  76. # adjustment. Adjusted prices work in conjunction with exchange rules and rounding.
  77. #
  78. # Adjustment types
  79. # support both percentage increases and decreases.
  80. type PriceListParent {
  81. # A price list adjustment.
  82. adjustment: PriceListAdjustment!
  83. }
  84. # The type and value of a price list adjustment.
  85. #
  86. # For more information on price lists, refer to
  87. # Support different pricing models.
  88. type PriceListAdjustment {
  89. # The type of price adjustment, such as percentage increase or decrease.
  90. type: PriceListAdjustmentType!
  91. # The value of price adjustment, where positive numbers reduce the prices and negative numbers increase them.
  92. value: Float!
  93. }
  94. # Represents a single tax applied to the associated line item.
  95. type TaxLine {
  96. # Whether the channel that submitted the tax line is liable for remitting. A value of null indicates unknown liability for this tax line.
  97. channelLiable: Boolean
  98. # The amount of tax, in shop and presentment currencies, after discounts and before returns.
  99. priceSet: MoneyBag!
  100. # The proportion of the line item price that the tax represents as a decimal.
  101. rate: Float
  102. # The proportion of the line item price that the tax represents as a percentage.
  103. ratePercentage: Float
  104. # The name of the tax.
  105. title: String!
  106. }
  107. # An amount that's allocated to a line based on an associated discount application.
  108. type DiscountAllocation {
  109. # The money amount that's allocated to a line based on the associated discount application in shop and presentment currencies.
  110. allocatedAmountSet: MoneyBag!
  111. # The discount application that the allocated amount originated from.
  112. discountApplication: DiscountApplication!
  113. }
  114. # The pricing information about a subscription app.
  115. # The object contains an interval (the frequency at which the shop is billed for an app subscription) and
  116. # a price (the amount to be charged to the subscribing shop at each interval).
  117. type AppRecurringPricing {
  118. # The discount applied to the subscription for a given number of billing intervals.
  119. discount: AppSubscriptionDiscount
  120. # The frequency at which the subscribing shop is billed for an app subscription.
  121. interval: AppPricingInterval!
  122. # The amount and currency to be charged to the subscribing shop every billing interval.
  123. price: MoneyV2!
  124. }
  125. # Discount applied to the recurring pricing portion of a subscription.
  126. type AppSubscriptionDiscount {
  127. # The total number of billing intervals to which the discount will be applied.
  128. # The discount will be applied to an indefinite number of billing intervals if this value is blank.
  129. durationLimitInIntervals: Int
  130. # The price of the subscription after the discount is applied.
  131. priceAfterDiscount: MoneyV2!
  132. # The remaining number of billing intervals to which the discount will be applied.
  133. remainingDurationInIntervals: Int
  134. # The value of the discount applied every billing interval.
  135. value: AppSubscriptionDiscountValue!
  136. }
  137. # Defines a usage pricing model for the app subscription.
  138. # These charges are variable based on how much the merchant uses the app.
  139. type AppUsagePricing {
  140. # The total usage records for interval.
  141. balanceUsed: MoneyV2!
  142. # The capped amount prevents the merchant from being charged for any usage over that amount during a billing period.
  143. # This prevents billing from exceeding a maximum threshold over the duration of the billing period.
  144. # For the merchant to continue using the app after exceeding a capped amount, they would need to agree to a new usage charge.
  145. cappedAmount: MoneyV2!
  146. # The frequency with which the app usage records are billed.
  147. interval: AppPricingInterval!
  148. # The terms and conditions for app usage pricing.
  149. # Must be present in order to create usage charges.
  150. # The terms are presented to the merchant when they approve an app's usage charges.
  151. terms: String!
  152. }
  153. # The fixed amount value of a discount.
  154. type AppSubscriptionDiscountAmount {
  155. # The fixed amount value of a discount.
  156. amount: MoneyV2!
  157. }
  158. # The percentage value of a discount.
  159. type AppSubscriptionDiscountPercentage {
  160. # The percentage value of a discount.
  161. percentage: Float!
  162. }
  163. # The percentage value of a selling plan pricing policy percentage type.
  164. type SellingPlanPricingPolicyPercentageValue {
  165. # The percentage value.
  166. percentage: Float!
  167. }
  168. # Represents an applied code discount.
  169. type SubscriptionAppliedCodeDiscount {
  170. # The unique identifier.
  171. id: ID!
  172. # The redeem code of the discount that applies on the subscription.
  173. redeemCode: String!
  174. # The reason that the discount on the subscription draft is rejected.
  175. rejectionReason: SubscriptionDiscountRejectionReason
  176. }
  177. # The value of the discount and how it will be applied.
  178. type SubscriptionDiscountFixedAmountValue {
  179. # The fixed amount value of the discount.
  180. amount: MoneyV2!
  181. # Whether the amount is applied per item.
  182. appliesOnEachItem: Boolean!
  183. }
  184. # The percentage value of the discount.
  185. type SubscriptionDiscountPercentageValue {
  186. # The percentage value of the discount.
  187. percentage: Int!
  188. }
  189. # Represents a credit card payment instrument.
  190. type VaultCreditCard {
  191. # The billing address of the card.
  192. billingAddress: CustomerCreditCardBillingAddress
  193. # The brand for the card.
  194. brand: String!
  195. # Whether the card has been expired.
  196. expired: Boolean!
  197. # The expiry month of the card.
  198. expiryMonth: Int!
  199. # The expiry year of the card.
  200. expiryYear: Int!
  201. # The last four digits for the card.
  202. lastDigits: String!
  203. # The name of the card holder.
  204. name: String!
  205. }
  206. # Represents a paypal billing agreement payment instrument.
  207. type VaultPaypalBillingAgreement {
  208. # Whether the paypal billing agreement is inactive.
  209. inactive: Boolean!
  210. # The paypal account name.
  211. name: String!
  212. # The paypal account email address.
  213. paypalAccountEmail: String!
  214. }
  215. # An auto-generated type for paginating through multiple PriceListPrices.
  216. type PriceListPriceConnection {
  217. # A list of edges.
  218. edges: [PriceListPriceEdge!]!
  219. # A list of the nodes contained in PriceListPriceEdge.
  220. nodes: [PriceListPrice!]!
  221. # Information to aid in pagination.
  222. pageInfo: PageInfo!
  223. }
  224. # An auto-generated type which holds one PriceListPrice and a cursor during pagination.
  225. type PriceListPriceEdge {
  226. # A cursor for use in pagination.
  227. cursor: String!
  228. # The item at the end of PriceListPriceEdge.
  229. node: PriceListPrice!
  230. }