-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Eway Improvements to support transparent redirect & shared gateway recurring #23
Conversation
The interface allows for calling functions to check whether the gateway is transparentRedirect. We should respect that here
7723f25
to
5f16e49
Compare
I don't think the CI error relates to the change |
eWay has a function to retrieve the merchant (originating website) generated ID but it should implement the standardised Omnipay one per https://github.com/thephpleague/omnipay#successful-response which is ->getTransactionId(); // the reference set by the originating website if available.
The CI errors are because your block in RapidDirectAbstractRequest commencing with:
... is indented incorrectly. You have indented with 2 spaces, you need 4 for CS compliance. |
7257c24
to
1ee2eee
Compare
These are not required & have already been passed, so leave out if not available.
Cvn is required for an onsite purchase. It is not required when processing a recurring payment. It seems reasonable to assume that if not passed, and we are working with a DirectPayment with a token then it is a recurring payment. Setting to MOTO or Recurring would have the same effect. The practical difference between Recurring & MOTO is not clear and there is not an obvious Omnipay standard to follow so sticking with this assumption for now
1ee2eee
to
24731f9
Compare
…ransparent methods
88f71d1
to
e9d755e
Compare
Thanks for that - I've fixed those - the original 5.3 CI error stands. With these changes I have almost gotten eway working as recurring across all 3 Rapid methods - only one thing is still catching me (I hope only one) - the only way to set it process recurring without a cvn is to use the RapidDirect interface. I don't want my code to have to be aware of that so I logged thephpleague/omnipay-common#160 in order to get some thoughts on a generic way to define that. Note that the gateway would also need to call Direct rather than Shared/Transparent method. Resolving that is not a blocker to these changes. |
You can remove 5.3 from the travis.yml file, we're no longer seeing anyone use that. Most gateways have moved away from it. |
Done! Yay - it passes! |
…ents. When processing a recurring payment the directGateway should be used as a 'Continuous' (recurring) authorization as the card is not present at that stage thephpleague/omnipay-common#160 thephpleague/omnipay#466
ad2b21a
to
e516e65
Compare
a225346
to
1e7efb8
Compare
Eway does not natively allow you to make a concurrent purchase with a card creation for the Direct gateway (only). I think we should be honouring this pattern (which is used on other gateways) and we can do it by internally doing the purchase when the card is created.
904f87e
to
e9c1c72
Compare
Any update on this? Before I saw this I started working on doing my own implementation. |
This was working for me - it adds a separate gateway rather than a transparent redirect option to an existing gateway (which is kinda important when integrating into a package that supports multiple gateways) |
@eileenmcnaughton awesome! |
Actually, I still don't see anything in there for doing the method TokenPayment? |
You can purchase and create a token at the same time - or you can use createCard - https://omnipay.thephpleague.com/api/token-billing/ |
What's the situation on this? Would love to get it implemented... |
@fryiee same. I ended up hacking together to get what I wanted but I'd prefer to use this. |
Merged, thanks. I have been unwell for some time and I'm slowly getting around to my github backlog. Please confirm that this works in production then I will tag for release. |
@delatbabel thanks! |
The interface allows for calling functions to check whether the gateway is transparentRedirect.
We should respect that here