• Welcome to KonaKart Community Forum. Please login or sign up.
 
November 04, 2024, 03:58:54 am

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - sfsylz

1
I have done that (setting the orderId instead of a 1) and the shippingInfo and the product array on the returned AdminOrder object are null.

All I'm getting for stack traces are null pointer exceptions when I try to access these objects.

Steve
2
I wasn't setting the tax. Hopefully this is the last question this time around. I am modifying the WorldPayAction to inform the fulfillment company of the transaction. But when I go to retrieve the order it isn't returning anything (null). Is there something that I'm missing here?  This code should seem pretty familiar.

When I try to access order in sendToKunaki(order) - I get a null pointer exception.

Ideas?

if (SUCCESSFUL_TRANSACTION_VALUE.equalsIgnoreCase(transactionType))
                {
                    // status : 2 = Processing
                    comment = ORDER_HISTORY_COMMENT_OK + transactionId;
                    kkAppEng.getEng().changeOrderStatus(sessionId, orderId, 5, sendEmail, comment);
                     
                    //If the order payment was approved we send the request for fulfillment to the fulfillment company.
                    //this.fulfillTheOrder(orderId);
                    //--------------------------------------------------------
                    log.info("Retrieving the order with sessionId: " + sessionId + " orderId: " + orderId + " and languageId: 1");
                    OrderIf order = kkAppEng.getEng().getOrder(sessionId, orderId, 1);
                    if(this.sendToKunaki(order))
                       kkAppEng.getEng().changeOrderStatus(sessionId, orderId, 7, false, "Sent to the fulfillment center");
                   
//                  If the order payment was approved we update the inventory
                    kkAppEng.getEng().updateInventory(sessionId, orderId);
                   
                    //--------------------------------------------------------
                    // If we expect no more communication from WorldPay for this order we can
                    // delete the SecretKey
                    kkAppEng.getEng().deleteOrderIdForSecretKey(secretKey);
                    emailSubject = EMAIL_SUBJECT_OK;
3
That seems to have fixed it. Now I'm having trouble with the Order total page.

I have tried adding a scale of 2 to the BigDecimal, but still am getting this exception:

Exception Cause = java.lang.NullPointerException
at java.math.BigDecimal.matchScale(BigDecimal.java:3191)
at java.math.BigDecimal.add(BigDecimal.java:1007)
at com.konakart.app.Order.calculateTotals(Order.java:746)
at com.konakart.bl.modules.payment.PaymentMgr.getPaymentGateways(PaymentMgr.java:192)
at com.konakart.app.KKEng.getPaymentGateways(KKEng.java:1308)
at com.konakart.app.KKEng.getPaymentGateways(KKEng.java:63)
at com.konakart.al.OrderMgr.createPaymentGatewayList(OrderMgr.java:413)
at com.konakart.actions.CheckoutPaymentAction.execute(CheckoutPaymentAction.java:71)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)

Ideas?

Cheers,
Steve
4
Paolo,

I am throwing a KKException from within the getQuote() method on each shipping module, but this doesn't seem to be handled because I am getting a null pointer exception on a jsp tag. "Could not find a match for the shipping method." is the message that I send along with the KKException.  Am I throwing the exception in the right place - I need the Order object to create the shipping quote - so I am not able to check it in isAvailable()...  Any ideas?

INFO   | jvm 1    | 2007/06/12 10:35:34 | 12-Jun 10:35:34 INFO  (ShippingMgr.java:getShippingQuotes:481) Called the getQuote method on module com.konakart.bl.modules.shipping.uspsprioritymail.USPSPriorityMail. The module isn't available because of the following problem: Could not find a match for the shipping method.
INFO   | jvm 1    | 2007/06/12 10:35:34 | 12-Jun 10:35:34 ERROR (ApplicationDispatcher.java:invoke:704) Servlet.service() for servlet jsp threw exception
INFO   | jvm 1    | 2007/06/12 10:35:34 | java.lang.NullPointerException
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.struts.taglib.html.RadioTag.renderRadioElement(RadioTag.java:222)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.struts.taglib.html.RadioTag.doStartTag(RadioTag.java:166)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.jsp.WEB_002dINF.jsp.CatalogCheckoutDeliveryBody_jsp._jspService(CatalogCheckoutDeliveryBody_jsp.java:387)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
INFO   | jvm 1    | 2007/06/12 10:35:34 |       at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
                                                                                                            3038,1        90%
