Recurly_Coupon::generate PHP Method

generate() public method

public generate ( $number )
    public function generate($number)
    {
        $doc = $this->createDocument();
        $root = $doc->appendChild($doc->createElement($this->getNodeName()));
        $root->appendChild($doc->createElement('number_of_unique_codes', $number));
        $response = $this->_client->request(Recurly_Client::POST, $this->uri() . '/generate', $this->renderXML($doc));
        $response->assertValidResponse();
        $coupons = array();
        foreach (new Recurly_UniqueCouponCodeList($response->headers['Location'], $this->_client) as $coupon) {
            $coupons[] = $coupon;
            if (count($coupons) == $number) {
                break;
            }
        }
        return $coupons;
    }

Usage Example

Exemplo n.º 1
0
 public function testGenerate()
 {
     $this->client->addResponse('POST', '/coupons/fifteen-off/generate', 'unique_coupons/generate-201.xml');
     $this->client->addResponse('GET', 'https://api.recurly.com/v2/coupons/fifteen-off/unique_coupon_codes?cursor=1234566890&per_page=20', 'unique_coupons/index-200.xml');
     $coupon = new Recurly_Coupon(null, $this->client);
     $coupon->coupon_code = 'fifteen-off';
     $coupons = $coupon->generate(10);
     $this->assertEquals(count($coupons), 10);
 }