original_string: public function startOneTimeTransaction($amount, $email, $plan = '')
      {
          $oneTimeTransaction = OneTimeTransaction::make(
              $amount,
              $email,
              $plan instanceof Plan ? $plan->get('plan_code') : $plan
          );
          $oneTimeTransaction->setTransactionResource($this->getTransactionResource());
          $transaction = $oneTimeTransaction->initialize();
  
          if ($transaction instanceof \Exception) {
              throw $transaction;
          }
  
          return $transaction;
      }
code: public function startOneTimeTransaction($amount, $email, $plan = '')
      {
          $oneTimeTransaction = OneTimeTransaction::make(
              $amount,
              $email,
              $plan instanceof Plan ? $plan->get('plan_code') : $plan
          );
          $oneTimeTransaction->setTransactionResource($this->getTransactionResource());
          $transaction = $oneTimeTransaction->initialize();
  
          if ($transaction instanceof \Exception) {
              throw $transaction;
          }
  
          return $transaction;
      }
code_tokens: public function startOneTimeTransaction ( $ amount , $ email , $ plan = '' ) { $ oneTimeTransaction = OneTimeTransaction :: make ( $ amount , $ email , $ plan instanceof Plan ? $ plan -> get ( 'plan_code' ) : $ plan ) ; $ oneTimeTransaction -> setTransactionResource ( $ this -> getTransactionResource ( ) ) ; $ transaction = $ oneTimeTransaction -> initialize ( ) ; if ( $ transaction instanceof \ Exception ) { throw $ transaction ; } return $ transaction ; }
docstring: Init a one time transaction to get payment page url.
  
  @param $amount
  @param $email
  @param string $plan
  
  @throws \Exception|mixed|Exceptions\PaystackInvalidTransactionException
  
  @return \Exception|mixed|Exceptions\PaystackInvalidTransactionException
docstring_tokens: Init a one time transaction to get payment page url .