/** * @param Charge $charge * @return SimpleXMLElement */ public function serialize(Charge $charge) { $request = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><payment />'); $request->addChild('preApprovalCode', $charge->getSubscriptionCode()); $items = $request->addChild('items'); foreach ($charge->getItems() as $item) { $this->appendItem($items, $item); } if ($reference = $charge->getReference()) { $request->addChild('reference', $reference); } return $request; }
/** * {@inheritdoc} */ public function addItem(Item $item) { $this->charge->getItems()->add($item); return $this; }
/** * @test */ public function constructShouldConfigureTheAttributes() { $this->assertInstanceOf(ItemCollection::class, $this->charge->getItems()); }