stripe 17.1.0 → 17.2.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/CHANGELOG.md +901 -109
  2. package/README.md +4 -4
  3. package/VERSION +1 -1
  4. package/cjs/resources/AccountNotices.js +21 -0
  5. package/cjs/resources/Capital/FinancingOffers.js +21 -0
  6. package/cjs/resources/Capital/FinancingSummary.js +12 -0
  7. package/cjs/resources/Capital/FinancingTransactions.js +17 -0
  8. package/cjs/resources/FinancialConnections/Accounts.js +5 -0
  9. package/cjs/resources/FinancialConnections/Institutions.js +17 -0
  10. package/cjs/resources/GiftCards/Cards.js +23 -0
  11. package/cjs/resources/GiftCards/Transactions.js +33 -0
  12. package/cjs/resources/Invoices.js +17 -0
  13. package/cjs/resources/Issuing/CreditUnderwritingRecords.js +33 -0
  14. package/cjs/resources/Issuing/DisputeSettlementDetails.js +17 -0
  15. package/cjs/resources/Margins.js +22 -0
  16. package/cjs/resources/Orders.js +24 -0
  17. package/cjs/resources/PaymentIntents.js +4 -0
  18. package/cjs/resources/Quotes.js +32 -0
  19. package/cjs/resources/SubscriptionSchedules.js +4 -0
  20. package/cjs/resources/Tax/Associations.js +9 -0
  21. package/cjs/resources/Tax/Forms.js +20 -0
  22. package/cjs/resources/Terminal/ReaderCollectedData.js +12 -0
  23. package/cjs/resources/Terminal/Readers.js +12 -0
  24. package/cjs/resources/TestHelpers/Issuing/Cards.js +4 -0
  25. package/cjs/resources.js +42 -10
  26. package/cjs/stripe.core.js +1 -1
  27. package/esm/resources/AccountNotices.js +18 -0
  28. package/esm/resources/Capital/FinancingOffers.js +18 -0
  29. package/esm/resources/Capital/FinancingSummary.js +9 -0
  30. package/esm/resources/Capital/FinancingTransactions.js +14 -0
  31. package/esm/resources/FinancialConnections/Accounts.js +5 -0
  32. package/esm/resources/FinancialConnections/Institutions.js +14 -0
  33. package/esm/resources/GiftCards/Cards.js +20 -0
  34. package/esm/resources/GiftCards/Transactions.js +30 -0
  35. package/esm/resources/Invoices.js +17 -0
  36. package/esm/resources/Issuing/CreditUnderwritingRecords.js +30 -0
  37. package/esm/resources/Issuing/DisputeSettlementDetails.js +14 -0
  38. package/esm/resources/Margins.js +19 -0
  39. package/esm/resources/Orders.js +21 -0
  40. package/esm/resources/PaymentIntents.js +4 -0
  41. package/esm/resources/Quotes.js +32 -0
  42. package/esm/resources/SubscriptionSchedules.js +4 -0
  43. package/esm/resources/Tax/Associations.js +6 -0
  44. package/esm/resources/Tax/Forms.js +17 -0
  45. package/esm/resources/Terminal/ReaderCollectedData.js +9 -0
  46. package/esm/resources/Terminal/Readers.js +12 -0
  47. package/esm/resources/TestHelpers/Issuing/Cards.js +4 -0
  48. package/esm/resources.js +29 -0
  49. package/esm/stripe.core.js +1 -1
  50. package/package.json +1 -1
  51. package/types/AccountLinksResource.d.ts +5 -1
  52. package/types/AccountNotices.d.ts +113 -0
  53. package/types/AccountNoticesResource.d.ts +98 -0
  54. package/types/AccountSessions.d.ts +75 -5
  55. package/types/AccountSessionsResource.d.ts +354 -5
  56. package/types/Accounts.d.ts +127 -3
  57. package/types/AccountsResource.d.ts +296 -2
  58. package/types/Billing/CreditGrants.d.ts +2 -2
  59. package/types/Billing/CreditGrantsResource.d.ts +2 -2
  60. package/types/Billing/MeterErrorReports.d.ts +106 -0
  61. package/types/Billing/Meters.d.ts +2 -0
  62. package/types/Capital/FinancingOffers.d.ts +188 -0
  63. package/types/Capital/FinancingOffersResource.d.ts +97 -0
  64. package/types/Capital/FinancingSummary.d.ts +106 -0
  65. package/types/Capital/FinancingSummaryResource.d.ts +27 -0
  66. package/types/Capital/FinancingTransactions.d.ts +135 -0
  67. package/types/Capital/FinancingTransactionsResource.d.ts +68 -0
  68. package/types/Charges.d.ts +152 -0
  69. package/types/ChargesResource.d.ts +1294 -0
  70. package/types/Checkout/Sessions.d.ts +309 -5
  71. package/types/Checkout/SessionsResource.d.ts +356 -5
  72. package/types/ConfirmationTokens.d.ts +137 -0
  73. package/types/Coupons.d.ts +1 -1
  74. package/types/CouponsResource.d.ts +1 -1
  75. package/types/CreditNotes.d.ts +21 -0
  76. package/types/CreditNotesResource.d.ts +51 -0
  77. package/types/CustomersResource.d.ts +22 -2
  78. package/types/Disputes.d.ts +152 -0
  79. package/types/DisputesResource.d.ts +120 -0
  80. package/types/EventTypes.d.ts +564 -2
  81. package/types/Events.d.ts +91 -0
  82. package/types/FinancialConnections/AccountInferredBalances.d.ts +38 -0
  83. package/types/FinancialConnections/Accounts.d.ts +29 -1
  84. package/types/FinancialConnections/AccountsResource.d.ts +35 -3
  85. package/types/FinancialConnections/Institutions.d.ts +93 -0
  86. package/types/FinancialConnections/InstitutionsResource.d.ts +47 -0
  87. package/types/FinancialConnections/Sessions.d.ts +49 -1
  88. package/types/FinancialConnections/SessionsResource.d.ts +38 -1
  89. package/types/Forwarding/Requests.d.ts +5 -0
  90. package/types/GiftCards/Cards.d.ts +118 -0
  91. package/types/GiftCards/CardsResource.d.ts +159 -0
  92. package/types/GiftCards/Transactions.d.ts +129 -0
  93. package/types/GiftCards/TransactionsResource.d.ts +201 -0
  94. package/types/InvoiceItems.d.ts +5 -0
  95. package/types/InvoiceItemsResource.d.ts +98 -0
  96. package/types/InvoiceLineItems.d.ts +31 -1
  97. package/types/InvoicePayments.d.ts +138 -0
  98. package/types/Invoices.d.ts +134 -3
  99. package/types/InvoicesResource.d.ts +5478 -1799
  100. package/types/Issuing/Authorizations.d.ts +1 -1
  101. package/types/Issuing/AuthorizationsResource.d.ts +1 -1
  102. package/types/Issuing/CardholdersResource.d.ts +2 -1
  103. package/types/Issuing/CreditUnderwritingRecords.d.ts +451 -0
  104. package/types/Issuing/CreditUnderwritingRecordsResource.d.ts +1032 -0
  105. package/types/Issuing/DisputeSettlementDetails.d.ts +73 -0
  106. package/types/Issuing/DisputeSettlementDetailsResource.d.ts +52 -0
  107. package/types/Issuing/Settlements.d.ts +103 -0
  108. package/types/Issuing/Transactions.d.ts +2 -0
  109. package/types/Issuing/TransactionsResource.d.ts +5 -0
  110. package/types/LineItems.d.ts +7 -0
  111. package/types/Mandates.d.ts +85 -0
  112. package/types/Margins.d.ts +56 -0
  113. package/types/MarginsResource.d.ts +114 -0
  114. package/types/Orders.d.ts +1154 -0
  115. package/types/OrdersResource.d.ts +2911 -0
  116. package/types/PaymentIntents.d.ts +643 -1
  117. package/types/PaymentIntentsResource.d.ts +7790 -3514
  118. package/types/PaymentLinks.d.ts +3 -0
  119. package/types/PaymentLinksResource.d.ts +6 -0
  120. package/types/PaymentMethodConfigurations.d.ts +36 -0
  121. package/types/PaymentMethodConfigurationsResource.d.ts +52 -2
  122. package/types/PaymentMethods.d.ts +137 -0
  123. package/types/PaymentMethodsResource.d.ts +158 -0
  124. package/types/Persons.d.ts +1 -1
  125. package/types/Prices.d.ts +22 -0
  126. package/types/PricesResource.d.ts +22 -0
  127. package/types/Products.d.ts +39 -0
  128. package/types/ProductsResource.d.ts +36 -0
  129. package/types/QuoteLines.d.ts +634 -0
  130. package/types/QuotePreviewInvoices.d.ts +1596 -0
  131. package/types/QuotePreviewSubscriptionSchedules.d.ts +814 -0
  132. package/types/Quotes.d.ts +591 -1
  133. package/types/QuotesResource.d.ts +2526 -194
  134. package/types/SetupAttempts.d.ts +19 -0
  135. package/types/SetupIntents.d.ts +112 -1
  136. package/types/SetupIntentsResource.d.ts +669 -3
  137. package/types/Sources.d.ts +23 -0
  138. package/types/SubscriptionItems.d.ts +21 -0
  139. package/types/SubscriptionItemsResource.d.ts +109 -0
  140. package/types/SubscriptionSchedules.d.ts +200 -0
  141. package/types/SubscriptionSchedulesResource.d.ts +1234 -16
  142. package/types/Subscriptions.d.ts +82 -1
  143. package/types/SubscriptionsResource.d.ts +348 -3
  144. package/types/Tax/Associations.d.ts +126 -0
  145. package/types/Tax/AssociationsResource.d.ts +29 -0
  146. package/types/Tax/CalculationLineItems.d.ts +1 -0
  147. package/types/Tax/Calculations.d.ts +33 -1
  148. package/types/Tax/CalculationsResource.d.ts +7 -1
  149. package/types/Tax/Forms.d.ts +133 -0
  150. package/types/Tax/FormsResource.d.ts +90 -0
  151. package/types/Tax/Registrations.d.ts +82 -0
  152. package/types/Tax/RegistrationsResource.d.ts +109 -0
  153. package/types/Tax/Transactions.d.ts +8 -1
  154. package/types/TaxIds.d.ts +7 -1
  155. package/types/TaxIdsResource.d.ts +7 -1
  156. package/types/TaxRates.d.ts +25 -0
  157. package/types/TaxRatesResource.d.ts +2 -0
  158. package/types/Terminal/ReaderCollectedData.d.ts +51 -0
  159. package/types/Terminal/ReaderCollectedDataResource.d.ts +29 -0
  160. package/types/Terminal/Readers.d.ts +278 -0
  161. package/types/Terminal/ReadersResource.d.ts +215 -0
  162. package/types/TestHelpers/ConfirmationTokensResource.d.ts +112 -0
  163. package/types/TestHelpers/Issuing/CardsResource.d.ts +22 -0
  164. package/types/TestHelpers/Treasury/ReceivedCreditsResource.d.ts +26 -0
  165. package/types/TestHelpers/Treasury/ReceivedDebitsResource.d.ts +26 -0
  166. package/types/TokensResource.d.ts +1 -1
  167. package/types/Treasury/FinancialAccounts.d.ts +6 -1
  168. package/types/Treasury/FinancialAccountsResource.d.ts +10 -0
  169. package/types/Treasury/OutboundTransfers.d.ts +26 -0
  170. package/types/Treasury/OutboundTransfersResource.d.ts +26 -0
  171. package/types/Treasury/ReceivedCredits.d.ts +26 -0
  172. package/types/Treasury/ReceivedDebits.d.ts +31 -0
  173. package/types/UsageRecordSummaries.d.ts +1 -1
  174. package/types/WebhookEndpointsResource.d.ts +66 -0
  175. package/types/index.d.ts +53 -0
