AILIXIR Bot commited on
Commit
34fd108
·
1 Parent(s): 40fc6f9

Auto-sync: cebe00012a13a1778dd3bfd1e582db59aa355c79

Browse files
app/Http/Controllers/Api/SubscriptionController.php CHANGED
@@ -7,9 +7,6 @@ use Illuminate\Support\Facades\Log;
7
 
8
  class SubscriptionController extends BaseController
9
  {
10
- /**
11
- * إنشاء جلسة دفع جديدة للاشتراك
12
- */
13
  public function checkout(Request $request)
14
  {
15
  $request->validate([
@@ -24,7 +21,7 @@ class SubscriptionController extends BaseController
24
  if ($user->subscribed()) {
25
  return response()->json([
26
  'success' => false,
27
- 'message' => 'أنت مشترك بالفعل في هذه الخدمة.'
28
  ], 400);
29
  }
30
 
@@ -50,21 +47,19 @@ class SubscriptionController extends BaseController
50
  'success' => true,
51
  'checkout_url' => $checkout->url,
52
  'session_id' => $checkout->id,
53
- 'message' => 'تم إنشاء جلسة الدفع بنجاح'
54
  ]);
55
  } catch (\Exception $e) {
56
  Log::error('Subscription checkout error: ' . $e->getMessage());
57
 
58
  return response()->json([
59
  'success' => false,
60
- 'message' => 'حدث خطأ أثناء إنشاء جلسة الدفع: ' . $e->getMessage()
61
  ], 500);
62
  }
63
  }
64
 
65
- /**
66
- * الحصول على حالة الاشتراك الحالي
67
- */
68
  public function status(Request $request)
69
  {
70
  $user = $request->user();
@@ -76,7 +71,7 @@ class SubscriptionController extends BaseController
76
  'success' => true,
77
  'subscribed' => false,
78
  'status' => 'inactive',
79
- 'message' => 'ليس لديك اشتراك نشط'
80
  ]);
81
  }
82
 
@@ -99,10 +94,10 @@ class SubscriptionController extends BaseController
99
  'subscribed' => true,
100
  'status' => $status,
101
  'plan' => $subscription->stripe_price,
102
- 'start_date' => $subscription->created_at,
103
  'end_date' => $subscription->ends_at,
104
  'on_trial' => $subscription->onTrial(),
105
- 'trial_ends_at' => $subscription->trial_ends_at,
106
  'canceled' => $subscription->canceled(),
107
  'ended' => $subscription->ended(),
108
  'incomplete' => $subscription->incomplete(),
@@ -110,9 +105,7 @@ class SubscriptionController extends BaseController
110
  ]);
111
  }
112
 
113
- /**
114
- * إلغاء الاشتراك
115
- */
116
  public function cancel(Request $request)
117
  {
118
  $user = $request->user();
@@ -123,7 +116,7 @@ class SubscriptionController extends BaseController
123
  if (!$subscription || !$subscription->valid()) {
124
  return response()->json([
125
  'success' => false,
126
- 'message' => 'ليس لديك اشتراك نشط لإلغائه'
127
  ], 400);
128
  }
129
 
@@ -131,7 +124,7 @@ class SubscriptionController extends BaseController
131
 
132
  return response()->json([
133
  'success' => true,
134
- 'message' => 'تم إلغاء الاشتراك بنجاح. سيستمر حتى نهاية الفترة الحالية.',
135
  'ends_at' => $subscription->ends_at
136
  ]);
137
  } catch (\Exception $e) {
@@ -139,14 +132,12 @@ class SubscriptionController extends BaseController
139
 
140
  return response()->json([
141
  'success' => false,
142
- 'message' => 'حدث خطأ أثناء إلغاء الاشتراك: ' . $e->getMessage()
143
  ], 500);
144
  }
145
  }
146
 
147
- /**
148
- * استئناف الاشتراك بعد الإلغاء
149
- */
150
  public function resume(Request $request)
151
  {
152
  $user = $request->user();
@@ -157,7 +148,7 @@ class SubscriptionController extends BaseController
157
  if (!$subscription || !$subscription->canceled()) {
158
  return response()->json([
159
  'success' => false,
160
- 'message' => 'لا يوجد اشتراك ملغى لاستئنافه'
161
  ], 400);
162
  }
163
 
@@ -165,21 +156,19 @@ class SubscriptionController extends BaseController
165
 
166
  return response()->json([
167
  'success' => true,
168
- 'message' => 'تم استئناف الاشتراك بنجاح'
169
  ]);
170
  } catch (\Exception $e) {
171
  Log::error('Subscription resume error: ' . $e->getMessage());
172
 
173
  return response()->json([
174
  'success' => false,
175
- 'message' => 'حدث خطأ أثناء استئناف الاشتراك: ' . $e->getMessage()
176
  ], 500);
177
  }
