/**
  * @throws \InvalidArgumentException
  * @return Payment
  */
 protected function createNewPayment()
 {
     $payment = new Payment();
     $payment->setIntent(Intent::SALE);
     $payment->setPayer($this->createNewPayer());
     $payment->addTransaction($this->createNewTransaction());
     return $payment;
 }