-
Notifications
You must be signed in to change notification settings - Fork 566
/
PaymentIntentUpdateOptions.cs
187 lines (168 loc) · 9.08 KB
/
PaymentIntentUpdateOptions.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
// File generated from our OpenAPI spec
namespace Stripe
{
using System.Collections.Generic;
using Newtonsoft.Json;
public class PaymentIntentUpdateOptions : BaseOptions, IHasMetadata
{
/// <summary>
/// Amount intended to be collected by this PaymentIntent. A positive integer representing
/// how much to charge in the <a
/// href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a> (e.g.,
/// 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum
/// amount is $0.50 US or <a
/// href="https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts">equivalent
/// in charge currency</a>. The amount value supports up to eight digits (e.g., a value of
/// 99999999 for a USD charge of $999,999.99).
/// </summary>
[JsonProperty("amount")]
public long? Amount { get; set; }
/// <summary>
/// The amount of the application fee (if any) that will be requested to be applied to the
/// payment and transferred to the application owner's Stripe account. The amount of the
/// application fee collected will be capped at the total payment amount. For more
/// information, see the PaymentIntents <a
/// href="https://stripe.com/docs/payments/connected-accounts">use case for connected
/// accounts</a>.
/// </summary>
[JsonProperty("application_fee_amount")]
public long? ApplicationFeeAmount { get; set; }
/// <summary>
/// Controls when the funds will be captured from the customer's account.
/// One of: <c>automatic</c>, <c>automatic_async</c>, or <c>manual</c>.
/// </summary>
[JsonProperty("capture_method")]
public string CaptureMethod { get; set; }
/// <summary>
/// Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency
/// code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported
/// currency</a>.
/// </summary>
[JsonProperty("currency")]
public string Currency { get; set; }
/// <summary>
/// ID of the Customer this PaymentIntent belongs to, if one exists.
///
/// Payment methods attached to other Customers cannot be used with this PaymentIntent.
///
/// If present in combination with <a
/// href="https://stripe.com/docs/api#payment_intent_object-setup_future_usage">setup_future_usage</a>,
/// this PaymentIntent's payment method will be attached to the Customer after the
/// PaymentIntent has been confirmed and any required actions from the user are complete.
/// </summary>
[JsonProperty("customer")]
public string Customer { get; set; }
/// <summary>
/// An arbitrary string attached to the object. Often useful for displaying to users.
/// </summary>
[JsonProperty("description")]
public string Description { get; set; }
/// <summary>
/// Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> 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 <c>metadata</c>.
/// </summary>
[JsonProperty("metadata")]
public Dictionary<string, string> Metadata { get; set; }
/// <summary>
/// ID of the payment method (a PaymentMethod, Card, or <a
/// href="https://stripe.com/docs/payments/payment-methods/transitioning#compatibility">compatible
/// Source</a> object) to attach to this PaymentIntent.
/// </summary>
[JsonProperty("payment_method")]
public string PaymentMethod { get; set; }
/// <summary>
/// The ID of the payment method configuration to use with this PaymentIntent.
/// </summary>
[JsonProperty("payment_method_configuration")]
public string PaymentMethodConfiguration { get; set; }
/// <summary>
/// If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod
/// will appear in the <a
/// href="https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method">payment_method</a>
/// property on the PaymentIntent.
/// </summary>
[JsonProperty("payment_method_data")]
public PaymentIntentPaymentMethodDataOptions PaymentMethodData { get; set; }
/// <summary>
/// Payment-method-specific configuration for this PaymentIntent.
/// </summary>
[JsonProperty("payment_method_options")]
public PaymentIntentPaymentMethodOptionsOptions PaymentMethodOptions { get; set; }
/// <summary>
/// The list of payment method types (for example, card) that this PaymentIntent can use.
/// Use <c>automatic_payment_methods</c> to manage payment methods from the <a
/// href="https://dashboard.stripe.com/settings/payment_methods">Stripe Dashboard</a>.
/// </summary>
[JsonProperty("payment_method_types")]
public List<string> PaymentMethodTypes { get; set; }
/// <summary>
/// Email address that the receipt for the resulting payment will be sent to. If
/// <c>receipt_email</c> is specified for a payment in live mode, a receipt will be sent
/// regardless of your <a href="https://dashboard.stripe.com/account/emails">email
/// settings</a>.
/// </summary>
[JsonProperty("receipt_email")]
public string ReceiptEmail { get; set; }
/// <summary>
/// Indicates that you intend to make future payments with this PaymentIntent's payment
/// method.
///
/// Providing this parameter will <a
/// href="https://stripe.com/docs/payments/save-during-payment">attach the payment
/// method</a> to the PaymentIntent's Customer, if present, after the PaymentIntent is
/// confirmed and any required actions from the user are complete. If no Customer was
/// provided, the payment method can still be <a
/// href="https://stripe.com/docs/api/payment_methods/attach">attached</a> to a Customer
/// after the transaction completes.
///
/// When processing card payments, Stripe also uses <c>setup_future_usage</c> to dynamically
/// optimize your payment flow and comply with regional legislation and network rules, such
/// as <a href="https://stripe.com/docs/strong-customer-authentication">SCA</a>.
///
/// If <c>setup_future_usage</c> is already set and you are performing a request using a
/// publishable key, you may only update the value from <c>on_session</c> to
/// <c>off_session</c>.
/// One of: <c>off_session</c>, or <c>on_session</c>.
/// </summary>
[JsonProperty("setup_future_usage")]
public string SetupFutureUsage { get; set; }
/// <summary>
/// Shipping information for this PaymentIntent.
/// </summary>
[JsonProperty("shipping")]
public ChargeShippingOptions Shipping { get; set; }
/// <summary>
/// For card charges, use <a
/// href="https://stripe.com/docs/payments/account/statement-descriptors#dynamic">statement_descriptor_suffix</a>.
/// Otherwise, you can use this value as the complete description of a charge on your
/// customers' statements. It must contain at least one letter and be 1–22 characters long.
/// </summary>
[JsonProperty("statement_descriptor")]
public string StatementDescriptor { get; set; }
/// <summary>
/// Provides information about a card payment that customers see on their statements.
/// Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set
/// on the account to form the complete statement descriptor. Maximum 22 characters for the
/// concatenated descriptor.
/// </summary>
[JsonProperty("statement_descriptor_suffix")]
public string StatementDescriptorSuffix { get; set; }
/// <summary>
/// Use this parameter to automatically create a Transfer when the payment succeeds. Learn
/// more about the <a href="https://stripe.com/docs/payments/connected-accounts">use case
/// for connected accounts</a>.
/// </summary>
[JsonProperty("transfer_data")]
public PaymentIntentTransferDataOptions TransferData { get; set; }
/// <summary>
/// A string that identifies the resulting payment as part of a group. You can only provide
/// <c>transfer_group</c> if it hasn't been set. Learn more about the <a
/// href="https://stripe.com/docs/payments/connected-accounts">use case for connected
/// accounts</a>.
/// </summary>
[JsonProperty("transfer_group")]
public string TransferGroup { get; set; }
}
}