Skip to content

Commit d09b31e

Browse files
author
Konstantinos Christofilos
committed
Create subscriptions
1 parent 168371e commit d09b31e

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

src/Gateway.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,4 +229,14 @@ public function void(array $parameters = array())
229229
{
230230
return $this->createRequest('\Omnipay\Braintree\Message\VoidRequest', $parameters);
231231
}
232+
233+
/**
234+
* @param array $parameters
235+
*
236+
* @return \Omnipay\Common\Message\AbstractRequest
237+
*/
238+
public function createSubscription(array $parameters = array())
239+
{
240+
return $this->createRequest('\Omnipay\Braintree\Message\CreateSubscriptionRequest', $parameters);
241+
}
232242
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
namespace Omnipay\Braintree\Message;
3+
4+
/**
5+
* Create Subscription Request
6+
*
7+
* @method CustomerResponse send()
8+
*/
9+
class CreateSubscriptionRequest extends AbstractRequest
10+
{
11+
public function getData()
12+
{
13+
return $this->getSubscriptionData();
14+
}
15+
16+
/**
17+
* Send the request with specified data
18+
*
19+
* @param mixed $data The data to send
20+
*
21+
* @return SubscriptionResponse
22+
*/
23+
public function sendData($data)
24+
{
25+
$response = $this->braintree->subscription()->create($data);
26+
27+
return $this->response = new SubscriptionResponse($this, $response);
28+
}
29+
30+
public function setSubscriptionData($value)
31+
{
32+
return $this->setParameter('subscriptionData', $value);
33+
}
34+
35+
public function getSubscriptionData()
36+
{
37+
return $this->getParameter('subscriptionData');
38+
}
39+
}

src/Message/SubscriptionResponse.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Omnipay\Braintree\Message;
4+
5+
/**
6+
* Subscription Response
7+
*/
8+
class SubscriptionResponse extends Response
9+
{
10+
public function getSubscriptionData()
11+
{
12+
if (isset($this->data->subscription)) {
13+
return $this->data->subscription;
14+
}
15+
16+
return null;
17+
}
18+
}

0 commit comments

Comments
 (0)