{"action":"created","issue":{"url":"https://api.github.com/repos/thephpleague/omnipay/issues/307","labels_url":"https://api.github.com/repos/thephpleague/omnipay/issues/307/labels{/name}","comments_url":"https://api.github.com/repos/thephpleague/omnipay/issues/307/comments","events_url":"https://api.github.com/repos/thephpleague/omnipay/issues/307/events","html_url":"https://github.com/thephpleague/omnipay/issues/307","id":110238281,"number":307,"title":"Is there a way of getting all available gateways not just supported ones?","user":{"login":"laverboy","id":617565,"avatar_url":"https://avatars.githubusercontent.com/u/617565?v=3","gravatar_id":"","url":"https://api.github.com/users/laverboy","html_url":"https://github.com/laverboy","followers_url":"https://api.github.com/users/laverboy/followers","following_url":"https://api.github.com/users/laverboy/following{/other_user}","gists_url":"https://api.github.com/users/laverboy/gists{/gist_id}","starred_url":"https://api.github.com/users/laverboy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laverboy/subscriptions","organizations_url":"https://api.github.com/users/laverboy/orgs","repos_url":"https://api.github.com/users/laverboy/repos","events_url":"https://api.github.com/users/laverboy/events{/privacy}","received_events_url":"https://api.github.com/users/laverboy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-10-07T14:31:08Z","updated_at":"2015-11-10T13:36:48Z","closed_at":null,"body":"As the question says, I am aware of `Omnipay::find()` but this only gets officially supported gateways. I would like to also include the third party ones and ones I include myself.\r\n\r\nThis is in order to show the end user the available gateways and then show them the required default parameters when they select one. Thanks."},"comment":{"url":"https://api.github.com/repos/thephpleague/omnipay/issues/comments/155420690","html_url":"https://github.com/thephpleague/omnipay/issues/307#issuecomment-155420690","issue_url":"https://api.github.com/repos/thephpleague/omnipay/issues/307","id":155420690,"user":{"login":"judgej","id":395934,"avatar_url":"https://avatars.githubusercontent.com/u/395934?v=3","gravatar_id":"","url":"https://api.github.com/users/judgej","html_url":"https://github.com/judgej","followers_url":"https://api.github.com/users/judgej/followers","following_url":"https://api.github.com/users/judgej/following{/other_user}","gists_url":"https://api.github.com/users/judgej/gists{/gist_id}","starred_url":"https://api.github.com/users/judgej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/judgej/subscriptions","organizations_url":"https://api.github.com/users/judgej/orgs","repos_url":"https://api.github.com/users/judgej/repos","events_url":"https://api.github.com/users/judgej/events{/privacy}","received_events_url":"https://api.github.com/users/judgej/received_events","type":"User","site_admin":false},"created_at":"2015-11-10T13:36:48Z","updated_at":"2015-11-10T13:36:48Z","body":"The only way I can see of doing that, is to run through the list of gateways that exist, and try to load up each in turn to see if they are installed. So I think it is back to that master list again. I don't think there is any way to detect that a third party gateway has been installed without knowing it exists in the first place.\r\n\r\nUnless I'm missing it, I can see no way to get a list of the gateways for each driver either. So SagePay may have a `Direct` gateway and a `Server` gateway, but there is no metadata to allow you to discover that, even if you know the SagePay driver is installed.\r\n\r\nSorry if I'm just restating the problem - but hopefully I can be corrected, or if not, we can understand better where the solution needs to go.\r\n\r\nSo far, I think we need better metadata within the drivers, so we can see what gateways they support. And secondly a central list of drivers and gateways from all sources. Maybe composer tags would help us here."}}