Inheritance: extends Recurly_Resource
 public function redeemCoupon($accountCode, $currency)
 {
     $redemption = new Recurly_CouponRedemption();
     $redemption->account_code = $accountCode;
     $redemption->currency = $currency;
     foreach ($this->_links as $link) {
         if ($link->name == 'redeem') {
             $redemption->_save(strtoupper($link->method), $link->href);
             return $redemption;
         }
     }
 }
Example #2
0
 public function redeemCoupon($accountCode, $currency)
 {
     if ($this->state != 'redeemable') {
         throw new Recurly_Error('Coupon is not redeemable.');
     }
     $redemption = new Recurly_CouponRedemption(null, $this->_client);
     $redemption->account_code = $accountCode;
     $redemption->currency = $currency;
     foreach ($this->_links as $link) {
         if ($link->name == 'redeem') {
             $redemption->_save(strtoupper($link->method), $link->href);
             return $redemption;
         }
     }
 }
 protected function uri($accountCode = null)
 {
     if (!empty($this->_href)) {
         return $this->getHref();
     } else {
         if (!empty($accountCode)) {
             return Recurly_CouponRedemption::uriForAccount($accountCode);
         } else {
             return false;
         }
     }
 }
 public function testGetRedemption()
 {
     $redemption = Recurly_CouponRedemption::get('abcdef1234567890', $this->client);
     $this->assertInstanceOf('Recurly_CouponRedemption', $redemption);
     $this->assertInstanceOf('Recurly_Stub', $redemption->coupon);
     $this->assertInstanceOf('Recurly_Stub', $redemption->account);
     $this->assertEquals('https://api.recurly.com/v2/coupons/special', $redemption->coupon->getHref());
     $this->assertEquals('https://api.recurly.com/v2/accounts/abcdef1234567890', $redemption->account->getHref());
     $this->assertEquals('https://api.recurly.com/v2/subscriptions/012345678901234567890123456789ab', $redemption->subscription->getHref());
     $this->assertFalse($redemption->single_use);
     $this->assertEquals(0, $redemption->total_discounted_in_cents);
     $this->assertEquals('USD', $redemption->currency);
     $this->assertEquals('active', $redemption->state);
     $this->assertEquals(1435591848, $redemption->created_at->getTimestamp());
 }
 public function testDeleteRedemption()
 {
     $this->client->addResponse('DELETE', 'https://api.recurly.com/v2/accounts/abcdef1234567890/redemption', 'accounts/redemption/destroy-204.xml');
     Recurly_CouponRedemption::get('abcdef1234567890', $this->client)->delete();
 }