178
  }
179
 
180
- /**
181
- * الحصول على رابط بوابة الفواتير
182
- */
183
  public function billingPortal(Request $request)
184
  {
185
  $user = $request->user();
@@ -188,7 +177,7 @@ class SubscriptionController extends BaseController
188
  if (!$user->stripe_id) {
189
  return response()->json([
190
  'success' => false,
191
- 'message' => 'ليس لديك اشتراك فعال لإدارة الفواتير'
192
  ], 400);
193
  }
194
 
@@ -197,21 +186,19 @@ class SubscriptionController extends BaseController
197
  return response()->json([
198
  'success' => true,
199
  'billing_portal_url' => $portalUrl,
200
- 'message' => 'تم إنشاء رابط بوابة الفواتير بنجاح'
201
  ]);
202
  } catch (\Exception $e) {
203
  Log::error('Billing portal error: ' . $e->getMessage());
204
 
205
  return response()->json([
206
  'success' => false,
207
- 'message' => 'حدث خطأ أثناء إنشاء رابط بوابة الفواتير: ' . $e->getMessage()
208
  ], 500);
209
  }
210
  }
211
 
212
- /**
213
- * تحديث طريقة الدفع
214
- */
215
  public function updatePaymentMethod(Request $request)
216
  {
217
  $user = $request->user();
@@ -220,7 +207,7 @@ class SubscriptionController extends BaseController
220
  if (!$user->stripe_id) {
221
  return response()->json([
222
  'success' => false,
223
- 'message' => 'ليس لديك اشتراك فعال لتحديث طريقة الدفع'
224
  ], 400);
225
  }
226
 
@@ -229,7 +216,7 @@ class SubscriptionController extends BaseController
229
  if (!$subscription || !$subscription->valid()) {
230
  return response()->json([
231
  'success' => false,
232
- 'message' => 'ليس لديك اشتراك نشط لتحديث طريقة الدفع'
233
  ], 400);
234
  }
235
 
@@ -238,21 +225,19 @@ class SubscriptionController extends BaseController
238
  return response()->json([
239
  'success' => true,
240
  'update_payment_url' => $portalUrl,
241
- 'message' => 'استخدم الرابط لتحديث طريقة الدفع'
242
  ]);
243
  } catch (\Exception $e) {
244
  Log::error('Update payment method error: ' . $e->getMessage());
245
 
246
  return response()->json([
247
  'success' => false,
248
- 'message' => 'حدث خطأ أثناء تحديث طريقة الدفع: ' . $e->getMessage()
249
  ], 500);
250
  }
251
  }
252
 
253
- /**
254
- * الحصول على تاريخ الفواتير
255
- */
256
  public function invoices(Request $request)
257
  {
258
  $user = $request->user();
@@ -263,7 +248,7 @@ class SubscriptionController extends BaseController
263
  'success' => true,
264
  'invoices' => [],
265
  'count' => 0,
266
- 'message' => 'ليس لديك فواتير مسجلة'
267
  ]);
268
  }
269
 
@@ -291,7 +276,7 @@ class SubscriptionController extends BaseController
291
 
292
  return response()->json([
293
  'success' => false,
294
- 'message' => 'حدث خطأ أثناء جلب الفواتير: ' . $e->getMessage()
295
  ], 500);
296
  }
297
  }
 
7
 
8
  class SubscriptionController extends BaseController
9
  {
 
 
 
10
  public function checkout(Request $request)
11
  {
12
  $request->validate([
 
21
  if ($user->subscribed()) {
22
  return response()->json([
23
  'success' => false,
24
+ 'message' => 'You are already subscribed to a plan.'
25
  ], 400);
26
  }
27
 
 
47
  'success' => true,
48
  'checkout_url' => $checkout->url,
49
  'session_id' => $checkout->id,
50
+ 'message' => 'Payment session created successfully'
51
  ]);
52
  } catch (\Exception $e) {
53
  Log::error('Subscription checkout error: ' . $e->getMessage());
54
 
55
  return response()->json([
56
  'success' => false,
57
+ 'message' => 'Subscription checkout error: ' . $e->getMessage()
58
  ], 500);
59
  }
60
  }
61
 
62
+
 
 
63
  public function status(Request $request)
64
  {
65
  $user = $request->user();
 
71
  'success' => true,
72
  'subscribed' => false,
73
  'status' => 'inactive',
74
+ 'message' => 'You are not subscribed to any plan.'
75
  ]);
