Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function create(array $data)
 {
     $charge = new Charge($data['id']);
     $charge->setCreated($this->dateTimeUtil->createDateTimeByUnixTime($data['created']))->setPaid($data['paid'])->setCaptured($data['captured'])->setAmount(new Money(floatval($data['amount']), $data['currency']))->setSource($data['source'] ?: null)->setRefunded($data['refunded'])->setAmountRefunded(new Money(floatval($data['amount_refunded']), $data['currency']))->setDispute($data['dispute']);
     foreach ($data['refunds'] as $refund) {
         $charge->addRefund($refund);
     }
     return $charge;
 }
Exemple #2
0
 public function testAccessors()
 {
     $charge = new Charge('charge');
     $charge->setCreated(new \DateTime('2015-01-01 10:00:00'))->setPaid(true)->setCaptured(true)->setSource($card = new Card())->setRefunded(true)->addRefund($refund1 = new Refund())->addRefund($refund2 = new Refund())->setDispute($dispute = new Dispute());
     $this->assertEquals('charge', $charge->getId());
     $this->assertEquals(new \DateTime('2015-01-01 10:00:00'), $charge->getCreated());
     $this->assertTrue($charge->isPaid());
     $this->assertTrue($charge->isCaptured());
     $this->assertSame($card, $charge->getSource());
     $this->assertTrue($charge->isRefunded());
     $this->assertCount(2, $charge->getRefunds());
     $this->assertSame($refund1, $charge->getRefunds()[0]);
     $this->assertSame($refund2, $charge->getRefunds()[1]);
     $this->assertSame($dispute, $charge->getDispute());
     $charge->setSource(null)->setDispute(null);
     $this->assertNull($charge->getSource(), 'source can be a null');
     $this->assertNull($charge->getDispute(), 'dispute can be a null');
 }