@@ -0,0 +1,73 @@
1
+ // File generated from our OpenAPI spec
2
+
3
+ declare module 'stripe' {
4
+ namespace Stripe {
5
+ namespace Issuing {
6
+ /**
7
+ * Represents a record from the card network of a money movement or change in state for an Issuing dispute. These records are included in the settlement reports that we receive from networks and expose to users as Settlement objects.
8
+ */
9
+ interface DisputeSettlementDetail {
10
+ /**
11
+ * Unique identifier for the object.
12
+ */
13
+ id: string;
14
+
15
+ /**
16
+ * String representing the object's type. Objects of the same type share the same value.
17
+ */
18
+ object: 'issuing.dispute_settlement_detail';
19
+
20
+ /**
21
+ * Disputed amount in the card's currency and in the smallest currency unit. Usually the amount of the transaction, but can differ (usually because of currency fluctuation).
22
+ */
23
+ amount: number;
24
+
25
+ /**
26
+ * The card used to make the original transaction.
27
+ */
28
+ card: string;
29
+
30
+ /**
31
+ * Time at which the object was created. Measured in seconds since the Unix epoch.
32
+ */
33
+ created: number;
34
+
35
+ /**
36
+ * The currency the original transaction was made in. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
37
+ */
38
+ currency: string;
39
+
40
+ /**
41
+ * The ID of the linked dispute.
42
+ */
43
+ dispute: string;
44
+
45
+ /**
46
+ * The type of event corresponding to this dispute settlement detail, representing the stage in the dispute network lifecycle.
47
+ */
48
+ event_type: DisputeSettlementDetail.EventType;
49
+
50
+ /**
51
+ * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
52
+ */
53
+ livemode: boolean;
54
+
55
+ /**
56
+ * The card network for this dispute settlement detail. One of ["visa", "mastercard", "maestro"]
57
+ */
58
+ network: DisputeSettlementDetail.Network;
59
+
60
+ /**
61
+ * The ID of the linked card network settlement.
62
+ */
63
+ settlement: string | null;
64
+ }
65
+
66
+ namespace DisputeSettlementDetail {
67
+ type EventType = 'filing' | 'loss' | 'representment' | 'win';
68
+
69
+ type Network = 'maestro' | 'mastercard' | 'visa';
70
+ }
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,52 @@
1
+ // File generated from our OpenAPI spec
2
+
3
+ declare module 'stripe' {
4
+ namespace Stripe {
5
+ namespace Issuing {
6
+ interface DisputeSettlementDetailRetrieveParams {
7
+ /**
8
+ * Specifies which fields in the response should be expanded.
9
+ */
10
+ expand?: Array<string>;
11
+ }
12
+
13
+ interface DisputeSettlementDetailListParams extends PaginationParams {
14
+ /**
15
+ * Specifies which fields in the response should be expanded.
16
+ */
17
+ expand?: Array<string>;
18
+
19
+ /**
20
+ * Select the Issuing dispute settlement details for the given settlement.
21
+ */
22
+ settlement?: string;
23
+ }
24
+
25
+ class DisputeSettlementDetailsResource {
26
+ /**
27
+ * Retrieves an Issuing DisputeSettlementDetail object.
28
+ */
29
+ retrieve(
30
+ id: string,
31
+ params?: DisputeSettlementDetailRetrieveParams,
32
+ options?: RequestOptions
33
+ ): Promise<Stripe.Response<Stripe.Issuing.DisputeSettlementDetail>>;
34
+ retrieve(
35
+ id: string,
36
+ options?: RequestOptions
37
+ ): Promise<Stripe.Response<Stripe.Issuing.DisputeSettlementDetail>>;
38
+
39
+ /**
40
+ * Returns a list of Issuing DisputeSettlementDetail objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
41
+ */
42
+ list(
43
+ params?: DisputeSettlementDetailListParams,
44
+ options?: RequestOptions
45
+ ): ApiListPromise<Stripe.Issuing.DisputeSettlementDetail>;
46
+ list(
47
+ options?: RequestOptions
48
+ ): ApiListPromise<Stripe.Issuing.DisputeSettlementDetail>;
49
+ }
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,103 @@
1
+ // File generated from our OpenAPI spec
2
+
3
+ declare module 'stripe' {
4
+ namespace Stripe {
5
+ namespace Issuing {
6
+ /**
7
+ * When a non-stripe BIN is used, any use of an [issued card](https://stripe.com/docs/issuing) must be settled directly with the card network. The net amount owed is represented by an Issuing `Settlement` object.
8
+ */
9
+ interface Settlement {
10
+ /**
11
+ * Unique identifier for the object.
12
+ */
13
+ id: string;
14
+
15
+ /**
16
+ * String representing the object's type. Objects of the same type share the same value.
17
+ */
18
+ object: 'issuing.settlement';
19
+
20
+ /**
21
+ * The Bank Identification Number reflecting this settlement record.
22
+ */
23
+ bin: string;
24
+
25
+ /**
26
+ * The date that the transactions are cleared and posted to user's accounts.
27
+ */
28
+ clearing_date: number;
29
+
30
+ /**
31
+ * Time at which the object was created. Measured in seconds since the Unix epoch.
32
+ */
33
+ created: number;
34
+
35
+ /**
36
+ * Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
37
+ */
38
+ currency: string;
39
+
40
+ /**
41
+ * The total interchange received as reimbursement for the transactions.
42
+ */
43
+ interchange_fees: number;
44
+
45
+ /**
46
+ * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
47
+ */
48
+ livemode: boolean;
49
+
50
+ /**
51
+ * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
52
+ */
53
+ metadata: Stripe.Metadata;
54
+
55
+ /**
56
+ * The total net amount required to settle with the network.
57
+ */
58
+ net_total: number;
59
+
60
+ /**
61
+ * The card network for this settlement report. One of ["visa", "maestro"]
62
+ */
63
+ network: Settlement.Network;
64
+
65
+ /**
66
+ * The total amount of fees owed to the network.
67
+ */
68
+ network_fees: number;
69
+
70
+ /**
71
+ * The Settlement Identification Number assigned by the network.
72
+ */
73
+ network_settlement_identifier: string;
74
+
75
+ /**
76
+ * One of `international` or `uk_national_net`.
77
+ */
78
+ settlement_service: string;
79
+
80
+ /**
81
+ * The current processing status of this settlement.
82
+ */
83
+ status: Settlement.Status;
84
+
85
+ /**
86
+ * The total number of transactions reflected in this settlement.
87
+ */
88
+ transaction_count: number;
89
+
90
+ /**
91
+ * The total transaction amount reflected in this settlement.
92
+ */
93
+ transaction_volume: number;
94
+ }
95
+
96
+ namespace Settlement {
97
+ type Network = 'maestro' | 'visa';
98
+
99
+ type Status = 'complete' | 'pending';
100
+ }
101
+ }
102
+ }
103
+ }
@@ -98,6 +98,8 @@ declare module 'stripe' {
98
98
  */
99
99
  purchase_details?: Transaction.PurchaseDetails | null;
100
100
 
101
+ settlement?: string | Stripe.Issuing.Settlement | null;
102
+
101
103
  /**
102
104
  * [Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this transaction. If a network token was not used for this transaction, this field will be null.
103
105
  */
@@ -43,6 +43,11 @@ declare module 'stripe' {
43
43
  */
44
44
  expand?: Array<string>;
45
45
 
46
+ /**
47
+ * Only return transactions that are associated with the given settlement.
48
+ */
49
+ settlement?: string;
50
+
46
51
  /**
47
52
  * Only return transactions that have the given type. One of `capture` or `refund`.
48
53
  */
@@ -56,6 +56,13 @@ declare module 'stripe' {
56
56
  */
57
57
  price: Stripe.Price | null;
58
58
 
59
+ /**
60
+ * The ID of the product for this line item.
61
+ *
62
+ * This will always be the same as `price.product`.
63
+ */
64
+ product?: string | Stripe.Product | Stripe.DeletedProduct;
65
+
59
66
  /**
60
67
  * The quantity of products being purchased.
61
68
  */
@@ -100,10 +100,16 @@ declare module 'stripe' {
100
100
 
101
101
  cashapp?: PaymentMethodDetails.Cashapp;
102
102
 
103
+ kakao_pay?: PaymentMethodDetails.KakaoPay;
104
+
105
+ kr_card?: PaymentMethodDetails.KrCard;
106
+
103
107
  link?: PaymentMethodDetails.Link;
104
108
 
105
109
  paypal?: PaymentMethodDetails.Paypal;
106
110
 
111
+ payto?: PaymentMethodDetails.Payto;
112
+
107
113
  revolut_pay?: PaymentMethodDetails.RevolutPay;
108
114
 
109
115
  sepa_debit?: PaymentMethodDetails.SepaDebit;
@@ -193,6 +199,10 @@ declare module 'stripe' {
193
199
 
194
200
  interface Cashapp {}
195
201
 
202
+ interface KakaoPay {}
203
+
204
+ interface KrCard {}
205
+
196
206
  interface Link {}
197
207
 
198
208
  interface Paypal {
@@ -201,10 +211,85 @@ declare module 'stripe' {
201
211
  */
202
212
  billing_agreement_id: string | null;
203
213
 
214
+ /**
215
+ * Uniquely identifies this particular PayPal account. You can use this attribute to check whether two PayPal accounts are the same.
216
+ */
217
+ fingerprint?: string | null;
218
+
204
219
  /**
205
220
  * PayPal account PayerID. This identifier uniquely identifies the PayPal customer.
206
221
  */
207
222
  payer_id: string | null;
223
+
224
+ /**
225
+ * Owner's verified email. Values are verified or provided by PayPal directly
226
+ * (if supported) at the time of authorization or settlement. They cannot be set or mutated.
227
+ */
228
+ verified_email?: string | null;
229
+ }
230
+
231
+ interface Payto {
232
+ /**
233
+ * Amount that will be collected. It is required when `amount_type` is `fixed`.
234
+ */
235
+ amount: number | null;
236
+
237
+ /**
238
+ * The type of amount that will be collected. The amount charged must be exact or up to the value of `amount` param for `fixed` or `maximum` type respectively.
239
+ */
240
+ amount_type: Payto.AmountType;
241
+
242
+ /**
243
+ * Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date.
244
+ */
245
+ end_date: string | null;
246
+
247
+ /**
248
+ * The periodicity at which payments will be collected.
249
+ */
250
+ payment_schedule: Payto.PaymentSchedule;
251
+
252
+ /**
253
+ * The number of payments that will be made during a payment period. Defaults to 1 except for when `payment_schedule` is `adhoc`. In that case, it defaults to no limit.
254
+ */
255
+ payments_per_period: number | null;
256
+
257
+ /**
258
+ * The purpose for which payments are made. Defaults to retail.
259
+ */
260
+ purpose: Payto.Purpose | null;
261
+
262
+ /**
263
+ * Date, in YYYY-MM-DD format, from which payments will be collected. Defaults to confirmation time.
264
+ */
265
+ start_date: string | null;
266
+ }
267
+
268
+ namespace Payto {
269
+ type AmountType = 'fixed' | 'maximum';
270
+
271
+ type PaymentSchedule =
272
+ | 'adhoc'
273
+ | 'annual'
274
+ | 'daily'
275
+ | 'fortnightly'
276
+ | 'monthly'
277
+ | 'quarterly'
278
+ | 'semi_annual'
279
+ | 'weekly';
280
+
281
+ type Purpose =
282
+ | 'dependant_support'
283
+ | 'government'
284
+ | 'loan'
285
+ | 'mortgage'
286
+ | 'other'
287
+ | 'pension'
288
+ | 'personal'
289
+ | 'retail'
290
+ | 'salary'
291
+ | 'tax'
292
+ | 'utility';
208
293
  }
209
294
 
210
295
  interface RevolutPay {}
@@ -0,0 +1,56 @@
1
+ // File generated from our OpenAPI spec
2
+
3
+ declare module 'stripe' {
4
+ namespace Stripe {
5
+ /**
6
+ * A (partner) margin represents a specific discount distributed in partner reseller programs to business partners who
7
+ * resell products and services and earn a discount (margin) for doing so.
8
+ */
9
+ interface Margin {
10
+ /**
11
+ * Unique identifier for the object.
12
+ */
13
+ id: string;
14
+
15
+ /**
16
+ * String representing the object's type. Objects of the same type share the same value.
17
+ */
18
+ object: 'margin';
19
+
20
+ /**
21
+ * Whether the margin can be applied to invoices, invoice items, or invoice line items. Defaults to `true`.
22
+ */
23
+ active: boolean;
24
+
25
+ /**
26
+ * Time at which the object was created. Measured in seconds since the Unix epoch.
27
+ */
28
+ created: number;
29
+
30
+ /**
31
+ * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
32
+ */
33
+ livemode: boolean;
34
+
35
+ /**
36
+ * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
37
+ */
38
+ metadata: Stripe.Metadata | null;
39
+
40
+ /**
41
+ * Name of the margin that's displayed on, for example, invoices.
42
+ */
43
+ name: string | null;
44
+
45
+ /**
46
+ * Percent that will be taken off the subtotal before tax (after all other discounts and promotions) of any invoice to which the margin is applied.
47
+ */
48
+ percent_off: number;
49
+
50
+ /**
51
+ * Time at which the object was last updated. Measured in seconds since the Unix epoch.
52
+ */
53
+ updated: number;
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,114 @@
1
+ // File generated from our OpenAPI spec
2
+
3
+ declare module 'stripe' {
4
+ namespace Stripe {
5
+ interface MarginCreateParams {
6
+ /**
7
+ * Percent that will be taken off the subtotal before tax (after all other discounts and promotions) of any invoice to which the margin is applied.
8
+ */
9
+ percent_off: number;
10
+
11
+ /**
12
+ * Whether the margin can be applied to invoices, invoice items, or invoice line items or not. Defaults to `true`.
13
+ */
14
+ active?: boolean;
15
+
16
+ /**
17
+ * Specifies which fields in the response should be expanded.
18
+ */
19
+ expand?: Array<string>;
20
+
21
+ /**
22
+ * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
23
+ */
24
+ metadata?: Stripe.MetadataParam;
25
+
26
+ /**
27
+ * Name of the margin, which is displayed to customers, such as on invoices.
28
+ */
29
+ name?: string;
30
+ }
31
+
32
+ interface MarginRetrieveParams {
33
+ /**
34
+ * Specifies which fields in the response should be expanded.
35
+ */
36
+ expand?: Array<string>;
37
+ }
38
+
39
+ interface MarginUpdateParams {
40
+ /**
41
+ * Whether the margin can be applied to invoices, invoice items, or invoice line items or not.
42
+ */
43
+ active?: boolean;
44
+
45
+ /**
46
+ * Specifies which fields in the response should be expanded.
47
+ */
48
+ expand?: Array<string>;
49
+
50
+ /**
51
+ * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
52
+ */
53
+ metadata?: Stripe.MetadataParam;
54
+
55
+ /**
56
+ * Name of the margin, which is displayed to customers, such as on invoices.
57
+ */
58
+ name?: string;
59
+ }
60
+
61
+ interface MarginListParams extends PaginationParams {
62
+ /**
63
+ * Only return margins that are active or inactive. For example, pass `true` to only list active margins.
64
+ */
65
+ active?: boolean;
66
+
67
+ /**
68
+ * Specifies which fields in the response should be expanded.
69
+ */
70
+ expand?: Array<string>;
71
+ }
72
+
73
+ class MarginsResource {
74
+ /**
75
+ * Create a margin object to be used with invoices, invoice items, and invoice line items for a customer to represent a partner discount. A margin has a percent_off which is the percent that will be taken off the subtotal after all items and other discounts and promotions) of any invoices for a customer. Calculation of prorations do not include any partner margins applied on the original invoice item.
76
+ */
77
+ create(
78
+ params: MarginCreateParams,
79
+ options?: RequestOptions
80
+ ): Promise<Stripe.Response<Stripe.Margin>>;
81
+
82
+ /**
83
+ * Retrieve a margin object with the given ID.
84
+ */
85
+ retrieve(
86
+ id: string,
87
+ params?: MarginRetrieveParams,
88
+ options?: RequestOptions
89
+ ): Promise<Stripe.Response<Stripe.Margin>>;
90
+ retrieve(
91
+ id: string,
92
+ options?: RequestOptions
93
+ ): Promise<Stripe.Response<Stripe.Margin>>;
94
+
95
+ /**
96
+ * Update the specified margin object. Certain fields of the margin object are not editable.
97
+ */
98
+ update(
99
+ id: string,
100
+ params?: MarginUpdateParams,
101
+ options?: RequestOptions
102
+ ): Promise<Stripe.Response<Stripe.Margin>>;
103
+
104
+ /**
105
+ * Retrieve a list of your margins.
106
+ */
107
+ list(
108
+ params?: MarginListParams,
109
+ options?: RequestOptions
110
+ ): ApiListPromise<Stripe.Margin>;
111
+ list(options?: RequestOptions): ApiListPromise<Stripe.Margin>;
112
+ }
113
+ }
114
+ }