/**
  * Get execution command name
  * @param OrderPaymentInterface $payment
  * @return string
  */
 private function getCommand(OrderPaymentInterface $payment)
 {
     // if auth transaction is not exists execute authorize&capture command
     if (!$payment->getAuthorizationTransaction()) {
         return self::SALE;
     }
     if (!$this->isExistsCaptureTransaction($payment)) {
         return self::CAPTURE;
     }
     return self::CLONE_TRANSACTION;
 }
 /**
  * Get execution command name
  * @param OrderPaymentInterface $payment
  * @return string
  */
 private function getCommand(OrderPaymentInterface $payment)
 {
     // if auth transaction is not exists execute authorize&capture command
     if (!$payment->getAuthorizationTransaction()) {
         return self::SALE;
     }
     // do capture for authorization transaction
     if (!$this->isExistsCaptureTransaction($payment)) {
         return self::CAPTURE;
     }
     // process capture for payment via Vault
     if ($this->isExistsVaultToken($payment)) {
         return self::VAULT_CAPTURE;
     }
     return self::CLONE_TRANSACTION;
 }