/**
  * @param StripeCharge $stripeCharge
  *
  * @return Charge
  */
 public function transform(StripeCharge $stripeCharge)
 {
     $charge = new Charge();
     $createdAt = new \DateTime($stripeCharge['created']);
     $charge->setId($stripeCharge['id']);
     $charge->setCreatedAt($createdAt);
     $charge->setDescription($stripeCharge['description']);
     $charge->setCurrency($stripeCharge['currency']);
     $charge->setLiveMode($stripeCharge['livemode']);
     $charge->setMetadata($stripeCharge['metadata']->__toArray());
     $charge->setAmount(StripeFactory::convertStripeAmountToFloat($stripeCharge['amount']));
     $charge->setBalanceTransaction($stripeCharge['balance_transaction']);
     $charge->setCaptured($stripeCharge['captured']);
     $charge->setCustomerId($stripeCharge['customer']);
     $charge->setDescription($stripeCharge['description']);
     $charge->setFailureCode($stripeCharge['failure_code']);
     $charge->setFailureMessage($stripeCharge['failure_message']);
     $charge->setPaid($stripeCharge['paid']);
     $charge->setReceiptEmail($stripeCharge['receipt_email']);
     $charge->setReceiptNumber($stripeCharge['receipt_number']);
     $charge->setRefunded($stripeCharge['refunded']);
     $charge->setRefundedAmount(StripeFactory::convertStripeAmountToFloat($stripeCharge['amount_refunded']));
     $charge->setStatus($stripeCharge['status']);
     return $charge;
 }
 /**
  * @covers StripeFactory::convertStripeAmountToFloat
  */
 public function testAmountReverseConverter()
 {
     $this->assertEquals(0.01, StripeFactory::convertStripeAmountToFloat(1));
     $this->assertEquals(0.1, StripeFactory::convertStripeAmountToFloat(10));
     $this->assertEquals(1, StripeFactory::convertStripeAmountToFloat(100));
     $this->assertEquals(10, StripeFactory::convertStripeAmountToFloat(1000));
     $this->assertEquals(0.01, StripeFactory::convertStripeAmountToFloat(1));
     $this->assertEquals(0.12, StripeFactory::convertStripeAmountToFloat(12));
     $this->assertEquals(1.23, StripeFactory::convertStripeAmountToFloat(123));
     $this->assertEquals(12.34, StripeFactory::convertStripeAmountToFloat(1234));
     $this->assertEquals(12345678.9, StripeFactory::convertStripeAmountToFloat(1234567890));
 }
 /**
  * @param StripeCustomer $stripeCustomer
  *
  * @return Customer
  */
 public function transform(StripeCustomer $stripeCustomer)
 {
     $customer = new Customer();
     $createdAt = new \DateTime($stripeCustomer['created']);
     $customer->setId($stripeCustomer['id']);
     $customer->setCreatedAt($createdAt);
     $customer->setDescription($stripeCustomer['description']);
     $customer->setEmail($stripeCustomer['email']);
     $customer->setAccountBalance(StripeFactory::convertStripeAmountToFloat($stripeCustomer['account_balance']));
     $customer->setCurrency($stripeCustomer['currency']);
     $customer->setDelinquent($stripeCustomer['delinquent']);
     $customer->setLiveMode($stripeCustomer['livemode']);
     $customer->setMetadata($stripeCustomer['metadata']->__toArray());
     return $customer;
 }
 /**
  * @param $amount
  *
  * @return int
  */
 public function floatToStripe($amount)
 {
     return StripeFactory::convertAmountToStripe($amount);
 }