File size: 1,496 Bytes
048b1e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import "./app.tsp";

namespace Apps;

/**
 * App customer data.
 */
@friendlyName("BillingAppCustomerData")
model AppCustomerData {
  /**
   * Used if the customer has a linked Stripe app.
   */
  @summary("Stripe")
  @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update)
  stripe?: Apps.AppCustomerDataStripe;

  /**
   * Used if the customer has a linked external invoicing app.
   */
  @summary("External invoicing")
  @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update)
  external_invoicing?: Apps.AppCustomerDataExternalInvoicing;
}

/**
 * Stripe customer data.
 */
@friendlyName("BillingAppCustomerDataStripe")
model AppCustomerDataStripe {
  /**
   * The Stripe customer ID used.
   */
  @summary("Stripe customer ID")
  @example("cus_1234567890")
  customer_id?: string;

  /**
   * The Stripe default payment method ID.
   */
  @summary("Stripe default payment method ID")
  @example("pm_1234567890")
  default_payment_method_id?: string;

  /**
   * Labels for this Stripe integration on the customer.
   */
  @summary("Labels")
  @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update)
  labels?: Common.Labels;
}

/**
 * External invoicing customer data.
 */
@friendlyName("BillingAppCustomerDataExternalInvoicing")
model AppCustomerDataExternalInvoicing {
  /**
   * Labels for this external invoicing integration on the customer.
   */
  @summary("Labels")
  @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update)
  labels?: Common.Labels;
}