Awesome that someone is writing this module. Full kudos. However:
When running composer require drupal/commerce_dps in a composer driven Drupal environment, the install fails with:
Your requirements could not be resolved to an installable set of packages.
This occurs because of dependency errors in relation to symfony/event-dispatcher and symfony/http-foundation.
While it is not possible to verify how to fix this I do notice that on the ominpay payment express project at https://github.com/thephpleague/omnipay-paymentexpress the recommended version is represented thus:
{
"require": {
"omnipay/paymentexpress": "~2.0"
}
}
While the composer.json for commerce_dps uses the following:
"require": {
"drupal/commerce": "~2",
"omnipay/paymentexpress": "dev-master"
}
Perhaps altering that might fix the issue.
Comments
Comment #2
NewZeal commentedUpdate: It looks like the problem is caused by omnipay and not commerce_dps. I have an up to date install of Drupal 8 (8.4.4). I tried installing omnipay by itself and got the same error which is as follows in full:
Comment #3
NewZeal commentedI've posted an issue at https://github.com/thephpleague/omnipay-common/issues/164
Comment #4
NewZeal commentedUpdate: There is an explanation in the readme for omnipay:
Comment #5
NewZeal commentedComment #6
norwegian.blue commentedDid you manage to get commerce_dps installed at all?
I have attempted to install by hand:
1 Extract the commerce_dps gzip into modules/custom
2 Clone the omnipay_paymentexpress github project and run composer install in the resulting directory.
3 Copy the whole directory structure into modules/custom/commerce_dps.
By doing this, commerce_dps does appear to find the omnipay classes required.
However, when setting up the payment gateway, I didn't get presented with anywhere to enter DPS authentication details (PxPay User Id or PxPay Key)
Thus when going through the checkout process, it doesn't redirect to the DPS payment pages.
Is this module simply too young in it's development or am I missing something ?
Comment #7
garethhallnz commentedAs pointed out above this is a limitation imposed on us by Omnipay Core and there is not too much we can do about it.
Obviously, it's a major problem for us and we need to work Omnipay to try and get it sorted.
Luckily it's not all bad news. Omnipay core is in V3-beta.1 which means we are getting close.
I have already upgraded the code for omnipay-paymentexpress to support Omnipay core V3
https://github.com/thephpleague/omnipay-paymentexpress/issues/46
Hopefully soon :)
Comment #8
xurizaemonNeeds followup this side - might take a look this weekend :)
Looks like your work landed Gareth: https://github.com/thephpleague/omnipay-paymentexpress/pull/47
EDIT: Had a bit of a play, it is possible to get it installed currently from xurizaemon/commerce_dps@fd2d17 but I'll have a bit more of a play as by the end of getting it installed, the test site was in a right state.
Here's a sample project composer.json, but be warned that one points to my Github which may or may not be a good reference point (I recommend not doing that unless you are me).
Comment #9
xurizaemonAFAICT the dependency issues have been resolved upstream in the interim?
The above works for me with the current beta.
We should lock the omnipay/paymentexpress dependency at a specific version, but that doesn't prevent it working today.
Marking this issue closed for now - it's fine to re-open if you have steps to reproduce.
For the suggested change of updating the composer requirement, see #3000164: Require omnipay/paymentexpress:~2.0.