httpStatus !== 404) { $this->fail(); } } } public function testProductCreateUpdateRead() { Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); $ProductID = 'gold-' . self::generateRandomString(20); $p = Product::create(array( 'name' => 'Gold Product', 'id' => $ProductID, 'url' => 'www.stripe.com/gold' )); $this->assertSame($p->url, 'www.stripe.com/gold'); $p->name = 'A new Product name'; $p->save(); $this->assertSame($p->name, 'A new Product name'); $this->assertSame($p->url, 'www.stripe.com/gold'); $stripeProduct = Product::retrieve($ProductID); $this->assertSame($p->name, $stripeProduct->name); $this->assertSame($stripeProduct->url, 'www.stripe.com/gold'); } public function testSKUCreateUpdateRead() { Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); $ProductID = 'silver-' . self::generateRandomString(20); $p = Product::create(array( 'name' => 'Silver Product', 'id' => $ProductID, 'url' => 'www.stripe.com/silver' )); $SkuID = 'silver-sku-' . self::generateRandomString(20); $sku = SKU::create(array( 'price' => 500, 'currency' => 'usd', 'id' => $SkuID, 'inventory' => array( 'type' => 'finite', 'quantity' => 40 ), 'product' => $ProductID )); $sku->price = 600; $sku->inventory->quantity = 50; $sku->save(); $this->assertSame($sku->price, 600); $this->assertSame(50, $sku->inventory->quantity); $stripeSku = SKU::retrieve($SkuID); $this->assertSame($sku->price, 600); $this->assertSame('finite', $sku->inventory->type); $this->assertSame(50, $sku->inventory->quantity); } public function testSKUProductDelete() { Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); $ProductID = 'silver-' . self::generateRandomString(20); $p = Product::create(array( 'name' => 'Silver Product', 'id' => $ProductID, 'url' => 'stripe.com/silver' )); $SkuID = 'silver-sku-' . self::generateRandomString(20); $sku = SKU::create(array( 'price' => 500, 'currency' => 'usd', 'id' => $SkuID, 'inventory' => array( 'type' => 'finite', 'quantity' => 40 ), 'product' => $ProductID )); $deletedSku = $sku->delete(); $this->assertTrue($deletedSku->deleted); $deletedProduct = $p->delete(); $this->assertTrue($deletedProduct->deleted); } public function testOrderCreateUpdateRetrievePayReturn() { Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); $ProductID = 'silver-' . self::generateRandomString(20); $p = Product::create(array( 'name' => 'Silver Product', 'id' => $ProductID, 'url' => 'www.stripe.com/silver', 'shippable' => false, )); $SkuID = 'silver-sku-' . self::generateRandomString(20); $sku = SKU::create(array( 'price' => 500, 'currency' => 'usd', 'id' => $SkuID, 'inventory' => array( 'type' => 'finite', 'quantity' => 40 ), 'product' => $ProductID )); $order = Order::create(array( 'items' => array( 0 => array( 'type' => 'sku', 'parent' => $SkuID, ), ), 'currency' => 'usd', 'email' => 'foo@bar.com', )); $order->metadata->foo = "bar"; $order->save(); $stripeOrder = Order::retrieve($order->id); $this->assertSame($order->metadata->foo, "bar"); $order->pay(array('source' => 'tok_visa')); $this->assertSame($order->status, 'paid'); $orderReturn = $order->returnOrder(); $this->assertSame($orderReturn->order, $order->id); } }