PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.8.1
GiveWP – Donation Plugin and Fundraising Platform v4.8.1
4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / API / REST / V3 / Routes / Subscriptions / Actions / GetSubscriptionItemSchema.php
give / src / API / REST / V3 / Routes / Subscriptions / Actions Last commit date
GetSubscriptionCollectionParams.php 10 months ago GetSubscriptionItemSchema.php 10 months ago GetSubscriptionSharedParamsForGetMethods.php 10 months ago
GetSubscriptionItemSchema.php
198 lines
1 <?php
2
3 namespace Give\API\REST\V3\Routes\Subscriptions\Actions;
4
5 use Give\Subscriptions\ValueObjects\SubscriptionPeriod;
6 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
7
8 /**
9 * @since 4.8.0
10 */
11 class GetSubscriptionItemSchema
12 {
13 /**
14 * @since 4.8.0
15 */
16 public function __invoke(): array
17 {
18 return [
19 'title' => 'givewp/subscription',
20 'type' => 'object',
21 'properties' => [
22 'id' => [
23 'type' => 'integer',
24 'description' => esc_html__('Subscription ID', 'give'),
25 ],
26 'donorId' => [
27 'type' => 'integer',
28 'description' => esc_html__('Donor ID', 'give'),
29 'required' => true,
30 ],
31 'donationFormId' => [
32 'type' => 'integer',
33 'description' => esc_html__('Donation form ID', 'give'),
34 'required' => true,
35 ],
36 'amount' => [
37 'type' => ['object', 'null'],
38 'properties' => [
39 'amount' => [
40 'type' => 'number',
41 ],
42 'amountInMinorUnits' => [
43 'type' => 'integer',
44 ],
45 'currency' => [
46 'type' => 'string',
47 'format' => 'text-field',
48 ],
49 ],
50 'description' => esc_html__('Subscription amount', 'give'),
51 'required' => true,
52 ],
53 'feeAmountRecovered' => [
54 'type' => ['object', 'null'],
55 'properties' => [
56 'amount' => [
57 'type' => 'number',
58 ],
59 'amountInMinorUnits' => [
60 'type' => 'integer',
61 ],
62 'currency' => [
63 'type' => 'string',
64 'format' => 'text-field',
65 ],
66 ],
67 'description' => esc_html__('Fee amount recovered', 'give'),
68 ],
69 'status' => [
70 'type' => 'string',
71 'description' => esc_html__('Subscription status', 'give'),
72 'enum' => ['any', ...array_values(SubscriptionStatus::toArray())],
73 'required' => true,
74 ],
75 'period' => [
76 'type' => 'string',
77 'description' => esc_html__('Subscription billing period', 'give'),
78 'enum' => array_values(SubscriptionPeriod::toArray()),
79 'required' => true,
80 ],
81 'frequency' => [
82 'type' => 'integer',
83 'description' => esc_html__('Billing frequency', 'give'),
84 'required' => true,
85 ],
86 'installments' => [
87 'type' => 'integer',
88 'description' => esc_html__('Number of installments (0 for unlimited)', 'give'),
89 'default' => 0,
90 ],
91 'transactionId' => [
92 'type' => ['string', 'null'],
93 'description' => esc_html__('Transaction ID', 'give'),
94 'format' => 'text-field',
95 ],
96 'gatewayId' => [
97 'type' => 'string',
98 'description' => esc_html__('Payment gateway ID', 'give'),
99 'format' => 'text-field',
100 'required' => true,
101 ],
102 'gatewaySubscriptionId' => [
103 'type' => ['string', 'null'],
104 'description' => esc_html__('Gateway subscription ID', 'give'),
105 'format' => 'text-field',
106 ],
107 'mode' => [
108 'type' => 'string',
109 'description' => esc_html__('Subscription mode (live or test)', 'give'),
110 'default' => 'live',
111 'enum' => ['live', 'test'],
112 ],
113 'createdAt' => [
114 'oneOf' => [
115 [
116 'type' => 'string',
117 'description' => esc_html__('Subscription creation date as ISO string', 'give'),
118 'format' => 'date-time',
119 ],
120 [
121 'type' => 'object',
122 'properties' => [
123 'date' => [
124 'type' => 'string',
125 'description' => esc_html__('Date', 'give'),
126 'format' => 'date-time',
127 ],
128 'timezone' => [
129 'type' => 'string',
130 'description' => esc_html__('Timezone of the date', 'give'),
131 'format' => 'text-field',
132 ],
133 'timezone_type' => [
134 'type' => 'integer',
135 'description' => esc_html__('Timezone type', 'give'),
136 ],
137 ],
138 'description' => esc_html__('Subscription creation date', 'give'),
139 ],
140 [
141 'type' => 'null',
142 ],
143 ],
144 ],
145 'renewsAt' => [
146 'oneOf' => [
147 [
148 'type' => 'string',
149 'description' => esc_html__('Next renewal date as ISO string', 'give'),
150 'format' => 'date-time',
151 ],
152 [
153 'type' => 'object',
154 'properties' => [
155 'date' => [
156 'type' => 'string',
157 'description' => esc_html__('Date', 'give'),
158 'format' => 'date-time',
159 ],
160 'timezone' => [
161 'type' => 'string',
162 'description' => esc_html__('Timezone of the date', 'give'),
163 'format' => 'text-field',
164 ],
165 'timezone_type' => [
166 'type' => 'integer',
167 'description' => esc_html__('Timezone type', 'give'),
168 ],
169 ],
170 'description' => esc_html__('Next renewal date', 'give'),
171 ],
172 [
173 'type' => 'null',
174 ],
175 ],
176 ],
177 'projectedAnnualRevenue' => [
178 'type' => ['object', 'null'],
179 'properties' => [
180 'amount' => [
181 'type' => 'number',
182 ],
183 'amountInMinorUnits' => [
184 'type' => 'integer',
185 ],
186 'currency' => [
187 'type' => 'string',
188 'format' => 'text-field',
189 ],
190 ],
191 'description' => esc_html__('Projected annual revenue for this subscription', 'give'),
192 'readOnly' => true,
193 ],
194 ],
195 ];
196 }
197 }
198