public function prepare($transactionId, $type, $object = null)
    {
        if (!in_array(
            $type,
            [
                self::TYPE_AUTO,
                self::TYPE_DIRECT_DEBIT,
                self::TYPE_CREDIT_CARD,
                self::TYPE_INVOICE,
                self::TYPE_PAYPAL,
            ]
        )) {
            throw new \InvalidArgumentException('Wrong transaction type');
        }

        return $this->execute($transactionId, 'prepare', $type, $object, Transaction::class);
    }