76
  }
77
 
 
94
  'subscribed' => true,
95
  'status' => $status,
96
  'plan' => $subscription->stripe_price,
97
+ 'start_date' => $subscription->created_at->toDateTimeString(),
98
  'end_date' => $subscription->ends_at,
99
  'on_trial' => $subscription->onTrial(),
100
+ 'trial_ends_at' => $subscription->trial_ends_at->toDateTimeString(),
101
  'canceled' => $subscription->canceled(),
102
  'ended' => $subscription->ended(),
103
  'incomplete' => $subscription->incomplete(),
 
105
  ]);
106
  }
107
 
108
+
 
 
109
  public function cancel(Request $request)
110
  {
111
  $user = $request->user();
 
116
  if (!$subscription || !$subscription->valid()) {
117
  return response()->json([
118
  'success' => false,
119
+ 'message' => 'You are not subscribed to any plan.'
120
  ], 400);
121
  }
122
 
 
124
 
125
  return response()->json([
126
  'success' => true,
127
+ 'message' => 'Subscription cancelled successfully. Will continue until the end of the current period.',
128
  'ends_at' => $subscription->ends_at
129
  ]);
130
  } catch (\Exception $e) {
 
132
 
133
  return response()->json([
134
  'success' => false,
135
+ 'message' => 'Subscription cancel error: ' . $e->getMessage()
136
  ], 500);
137
  }
138
  }
139
 
140
+
 
 
141
  public function resume(Request $request)
142
  {
143
  $user = $request->user();
 
148
  if (!$subscription || !$subscription->canceled()) {
149
  return response()->json([
150
  'success' => false,
151
+ 'message' => 'You are not subscribed to any plan.'
152
  ], 400);
153
  }
154
 
 
156
 
157
  return response()->json([
158
  'success' => true,
159
+ 'message' => 'Subscription resumed successfully.'
160
  ]);
161
  } catch (\Exception $e) {
162
  Log::error('Subscription resume error: ' . $e->getMessage());
163
 
164
  return response()->json([
165
  'success' => false,
166
+ 'message' => 'Subscription resume error: ' . $e->getMessage()
167
  ], 500);
168
  }
169
  }
170
 
171
+
 
 
172
  public function billingPortal(Request $request)
173
  {
174
  $user = $request->user();
 
177
  if (!$user->stripe_id) {
178
  return response()->json([
179
  'success' => false,
180
+ 'message' => 'You do not have an active subscription to use the billing gateway'
181
  ], 400);
182
  }
183
 
 
186
  return response()->json([
187
  'success' => true,
188
  'billing_portal_url' => $portalUrl,
189
+ 'message' => 'Invoicing portal link successfully created'
190
  ]);
191
  } catch (\Exception $e) {
192
  Log::error('Billing portal error: ' . $e->getMessage());
193
 
194
  return response()->json([
195
  'success' => false,
196
+ 'message' => 'Billing portal error: ' . $e->getMessage()
197
  ], 500);
198
  }
199
  }
200
 
201
+
 
 
202
  public function updatePaymentMethod(Request $request)
203
  {
204
  $user = $request->user();
 
207
  if (!$user->stripe_id) {
208
  return response()->json([
209
  'success' => false,
210
+ 'message' => 'You do not have an active subscription to update your payment method'
211
  ], 400);
212
  }
213
 
 
216
  if (!$subscription || !$subscription->valid()) {
217
  return response()->json([
218
  'success' => false,
219
+ 'message' => 'You do not have an active subscription to update your payment method'
220
  ], 400);
221
  }
222
 
 
225
  return response()->json([
226
  'success' => true,
227
  'update_payment_url' => $portalUrl,
228
+ 'message' => 'Use the link to update your payment method.'
229
  ]);
230
  } catch (\Exception $e) {
231
  Log::error('Update payment method error: ' . $e->getMessage());
232
 
233
  return response()->json([
234
  'success' => false,
235
+ 'message' => 'Update payment method error: ' . $e->getMessage()
236
  ], 500);
237
  }
238
  }
239
 
240
+
 
 
241
  public function invoices(Request $request)
242
  {
243
  $user = $request->user();
 
248
  'success' => true,
249
  'invoices' => [],
250
  'count' => 0,
251
+ 'message' => 'You do not have any invoices'
252
  ]);
253
  }
254
 
 
276
 
277
  return response()->json([
278
  'success' => false,
279
+ 'message' => 'Invoices fetch error: ' . $e->getMessage()
280
  ], 500);
281
  }
282
  }