/** * @param ChargeFactoryInterface $factory */ private function authorizeAndCapture($factory) { // creating a new charge. $charge = $factory->create($this->cards->getSuccess()); $amount = rand(1000, 9999); $charge_id = $charge->authorize($amount); $this->assertTrue(strlen($charge_id) > 0); // retrieving the created charge. $retrieved = $factory->retrieve($charge_id); $this->assertEquals($charge_id, $retrieved->getId()); $this->assertEquals($amount, $retrieved->getAmount()); $this->assertFalse($retrieved->isCaptured()); // now capture the charge. $retrieved->capture(); $retrieved = $factory->retrieve($charge_id); $this->assertEquals($charge_id, $retrieved->getId()); $this->assertEquals($amount, $retrieved->getAmount()); $this->assertTrue($retrieved->isCaptured()); }