thephpleague / omnipay-targetpay

TargetPay driver for the Omnipay PHP payment processing library
MIT License
14 stars 4 forks source link

Missing data for TargetPay gateways #6

Open aimeos opened 9 years ago

aimeos commented 9 years ago

We can't get any of the TargetPay gateways to work. The following errors are returned:

According to getDefaultParameters() only subAccountId is required. Does anybody got TargetPay gateways (version 2.2.1) working and knows how to fix these errors?

qvotaxon commented 6 years ago

I'm having the same issue. Using OmniPay (TargetPay_Ideal) the returned exception is "The issuer parameter is required". It's been a while since this issue has been opened, so I'm curious about whether this issue has been resolved, and how to go about this.

qvotaxon commented 6 years ago

After some debugging I came to the conclusion that the code may be incorrect. The issue seems to be resolved when I add the following code to the omnipay/targetpay/src/AbstractGateway.php 's getDefaultParameters array: 'issuer' => '0721'

The issuer parameter (afaik) refers to the bank the user has chosen to complete his payment with (any of the following: https://www.targetpay.com/ideal/getissuers.php?format=xml). However the user is never asked to select his preferred bank. Adding the above line to the getDefaultParameters array seems to resolve the issue, however the request still fails (but I think this is related to an unrelated issue).

The strange thing about this all, is that the documentation of Targetpay states that the bank-id (issuer) is not mandatory. If it's omitted then Targetpay will show the customer a bank selection screen. From the docs:

bank ID of the bank, selected in the previous step. When this parameter is omitted, we will present our own bank selection screen.

delatbabel commented 6 years ago

Any chance you can create a PR?

qvotaxon commented 6 years ago

I would love to make a PR, but I'm pretty certain that my solution is not a fix. It's just a temporary solution, although I have come to the conclusion that this is not a working solution. The issue which I stated in my previous post about the failing request still remains. Probably because the TargetPay portal page sends some extra fields with the request to the bank.

I'm still stuck at step 1 apparently, because I can't seem to find a way around this issue.