Login  Register

Re: worldpay integration

Posted by BJ Freeman on Jul 11, 2006; 12:39am
URL: http://ofbiz.116.s1.nabble.com/worldpay-integration-tp140597p140605.html

you have done the applications/accounting/lib/worldpay/readme.txt and
setup the *.properties?

BJ Freeman sent the following on 7/10/2006 4:08 PM:

> found this
> http://lists.ofbiz.org/pipermail/users/2003-July/001332.html
>
>
> Iain Mac Donald sent the following on 7/10/2006 3:46 PM:
>> I have wasted days trying to get Worldpay and Ofbiz to talk to each
>> other without success.
>>
>> I am getting this in the logs
>>
>> EXCEPTION com.worldpay.select.SelectException: Process failed
>> Caused By: EXCEPTION com.worldpay.protocols.crypto.CryptoException:
>> Failed to get keypair generator
>> Caused By: EXCEPTION com.worldpay.select.SelectException: Select key
>> generator algorithm not found
>> Caused By: java.security.NoSuchAlgorithmException: class
>> cryptix.provider.rsa.BaseRSAKeyPairGenerator configured for
>> KeyPairGenerator(provider: Cryptix) cannot be acces
>> sed.
>>
>> The Tomcat docs suggest this is because the JVM cannot find the JSSE JAR
>> files. Can that be correct as Tomcat quite happily serves the correct
>> cert to browsers.
>>
>> AND
>>
>> I still think the callback URL isn't correct.
>>
>> I had a look at SelectRespServlet.java and WorldPayEvents.java.
>>
>> My understanding is that WorldPayEvents initializes the M_ variables
>> and passes them to WorldPay; SelectRespServlet handles the callback
>> and is passed back the variable contents by WorldPay.
>>
>> SelectRespServlet is addressed by the callback URL via
>>
>> https://mysite.com/ecommerce/select
>>
>> I notice that ofbiz requires various callback data to be returned via
>> the callback URL, which are initialized in WorldPayEvents:
>>
>> M_controlPath
>> M_userLoginId
>> M_dispatchName
>> M_delegatorName
>> M_webSiteId
>> M_localLocale
>> M_confirmTemplate
>>
>> SelectRespServlet requests those parameters (using the same name), so
>> presumably the callback URL should be defined as
>>
>> https://mysite.com/ecommerce/select?M_controlPath=<wpdisplay
>> item=M_controlPath>
>>
>>
>> But what about the other M_ variables?
>> And what about
>>
>> M_notifyEmail
>> M_confirmEmail
>>
>> which are requested in SelectRespServlet but not initialized or used
>> anywhere else?
>>
>>
>>
>>
>>
>> On Sat, 2006-07-08 at 21:13 -0700, BJ Freeman wrote:
>>> ok the M_ is used to pass back data to ofbiz. it is not  data
>>> processed by world pay.
>>> The URL for the pass back is already created.
>>>
>>> since each product store used diffenent settings, I don't see the
>>> need for m_somesetting_1
>>>
>>> hope that helps
>>>
>>>
>>> Iain Mac Donald sent the following on 7/8/2006 2:54 PM:
>>>> I think in about 6 months I will understand your reply :)
>>>> Currently I am at the bottom of a very steep learning curve.
>>>>
>>>> I could see from your previous post the URL needs to include the
>>>> variable M_controlpath. However, what I don't know is how I express
>>>> that
>>>> URL so that Ofbiz understands it.
>>>>
>>>> Thanks in anticipation.
>>>>
>>>>
>>>> On Sat, 2006-07-08 at 11:28 -0700, BJ Freeman wrote:
>>>>> I have not used Worldpay, but have others.
>>>>>  From the Documentation from world pay M_ has a Different meaning
>>>>> the MC_. both are world pay defined.
>>>>> http://support.worldpay.com/kb/reference/faqs/callback_faqs.html
>>>>>
>>>>>
>>>>> here is sample code from world pay
>>>>> http://support.worldpay.com/integrations/invisible/iig/pro.java
>>>>> that shows how to send with different iinstallation and merchant ID's
>>>>>
>>>>>
>>>>> application/accounting/src/org/ofbiz/thirdparty/worldpay/SelectRespServlet.java
>>>>> and WorldPayEvents how the send-back (call back) is handled,
>>>>> and  shows the properties and how there are used.
>>>>>
>>>>> you can find reference to
>>>>> _CONTROL_PATH_ (       linkParms.setValue("M_controlPath",
>>>>> (String)request.getAttribute("_CONTROL_PATH_"));
>>>>> )
>>>>> in
>>>>> ControlServlet.java
>>>>> and
>>>>> makeLink in RequestHandler.java.
>>>>> this will let you figure out what the real address would be.
>>>>>
>>>>>
>>>>> so after all that the answer is:
>>>>> ofbiz code is setup to handle accounts from different ProductStore.
>>>>>          GenericValue paymentConfig =
>>>>> ProductStoreWorker.getProductStorePaymentSetting(delegator,
>>>>> productStore.getString("productStoreId"), "EXT_WORLDPAY", null, true);
>>>>>
>>>>> so based on the parms for that productStore, the URL is created.
>>>>> in this case M_ is passed back to ofbiz and handled in
>>>>> SelectRespServlet.java
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Iain Mac Donald sent the following on 7/8/2006 10:16 AM:
>>>>>> Hello BJ
>>>>>>
>>>>>>
>>>>>> On Sat, 2006-07-08 at 07:35 -0700, BJ Freeman wrote:
>>>>>>> I believe andy did some work on it. it should also be in the
>>>>>>> emails archives.
>>>>>> I had seen your contributions in the thread, I referenced before,
>>>>>> but I
>>>>>> am probably being a bit dim
>>>>>>
>>>>>> <quote>
>>>>>> We don't have to change the code.
>>>>>> but the World pay setup for Call back has to be initialize
>>>>>> the instruction are under
>>>>>> "Can I have more than one callback URL per installation ID? "
>>>>>> Finally, on the Customer Management System, you will need to set your
>>>>>> Callback URL to include the name of the variable using wpdisplay,
>>>>>> e.g.:
>>>>>> <wpdisplay item=M_controlpath>
>>>>>> the variable used by ofbiz is M_controlpath
>>>>>> </quote>
>>>>>>
>>>>>> Are you saying that all I need to do is set the callback URL to...
>>>>>>
>>>>>> http://mysite.com:8080/ecommerce/select[something else here]
>>>>>>
>>>>>> I am not sure what the [something else here] should be
>>>>>>
>>>>>>
>>>>>>
>>>>>>> NOt sure if this was pre Jira or not. so you might check the Jira
>>>>>>> list as well.
>>>>>> Didn't find anything here.
>>>>>>
>>>>>>
>>>>>>> Iain Mac Donald sent the following on 7/8/2006 4:32 AM:
>>>>>>>> I have just come across this thread
>>>>>>>> http://lists.ofbiz.org/pipermail/users/2005-April/007461.html
>>>>>>>> and I am wondering if these issues have been resolved.
>>>>>>>>
>>>>>>>> It seems the callback feature isn't working which in turn means the
>>>>>>>> initialise from Worldpay fails. The currency files and Worldpay
>>>>>>>> certs
>>>>>>>> seem to get written to the correct places but because the
>>>>>>>> callback fails
>>>>>>>> the loop isn't closed.
>>>>>>>>
>>>>>>>> Anybody using Worldpay and Ofbiz successfully?
>>
>