summaryrefslogtreecommitdiffstats
path: root/vendor/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php')
-rw-r--r--vendor/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php113
1 files changed, 113 insertions, 0 deletions
diff --git a/vendor/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php b/vendor/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php
new file mode 100644
index 0000000..9eed460
--- /dev/null
+++ b/vendor/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php
@@ -0,0 +1,113 @@
+<?php
+
+// File generated from our OpenAPI spec
+
+namespace Stripe\Service;
+
+class SubscriptionScheduleService extends \Stripe\Service\AbstractService
+{
+ /**
+ * Retrieves the list of your subscription schedules.
+ *
+ * @param null|array $params
+ * @param null|array|\Stripe\Util\RequestOptions $opts
+ *
+ * @throws \Stripe\Exception\ApiErrorException if the request fails
+ *
+ * @return \Stripe\Collection
+ */
+ public function all($params = null, $opts = null)
+ {
+ return $this->requestCollection('get', '/v1/subscription_schedules', $params, $opts);
+ }
+
+ /**
+ * Cancels a subscription schedule and its associated subscription immediately (if
+ * the subscription schedule has an active subscription). A subscription schedule
+ * can only be canceled if its status is <code>not_started</code> or
+ * <code>active</code>.
+ *
+ * @param string $id
+ * @param null|array $params
+ * @param null|array|\Stripe\Util\RequestOptions $opts
+ *
+ * @throws \Stripe\Exception\ApiErrorException if the request fails
+ *
+ * @return \Stripe\SubscriptionSchedule
+ */
+ public function cancel($id, $params = null, $opts = null)
+ {
+ return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s/cancel', $id), $params, $opts);
+ }
+
+ /**
+ * Creates a new subscription schedule object. Each customer can have up to 500
+ * active or scheduled subscriptions.
+ *
+ * @param null|array $params
+ * @param null|array|\Stripe\Util\RequestOptions $opts
+ *
+ * @throws \Stripe\Exception\ApiErrorException if the request fails
+ *
+ * @return \Stripe\SubscriptionSchedule
+ */
+ public function create($params = null, $opts = null)
+ {
+ return $this->request('post', '/v1/subscription_schedules', $params, $opts);
+ }
+
+ /**
+ * Releases the subscription schedule immediately, which will stop scheduling of
+ * its phases, but leave any existing subscription in place. A schedule can only be
+ * released if its status is <code>not_started</code> or <code>active</code>. If
+ * the subscription schedule is currently associated with a subscription, releasing
+ * it will remove its <code>subscription</code> property and set the subscription’s
+ * ID to the <code>released_subscription</code> property.
+ *
+ * @param string $id
+ * @param null|array $params
+ * @param null|array|\Stripe\Util\RequestOptions $opts
+ *
+ * @throws \Stripe\Exception\ApiErrorException if the request fails
+ *
+ * @return \Stripe\SubscriptionSchedule
+ */
+ public function release($id, $params = null, $opts = null)
+ {
+ return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s/release', $id), $params, $opts);
+ }
+
+ /**
+ * Retrieves the details of an existing subscription schedule. You only need to
+ * supply the unique subscription schedule identifier that was returned upon
+ * subscription schedule creation.
+ *
+ * @param string $id
+ * @param null|array $params
+ * @param null|array|\Stripe\Util\RequestOptions $opts
+ *
+ * @throws \Stripe\Exception\ApiErrorException if the request fails
+ *
+ * @return \Stripe\SubscriptionSchedule
+ */
+ public function retrieve($id, $params = null, $opts = null)
+ {
+ return $this->request('get', $this->buildPath('/v1/subscription_schedules/%s', $id), $params, $opts);
+ }
+
+ /**
+ * Updates an existing subscription schedule.
+ *
+ * @param string $id
+ * @param null|array $params
+ * @param null|array|\Stripe\Util\RequestOptions $opts
+ *
+ * @throws \Stripe\Exception\ApiErrorException if the request fails
+ *
+ * @return \Stripe\SubscriptionSchedule
+ */
+ public function update($id, $params = null, $opts = null)
+ {
+ return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s', $id), $params, $opts);
+ }
+}