-
Notifications
You must be signed in to change notification settings - Fork 573
/
Copy pathEvidence.cs
301 lines (247 loc) · 10.5 KB
/
Evidence.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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
namespace Stripe
{
using Newtonsoft.Json;
using Stripe.Infrastructure;
public class Evidence : StripeEntity
{
[JsonProperty("access_activity_log")]
public string AccessActivityLog { get; set; }
[JsonProperty("billing_address")]
public string BillingAddress { get; set; }
#region Expandable Cancellation Policy
/// <summary>
/// (ID of a <see cref="File"/>) Your subscription cancellation policy, as shown to the
/// customer.
/// <para>Expandable.</para>
/// </summary>
public string CancellationPolicyId { get; set; }
/// <summary>
/// (Expanded) Your subscription cancellation policy, as shown to the customer.
/// </summary>
[JsonIgnore]
public File CancellationPolicy { get; set; }
[JsonProperty("cancellation_policy")]
internal object InternalCancellationPolicy
{
set
{
StringOrObject<File>.Map(value, s => this.CancellationPolicyId = s, o => this.CancellationPolicy = o);
}
}
#endregion
[JsonProperty("cancellation_policy_disclosure")]
public string CancellationPolicyDisclosure { get; set; }
[JsonProperty("cancellation_rebuttal")]
public string CancellationRebuttal { get; set; }
#region Expandable Customer Communication
/// <summary>
/// (ID of a <see cref="File"/>) Any communication with the customer that you feel is
/// relevant to your case. Examples include emails proving that the customer received the
/// product or service, or demonstrating their use of or satisfaction with the product or
/// service.
/// <para>Expandable.</para>
/// </summary>
public string CustomerCommunicationId { get; set; }
/// <summary>
/// (Expanded) Any communication with the customer that you feel is relevant to your case.
/// Examples include emails proving that the customer received the product or service, or
/// demonstrating their use of or satisfaction with the product or service.
/// </summary>
[JsonIgnore]
public File CustomerCommunication { get; set; }
[JsonProperty("customer_communication")]
internal object InternalCustomerCommunication
{
set
{
StringOrObject<File>.Map(value, s => this.CustomerCommunicationId = s, o => this.CustomerCommunication = o);
}
}
#endregion
[JsonProperty("customer_email_address")]
public string CustomerEmailAddress { get; set; }
[JsonProperty("customer_name")]
public string CustomerName { get; set; }
[JsonProperty("customer_purchase_ip")]
public string CustomerPurchaseIPAddress { get; set; }
#region Expandable Customer Signature
/// <summary>
/// (ID of a <see cref="File"/>) A relevant document or contract showing the customer’s
/// signature.
/// <para>Expandable.</para>
/// </summary>
public string CustomerSignatureId { get; set; }
/// <summary>
/// (Expanded) A relevant document or contract showing the customer’s signature.
/// </summary>
[JsonIgnore]
public File CustomerSignature { get; set; }
[JsonProperty("customer_signature")]
internal object InternalCustomerSignature
{
set
{
StringOrObject<File>.Map(value, s => this.CustomerSignatureId = s, o => this.CustomerSignature = o);
}
}
#endregion
#region Expandable Duplicate Charge Documentation
/// <summary>
/// (ID of a <see cref="File"/>) Documentation for the prior charge that can uniquely
/// identify the charge, such as a receipt, shipping label, work order, etc. This document
/// should be paired with a similar document from the disputed payment that proves the two
/// payments are separate.
/// <para>Expandable.</para>
/// </summary>
public string DuplicateChargeDocumentationId { get; set; }
/// <summary>
/// (Expanded) Documentation for the prior charge that can uniquely identify the charge,
/// such as a receipt, shipping label, work order, etc. This document should be paired with
/// a similar document from the disputed payment that proves the two payments are separate.
/// </summary>
[JsonIgnore]
public File DuplicateChargeDocumentation { get; set; }
[JsonProperty("duplicate_charge_documentation")]
internal object InternalDuplicateChargeDocumentation
{
set
{
StringOrObject<File>.Map(value, s => this.DuplicateChargeDocumentationId = s, o => this.DuplicateChargeDocumentation = o);
}
}
#endregion
[JsonProperty("duplicate_charge_explanation")]
public string DuplicateChargeExplanation { get; set; }
[JsonProperty("duplicate_charge_id")]
public string DuplicateChargeId { get; set; }
[JsonProperty("product_description")]
public string ProductDescription { get; set; }
#region Expandable Receipt
/// <summary>
/// (ID of a <see cref="File"/>) Any receipt or message sent to the customer notifying them
/// of the charge.
/// <para>Expandable.</para>
/// </summary>
public string ReceiptId { get; set; }
/// <summary>
/// (Expanded) Any receipt or message sent to the customer notifying them of the charge.
/// </summary>
[JsonIgnore]
public File Receipt { get; set; }
[JsonProperty("receipt")]
internal object InternalReceipt
{
set
{
StringOrObject<File>.Map(value, s => this.ReceiptId = s, o => this.Receipt = o);
}
}
#endregion
#region Expandable Refund Policy
/// <summary>
/// (ID of a <see cref="File"/>) Your refund policy, as shown to the customer.
/// <para>Expandable.</para>
/// </summary>
public string RefundPolicyId { get; set; }
/// <summary>
/// (Expanded) Your refund policy, as shown to the customer.
/// </summary>
[JsonIgnore]
public File RefundPolicy { get; set; }
[JsonProperty("refund_policy")]
internal object InternalRefundPolicy
{
set
{
StringOrObject<File>.Map(value, s => this.RefundPolicyId = s, o => this.RefundPolicy = o);
}
}
#endregion
[JsonProperty("refund_policy_disclosure")]
public string RefundPolicyDisclosure { get; set; }
[JsonProperty("refund_refusal_explanation")]
public string RefundRefusalExplanation { get; set; }
[JsonProperty("service_date")]
public string ServiceDate { get; set; }
#region Expandable Service Documentation
/// <summary>
/// (ID of a <see cref="File"/>) Documentation showing proof that a service was provided to
/// the customer. This could include a copy of a signed contract, work order, or other form
/// of written agreement.
/// <para>Expandable.</para>
/// </summary>
public string ServiceDocumentationId { get; set; }
/// <summary>
/// (Expanded) Documentation showing proof that a service was provided to the customer.
/// This could include a copy of a signed contract, work order, or other form of written
/// agreement.
/// </summary>
[JsonIgnore]
public File ServiceDocumentation { get; set; }
[JsonProperty("service_documentation")]
internal object InternalServiceDocumentation
{
set
{
StringOrObject<File>.Map(value, s => this.ServiceDocumentationId = s, o => this.ServiceDocumentation = o);
}
}
#endregion
[JsonProperty("shipping_address")]
public string ShippingAddress { get; set; }
[JsonProperty("shipping_carrier")]
public string ShippingCarrier { get; set; }
[JsonProperty("shipping_date")]
public string ShippingDate { get; set; }
#region Expandable Shipping Documentation
/// <summary>
/// (ID of a <see cref="File"/>) Documentation showing proof that a product was shipped to
/// the customer at the same address the customer provided to you. This could include a copy
/// of the shipment receipt, shipping label, etc. It should show the customer’s full
/// shipping address, if possible.
/// <para>Expandable.</para>
/// </summary>
public string ShippingDocumentationId { get; set; }
/// <summary>
/// (Expanded) Documentation showing proof that a product was shipped to the customer at
/// the same address the customer provided to you. This could include a copy of the shipment
/// receipt, shipping label, etc. It should show the customer’s full shipping address, if
/// possible.
/// </summary>
[JsonIgnore]
public File ShippingDocumentation { get; set; }
[JsonProperty("shipping_documentation")]
internal object InternalShippingDocumentation
{
set
{
StringOrObject<File>.Map(value, s => this.ShippingDocumentationId = s, o => this.ShippingDocumentation = o);
}
}
#endregion
[JsonProperty("shipping_tracking_number")]
public string ShippingTrackingNumber { get; set; }
#region Expandable Uncategorized File
/// <summary>
/// (ID of a <see cref="File"/>) Any additional evidence or statements.
/// <para>Expandable.</para>
/// </summary>
public string UncategorizedFileId { get; set; }
/// <summary>
/// (Expanded) Any additional evidence or statements.
/// </summary>
[JsonIgnore]
public File UncategorizedFile { get; set; }
[JsonProperty("uncategorized_file")]
internal object InternalUncategorizedFile
{
set
{
StringOrObject<File>.Map(value, s => this.UncategorizedFileId = s, o => this.UncategorizedFile = o);
}
}
#endregion
[JsonProperty("uncategorized_text")]
public string UncategorizedText { get; set; }
}
}