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; } } }
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(); }