-
Notifications
You must be signed in to change notification settings - Fork 191
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Subscriptions API object, resource, and example.
- Loading branch information
Rick
committed
Jun 16, 2016
1 parent
8d1d336
commit 03b03c4
Showing
8 changed files
with
245 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
<?php | ||
/* | ||
* Example 16 - How to create a regular subscription. | ||
*/ | ||
|
||
try | ||
{ | ||
/* | ||
* Initialize the Mollie API library with your API key or OAuth access token. | ||
*/ | ||
include "initialize.php"; | ||
|
||
/** | ||
* Retrieve the last created customer for this example. | ||
* If no customers are created yet, run example 11. | ||
*/ | ||
$customer = $mollie->customers->all(0, 1)->data[0]; | ||
|
||
/* | ||
* Generate a unique subscription id for this example. It is important to include this unique attribute | ||
* in the redirectUrl (below) so a proper return page can be shown to the customer. | ||
*/ | ||
$my_subscription = time(); | ||
|
||
/* | ||
* Customer Subscription creation parameters. | ||
* | ||
* See: https://www.mollie.com/nl/docs/reference/subscriptions/create | ||
*/ | ||
$subscription = $mollie->customers_subscriptions->with($customer)->create(array( | ||
"amount" => 10.00, | ||
"times" => 12, | ||
"interval" => "1 month", | ||
"description" => "My subscription", | ||
"method" => NULL, | ||
"webhookUrl" => "https://example.org/subscription-payment-webhook/$my_subscription", | ||
)); | ||
|
||
/* | ||
* The subscription will be either pending or active depending on whether the customer has | ||
* a pending or valid mandate. If the customer has no mandates an error is returned. You | ||
* should then set up a "first payment" for the customer (example 14). | ||
*/ | ||
|
||
echo "<p>The subscription status is '" . htmlspecialchars($subscription->status) . "'.</p>\n"; | ||
} | ||
catch (Mollie_API_Exception $e) | ||
{ | ||
echo "API call failed: " . htmlspecialchars($e->getMessage()); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
<?php | ||
/** | ||
* Copyright (c) 2016, Mollie B.V. | ||
* All rights reserved. | ||
* | ||
* Redistribution and use in source and binary forms, with or without | ||
* modification, are permitted provided that the following conditions are met: | ||
* | ||
* - Redistributions of source code must retain the above copyright notice, | ||
* this list of conditions and the following disclaimer. | ||
* - Redistributions in binary form must reproduce the above copyright | ||
* notice, this list of conditions and the following disclaimer in the | ||
* documentation and/or other materials provided with the distribution. | ||
* | ||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY | ||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY | ||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH | ||
* DAMAGE. | ||
* | ||
* @license Berkeley Software Distribution License (BSD-License 2) http://www.opensource.org/licenses/bsd-license.php | ||
* @author Mollie B.V. <[email protected]> | ||
* @copyright Mollie B.V. | ||
* @link https://www.mollie.com | ||
*/ | ||
class Mollie_API_Object_Customer_Subscription | ||
{ | ||
const STATUS_ACTIVE = "active"; | ||
const STATUS_PENDING = "pending"; // Waiting for a valid mandate. | ||
const STATUS_CANCELLED = "cancelled"; | ||
const STATUS_SUSPENDED = "suspended"; // Active, but mandate became invalid. | ||
const STATUS_COMPLETED = "completed"; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
public $resource; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
public $id; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
public $customerId; | ||
|
||
/** | ||
* Either "live" or "test" depending on the customer's mode. | ||
* | ||
* @var string | ||
*/ | ||
public $mode; | ||
|
||
/** | ||
* ISO 8601 format. | ||
* | ||
* @var string | ||
*/ | ||
public $createdDatetime; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
public $status; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
public $amount; | ||
|
||
/** | ||
* @var int|null | ||
*/ | ||
public $times; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
public $interval; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
public $description; | ||
|
||
/** | ||
* @var string|null | ||
*/ | ||
public $method; | ||
|
||
/** | ||
* ISO 8601 format. | ||
* | ||
* @var string|null | ||
*/ | ||
public $cancelledDatetime; | ||
|
||
/** | ||
* Contains an optional 'webhookUrl'. | ||
* | ||
* @var object|null | ||
*/ | ||
public $links; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
<?php | ||
/** | ||
* Copyright (c) 2016, Mollie B.V. | ||
* All rights reserved. | ||
* | ||
* Redistribution and use in source and binary forms, with or without | ||
* modification, are permitted provided that the following conditions are met: | ||
* | ||
* - Redistributions of source code must retain the above copyright notice, | ||
* this list of conditions and the following disclaimer. | ||
* - Redistributions in binary form must reproduce the above copyright | ||
* notice, this list of conditions and the following disclaimer in the | ||
* documentation and/or other materials provided with the distribution. | ||
* | ||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY | ||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY | ||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH | ||
* DAMAGE. | ||
* | ||
* @license Berkeley Software Distribution License (BSD-License 2) http://www.opensource.org/licenses/bsd-license.php | ||
* @author Mollie B.V. <[email protected]> | ||
* @copyright Mollie B.V. | ||
* @link https://www.mollie.com | ||
* | ||
* @method Mollie_API_Object_Customer_Subscription[]|Mollie_API_Object_List all($offset = 0, $limit = 0, array $filters = array()) | ||
* @method Mollie_API_Object_Customer_Subscription get($subscription_id, array $filters = array()) | ||
*/ | ||
class Mollie_API_Resource_Customers_Subscriptions extends Mollie_API_Resource_Base | ||
{ | ||
/** | ||
* @var string | ||
*/ | ||
protected $resource_path = "customers_subscriptions"; | ||
|
||
/** | ||
* @return Mollie_API_Object_Customer_Subscription | ||
*/ | ||
protected function getResourceObject () | ||
{ | ||
return new Mollie_API_Object_Customer_Subscription; | ||
} | ||
} |