@@ -38,7 +38,7 @@ class StripeSubscription
38
38
*
39
39
* @var array
40
40
*/
41
- private $ extra = [];
41
+ private $ metadata = [];
42
42
43
43
/**
44
44
* Trial default from plan.
@@ -67,7 +67,7 @@ class StripeSubscription
67
67
*
68
68
* @var string
69
69
*/
70
- private $ coupon ;
70
+ private $ couponCode ;
71
71
72
72
private $ stripe ;
73
73
@@ -107,12 +107,11 @@ public function priceId($id)
107
107
* @param array $data
108
108
* @return $this
109
109
*/
110
- public function extra ($ data = [])
110
+ public function metaData ($ data = [])
111
111
{
112
112
if (is_array ($ data )) {
113
- $ this ->extra = $ data ;
113
+ $ this ->metadata = $ data ;
114
114
}
115
-
116
115
return $ this ;
117
116
}
118
117
@@ -138,7 +137,6 @@ public function trialPlan()
138
137
public function trial ($ day )
139
138
{
140
139
$ this ->trial = $ day ;
141
-
142
140
return $ this ;
143
141
}
144
142
@@ -151,20 +149,18 @@ public function trial($day)
151
149
public function source ($ code )
152
150
{
153
151
$ this ->source = $ code ;
154
-
155
152
return $ this ;
156
153
}
157
154
158
155
/**
159
156
* Coupon apply
160
157
*
161
- * @param string $code
158
+ * @param string $code
162
159
* @return $this
163
160
*/
164
161
public function coupon ($ code )
165
162
{
166
- $ this ->coupon = $ code ;
167
-
163
+ $ this ->couponCode = $ code ;
168
164
return $ this ;
169
165
}
170
166
@@ -182,6 +178,26 @@ public function create()
182
178
],
183
179
];
184
180
181
+ // meta data associate array.
182
+ if (count ($ this ->metadata ) > 0 ) {
183
+ $ subscriptionsData ['metadata ' ] = $ this ->metadata ;
184
+ }
185
+
186
+ // copuon
187
+ if ($ this ->couponCode != '' ) {
188
+ $ subscriptionsData ['coupon ' ] = $ this ->couponCode ;
189
+ }
190
+
191
+ // default source
192
+ if ($ this ->source != '' ) {
193
+ $ subscriptionsData ['default_source ' ] = $ this ->source ;
194
+ }
195
+
196
+ // trial in days
197
+ if ($ this ->trial ) {
198
+ $ subscriptionsData ['trial_period_days ' ] = $ this ->trial ;
199
+ }
200
+
185
201
try {
186
202
$ subscriptions = $ this ->stripe ->subscriptions ->create ($ subscriptionsData );
187
203
return $ subscriptions ;
@@ -193,15 +209,15 @@ public function create()
193
209
/**
194
210
* Retrieve a subscription with id
195
211
*
196
- * @param string $id
212
+ * @param string $id
197
213
* @return object
198
214
*/
199
215
public function retrieve ($ id )
200
216
{
201
217
try {
202
218
203
- $ subs = $ this ->stripe ->subscriptions ->retrieve ($ id );
204
- return $ subs ;
219
+ $ subscription = $ this ->stripe ->subscriptions ->retrieve ($ id );
220
+ return $ subscription ;
205
221
} catch (\Exception $ e ) {
206
222
return (object ) ['isError ' => 'true ' , 'message ' => $ e ->getMessage ()];
207
223
}
@@ -216,11 +232,8 @@ public function retrieve($id)
216
232
public function cancel ($ id )
217
233
{
218
234
try {
219
- // Stripe::setApiKey($this->secretKey);
220
- // $subs = Subscription::retrieve($id);
221
- // $subs->cancel();
222
-
223
- // return $subs;
235
+ $ subscription = $ this ->stripe ->subscriptions ->cancel ($ id );
236
+ return $ subscription ;
224
237
} catch (\Exception $ e ) {
225
238
return (object ) ['isError ' => 'true ' , 'message ' => $ e ->getMessage ()];
226
239
}
0 commit comments