5
I want to get a shipping quote from a company via XML Web Services. The return values contain multiple options: < Response >

   < ErrorCode > 0 < /ErrorCode >
   < ErrorText > success < /ErrorText >

   < Option >
       < Description > USPS First Class Mail < /Description >
       < DeliveryTime > 2-5 days < /DeliveryTime >
       < Price > 1.29 < /Price >
   < /Option >

   < Option >
       < Description > UPS Ground < /Description> >
       < DeliveryTime > 2-4 days < /DeliveryTime >
       < Price > 7.90 < /Price >
   < /Option >

   < Option >
       < Description > Fedex guaranteed 3-day < /Description> >
       < DeliveryTime > 3 days < /DeliveryTime >
       < Price > 8.24 < /Price >
   < /Option >

< Response >

I would like to populate the shipping page with this information, but the Shipping Modules only seem to return one ShippingQuote. Am I going to have to implement different modules for each of the types and return null if the option isn't available?

Also, I am trying to integrate with a fulfillment company and I am ending up modifying the WorldPay callback class to automatically send the order to the fulfillment company. Is there a modular structure to fulfillment that I may have missed?

Cheers,
Steve
6
Miscellaneous / Eapps
May 16, 2007, 10:39:39 am
I see that <a href="http://www.eapps.com">Eapps</a> is now offering KonaKart as an option in their service.

That's who I use for my hosting.

Congrats!

Steve
7
Nope, definitely doesn't look anything like that.  :)  Like I said, it gets to the 'Customer:' part and then ends.

I suppose I'll have to dig into it a little deeper...
8
The only thing that is appearing in the invoice (under Orders - button invoice) is the order number and the date. The same is true for the packing slip. There is a 'Customer:' heading but nothing follows that. Is there somewhere that I can configure what appears in the invoice and packing slip?

Thanks for the information on the zones and I am definitely upgrading to the next version with the dynamic upgrade. Too many times have I changed something and and decided to do a reboot of Tomcat later and a couple of hours later, the shopping cart has crashed.  Is that dynamic update for all the modules in the admin tool?
9
Also, I don't suppose that there have been updates in the last couple of versions? I haven't updated since the version where the admin app debuted.
10
I have tried mine a couple of times and the shipping definitely isn't coming up. I have the shipping cost set but the handling fee is 0. Does that make a difference?
11
Actually, I'm using per item shipping.

Also, are there any instructions on setting up the zones? - I'm going to be explanding to other countries soon and the shipping costs are going to change for each country.

Cheers,
Steve
12
Configuration of KonaKart / PayPal and Shipping
May 08, 2007, 05:51:39 pm
I turned on PayPal the other day and I have received my first payment with it - but the payment I received did not have the shipping cost added to it!

Any ideas on why this happened? I'm using flat rate shipping.

Cheers,
Steve
13
Paulo,

I must have missed that on my quick look around this morning.

That's basically it. Between the product id and the shipping country we should be able to determine the total amount to charge. It looks like Worldpay can be configured to gather the shipping address for us.

There shouldn't be a reason for them to log in or register, but I do want the capability of generating the secret id and passing it as a parameter to Worldpay and then verifying the secret id on the callback. At callback time, then the shipping/billing address and customer information will be populated.

Am I being naive to think passing the secret id will provide any protection in this scenario? Because if that isn't needed, then the call to world pay is fairly simple (a form post) and we can just build the complete order on the callback.

I suppose this is less feature request and more of a technical question, since I'll probably end up doing this myself.

Thanks,
Steve
14
I was wondering if there was a capability to submit a single form containing the product id and shipping country, which then constructs the order and then dispatches the order off to the payment processor (ie Worldpay via a HTML post)?

I was thinking that there could be a simple html page form that calls a servlet that connects into the KonaKart engine and which builds the values needed for the Worldpay post (for security/spoofing reasons I want the secret id to be generated) and then forwards it on to Worldpay with instructions from Worldpay to gather the shipping instructions. The Worldpay callback servlet will then take the information that was gathered and will fill in the vital information for the order.

Doable? What are the required fields for an order to be populated initially. I couldn't see anything of that type in the JavaDocs. Maybe I missed it, but are there JavaDocs for the KKEngine?

Steve
15
Configuration of KonaKart / Re: Google Analytics
March 30, 2007, 12:06:45 am
That looks like it will work!

Thanks!

Steve