ChrisChinchilla / CiviCRM-eWay-recurring-payment-processor

CiviCRM eWay recurring payment processor
https://github.com/henare/CiviCRM-eWay-recurring-payment-processor#readme
0 stars 4 forks source link

Initial payment not processedMandatory key(s) missing from params array: contact_id, frequency_interval #54

Closed adevapp closed 8 years ago

adevapp commented 8 years ago

Receiving this error when trying to proceed payment on an online form: 9014: Initial payment not processedMandatory key(s) missing from params array: contact_id, frequency_interval (debug mode on)

" Please renew my membership automatically." is ticked.

Without debug: 9010: Failed to create managed customer - result (faultcode, faultstring, detail) is (soap:Client, Server did not recognize the value of HTTP Header SOAPAction: https://www.eway.com.au/gateway/managedpayment/CreateCustomer., )

Assuming contact information is never sent to eWay. The membership is created on the user record, but payment never processed.

Running CiviCRM 4.7.6.

adevapp commented 8 years ago

For my reference: Also tried with blank site URL and recurring payments URL, and also with these: https://www.eway.com.au/gateway_cvn/xmlpayment.asp https://www.eway.com.au/gateway/rebill/manageRebill.asmx

adevapp commented 8 years ago

Temporary fix to EwayRecurring.php

public function doDirectPayment(&$params) { $params['contact_id'] = $params['contactID'];

eileenmcnaughton commented 8 years ago

I just pushed up a fix for this - if it all looks good let me know & I'll tag a new release

mfuggle commented 8 years ago

Is there any timeframe for this new release to be issued?

eileenmcnaughton commented 8 years ago

I just tagged it now

mfuggle commented 8 years ago

I have uploaded the 1.2 version but the problem that I have remains unsolved. When I try to create a recurring payment I get the following error.

Payment Processor Error message
9010: Failed to create managed customer - result (faultcode, faultstring) is (soap:Client, Login failed. )

I am not sure how to locate/determine the string that is being sent to eWay.

eileenmcnaughton commented 8 years ago

that is a different error - it relates to the api key (mentioned in the readme) - Pete recently went through those hurdles (by a combination of the Readme & contacting eway via chat I believe) - so email him if you can't make sense of it

mfuggle commented 8 years ago

I'll see if I can get the issue resolved with eWay. When I spoke to them they decided that there was nothing that I needed to do to use the recurring payments however the ReadMe talks about creating a user and an API which maybe the problem.

Many thanks...

Martin Fuggle

kew: (03) 9817 1401 deans marsh: (03) 5236 3306 mobile: 0408 265 586

On 6 September 2016 at 20:38, Eileen McNaughton notifications@github.com wrote:

that is a different error - it relates to the api key (mentioned in the readme) - Pete recently went through those hurdles (by a combination of the Readme & contacting eway via chat I believe) - so email him if you can't make sense of it

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ChrisChinchilla/CiviCRM-eWay-recurring-payment-processor/issues/54#issuecomment-244913143, or mute the thread https://github.com/notifications/unsubscribe-auth/ABsfFWDuWyTdCOKJa3HZN4JFh36-2ASKks5qnUKIgaJpZM4IqJxt .

adevapp commented 8 years ago

@mfuggle Of interest, how did your talk with eWay go?

mfuggle commented 8 years ago

It was interesting and fairly simple in the end. There are two passwords in eWay: the logon password and the API password. It was necessary to create an API password and use that in the eWayrecurring credentials. That solved the problem. However I was using the sandbox settings and they were incorrect (not sure why since they were OK in the non recurring extension). Once I used the production environment with a set of test credit card details (4444333322221111 etc) the error I received was as expected (i.e eWay responded with a card declined error).

It took a while before we realised the sandbox settings were incorrect.