This isn't an answer but first let me recommend that you switch from PayPal Express to PayPal REST as the latter is far better documented and a newer interface.
The actual answer: Omnipay doesn't work like that. It doesn't expose the underlying gateway methods directly, and methods like 'setExpressCheckout', 'doExpressCheckout' and 'getExpressCheckout' are PayPal methods not Omnipay methods. In their place are gateway-independent methods such as purchase() and refund(), etc.
So for an example of the omnipay-paypal REST gateway documentation (as docblocks in the class headers) here is what you do:
// Create a gateway for the PayPal RestGateway
// (routes to GatewayFactory::create)
$gateway = Omnipay::create('PayPal_Rest');
// Initialise the gateway
$gateway->initialize(array(
'clientId' => 'MyPayPalClientId',
'secret' => 'MyPayPalSecret',
'testMode' => true, // Or false when you are ready for live transactions
));
That's just to initialise the gateway. The process is the same for PayPal express except you use PayPal_Express as the gateway name and you would have different parameters for initialize()
Then to make the purchase, e.g. with a card number if you're allowed to do that:
// Create a credit card object
// DO NOT USE THESE CARD VALUES -- substitute your own
// see the documentation in the class header.
$card = new CreditCard(array(
'firstName' => 'Example',
'lastName' => 'User',
'number' => '4111111111111111',
'expiryMonth' => '01',
'expiryYear' => '2020',
'cvv' => '123',
'billingAddress1' => '1 Scrubby Creek Road',
'billingCountry' => 'AU',
'billingCity' => 'Scrubby Creek',
'billingPostcode' => '4999',
'billingState' => 'QLD',
));
// Do a purchase transaction on the gateway
try {
$transaction = $gateway->purchase(array(
'amount' => '10.00',
'currency' => 'AUD',
'description' => 'This is a test purchase transaction.',
'card' => $card,
));
$response = $transaction->send();
$data = $response->getData();
echo "Gateway purchase response data == " . print_r($data, true) . "\n";
if ($response->isSuccessful()) {
echo "Purchase transaction was successful!\n";
}
} catch (\Exception $e) {
echo "Exception caught while attempting authorize.\n";
echo "Exception type == " . get_class($e) . "\n";
echo "Message == " . $e->getMessage() . "\n";
}
Doing a redirect payment such as a PayPal account payment is somewhat different but it's documented in the class docblocks. See src/Messages/RestPurchaseRequest.php