protected function createTransaction($amount, $currency)
 {
     $transaction = new FinancialTransaction();
     $transaction->setState(FinancialTransactionInterface::STATE_PENDING);
     $transaction->setRequestedAmount($amount);
     $paymentInstruction = new PaymentInstruction($amount, $currency, 'sips', new ExtendedData());
     $payment = new Payment($paymentInstruction, $amount);
     $payment->addTransaction($transaction);
     return $transaction;
 }
 public function testHasPendingTransactionOnPayment()
 {
     $instruction = $this->getInstruction();
     $payment = new Payment($instruction, 100);
     $this->assertFalse($instruction->hasPendingTransaction());
     $transaction = new FinancialTransaction();
     $payment->addTransaction($transaction);
     $transaction->setState(FinancialTransaction::STATE_PENDING);
     $this->assertTrue($instruction->hasPendingTransaction());
 }
 /**
  * @param string $amount
  * @param string $currency
  * @param array  $extendedDataValues
  *
  * @return \JMS\Payment\CoreBundle\Entity\FinancialTransaction
  */
 protected function createTransaction($amount, $currency, array $extendedDataValues = array('CN' => 'Foo Bar'))
 {
     $transaction = new FinancialTransaction();
     $transaction->setRequestedAmount($amount);
     $extendedData = new ExtendedData();
     foreach ($extendedDataValues as $key => $value) {
         $extendedData->set($key, $value);
     }
     $paymentInstruction = new PaymentInstruction($amount, $currency, 'ogone_caa', $extendedData);
     $payment = new Payment($paymentInstruction, $amount);
     $payment->addTransaction($transaction);
     return $transaction;
 }
 /**
  * Creates a payment with sample financial transactions:
  * - 1 APPROVE transaction
  * - 3 DEPOSIT transactions
  * - 2 REVERSE_APPROVAL transactions
  * - 4 REVERSE_DEPOSIT transactions
  * 
  * @return Payment
  */
 protected function getPayment()
 {
     $payment = new Payment($this->getInstruction(), 123.45);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_APPROVE);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_DEPOSIT);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_DEPOSIT);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_DEPOSIT);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_REVERSE_APPROVAL);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_REVERSE_APPROVAL);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_REVERSE_DEPOSIT);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_REVERSE_DEPOSIT);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_REVERSE_DEPOSIT);
     $payment->addTransaction($transaction);
     $transaction = new FinancialTransaction();
     $transaction->setTransactionType(FinancialTransaction::TRANSACTION_TYPE_REVERSE_DEPOSIT);
     $payment->addTransaction($transaction);
     return $payment;
 }
 protected function getTransaction($withCredit = false)
 {
     $instruction = new PaymentInstruction(123, 'EUR', 'foo', new ExtendedData());
     $transaction = new FinancialTransaction();
     if (!$withCredit) {
         $payment = new Payment($instruction, 100);
         $payment->addTransaction($transaction);
     } else {
         $credit = new Credit($instruction, 123.45);
         $credit->addTransaction($transaction);
     }
     return $transaction;
 }
 /**
  * @param $amount
  * @param $currency
  * @param $data
  * @return \JMS\Payment\CoreBundle\Entity\FinancialTransaction
  */
 protected function createTransaction($amount, $currency)
 {
     $transaction = new FinancialTransaction();
     $transaction->setRequestedAmount($amount);
     $paymentInstruction = new PaymentInstruction($amount, $currency, 'paypal_express_checkout', new ExtendedData());
     $payment = new Payment($paymentInstruction, $amount);
     $payment->addTransaction($transaction);
     return $transaction;
 }