PayPal gateway

Feb 8, 2010 at 7:00 PM

Hi

I have bought several stores on DNN, and got disapointed, because it didn't fit my needs!

Then, few days ago a dnn developer recommend NB_Store, which I didn't knew about at all - and I'm THRILLED!! THIS module have everything I wanted!

BUT...

I have in 2 days been fighting to get the PayPal running. I don't know what I do wrong?

I'm running dnn 5.2.2., and all is installed as the instruction, but I get this error, when I click the PayPal button in the checkout:

Fejl: Dagaz Boutique Checkout er i øjeblikket ikke tilgængelig. (This is in Danish, but says: Error, not avaible)
DotNetNuke.Services.Exceptions.ModuleLoadException: The 'ReturnNotifyURL' start tag on line 12 does not match the end tag of 'ReturnNotify'. Line 12, position 85. ---> System.Xml.XmlException: The 'ReturnNotifyURL' start tag on line 12 does not match the end tag of 'ReturnNotify'. Line 12, position 85. at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args) at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag) at System.Xml.XmlTextReaderImpl.ParseEndElement() at System.Xml.XmlTextReaderImpl.ParseElementContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace) at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDataDocument.Load(XmlReader reader) at System.Xml.XmlDocument.LoadXml(String xml) at NEvoWeb.Modules.NB_Store.SharedFunctions.ParseGateway(String GatewayParams) at NEvoWeb.Modules.NB_Store.Gateway.GatewayPayPal.SetBankRemotePost(Int32 PortalID, Int32 OrderID, String Lang, HttpRequest Request) at NEvoWeb.Modules.NB_Store.CheckOut.Page_Load(Object sender, EventArgs e) --- End of inner exception stack trace ---

The gatewayproviders.xml look like this:

<?xml version="1.0" encoding="utf-8" ?>
<root>
  <gateways> 
  <gateway ref="SIPS">
    <name>SIPS</name>
    <assembly>NEvoweb.DNN.Modules.NB_Store.GatewaySIPS</assembly>
    <class>NEvoWeb.Modules.NB_Store.Gateway.GatewaySIPS</class>
  </gateway>
    <gateway ref="Paypal">
      <name>Paypal</name>
      <assembly>NEvoweb.DNN.Modules.NB_Store.GatewayPayPal</assembly>
      <class>NEvoWeb.Modules.NB_Store.Gateway.GatewayPayPal</class>
    </gateway>
    <gateway ref="PxPay">
      <name>PxPay</name>
      <assembly>NEvoweb.DNN.Modules.NB_Store.GatewayPxPay</assembly>
      <class>NEvoWeb.Modules.NB_Store.Gateway.GatewayPxPay</class>
    </gateway>
    <gateway ref="PayBox">
      <name>PayBox</name>
      <assembly>NEvoweb.DNN.Modules.NB_Store.GatewayPayBox</assembly>
      <class>NEvoWeb.Modules.NB_Store.Gateway.GatewayPayBox</class>
    </gateway>
  </gateways>
</root>

And the config. in the backoffice (PayPalGateway) is made totally as recommended, and I have been checking the url 1000 times :O)

The portal is on a subdirectory (GoDaddy) - can this be the reason. When I look in the Module Definitions "In Use", it says No???

NB_Store_GatewayPayPal NB_Store_GatewayPayPal 1.2.1 No

I am in a hurry to install this shop, which is in 3 language...

So PLEASE - if anybody can help me a.s.a.p.

Best Regards,

Per

Coordinator
Feb 8, 2010 at 8:35 PM

Hi,

This looks like your xml structure is incorrect in the "PayPal.gateway" setting.  It should look something like this:

<root>
        <paymentURL>https://www.sandbox.paypal.com/cgi-bin/webscr</paymentURL>
        <verifyURL>https://www.sandbox.paypal.com/cgi-bin/webscr</verifyURL>
        <PayPalID>paypal@MyWebsite.com</PayPalID>
        <CartName>TEST</CartName>
        <ButtonImageURL>/Desktopmodules/NB_Store_GatewayPayPal/paypal60x38.gif</ButtonImageURL>
        <Currency>EUR</Currency>
        <ReturnURL>http://www.MyWebsite.com/Panier/tabid/56/stg/5/ordid/[ORDERID]/Default.aspx?PayPalExit=RETURN</ReturnURL>
        <ReturnCancelURL>http://www.MyWebsite.com/Panier/tabid/56/stg/5/ordid/[ORDERID]/Default.aspx?PayPalExit=CANCEL</ReturnCancelURL>
        <ReturnNotifyURL>http://www.MyWebsite.com/Panier/tabid/56/stg/4/Default.aspx</ReturnNotifyURL>
        <MerchantLanguage>fr</MerchantLanguage>
        <paypalurl>
          <cmd>_xclick</cmd>
          <bn>NBStore</bn>
          <quantity>1</quantity>
          <undefined_quantity>0</undefined_quantity>
          <no_note>1</no_note>
          <no_shipping>1</no_shipping>
          <first_name>[OrderUser:FirstName]</first_name>
        </paypalurl>
</root>

 

Notice that each xml node should have a starting and ending node....the error looks to be saying that the <ReturnURL> node doesn;t have an ending </ReturnURL> node.

Regards,

Dave.

Feb 8, 2010 at 8:51 PM

Hi Dave

Thanks for a quick answer!

It drive me crazy, because my node looks like this:

<ReturnNotifyURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/2/Default.aspx</ReturnNotifyURL>

Can you see any mistake in this?

Best Regards,

Per

Coordinator
Feb 8, 2010 at 8:59 PM

Hi Per,

Change the 2 to a 4:

<ReturnNotifyURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/4/Default.aspx</ReturnNotifyURL>

That's also assuming the rest of your PayPal.gateway setting is correct.

Regards,
Rob

Feb 8, 2010 at 9:04 PM

Hi Robax

My URL's is 3 and 2, as you see here:

<ReturnURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/3/ordID/[ORDERID]/Default.aspx?
PayPalExit=RETURN</ReturnURL>
<ReturnCancelURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/3/ordID/[ORDERID]/Default.aspx?PayPalExit=CANCEL</ReturnCancelURL>
<ReturnNotifyURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/2/Default.aspx</ReturnNotifyURL>

Shall I anyway change ReturnNotifyURL to 4 ?

Regards,

Per

Feb 8, 2010 at 9:07 PM

Rob

I just tried to change to 4, but still the same error???

Regards,

Per

Coordinator
Feb 8, 2010 at 9:19 PM

Hi Per,

Is there a reason you haven't matched it to the example in the docs, and as Dave pasted in his post above:

<ReturnURL>http://www.MyWebsite.com/Panier/tabid/56/stg/5/ordid/[ORDERID]/Default.aspx?PayPalExit=RETURN</ReturnURL>
<ReturnCancelURL>http://www.MyWebsite.com/Panier/tabid/56/stg/5/ordid/[ORDERID]/Default.aspx?PayPalExit=CANCEL</ReturnCancelURL>
<ReturnNotifyURL>http://www.MyWebsite.com/Panier/tabid/56/stg/4/Default.aspx</ReturnNotifyURL>

It has 5, 5 and 4

So in your case:

<ReturnURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/5/ordid/[ORDERID]/Default.aspx?PayPalExit=RETURN</ReturnURL>
<ReturnCancelURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/5/ordid/[ORDERID]/Default.aspx?PayPalExit=CANCEL</ReturnCancelURL>
<ReturnNotifyURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/4/Default.aspx</ReturnNotifyURL>

Try that and see if it works

Rob

Feb 8, 2010 at 9:32 PM

Hi Rob

As I say, it's driving me crazy, because I have tried the doc example first (5,5,4) but then I understood, that I should use the URL for my shop, which showing 3,3,2...?

Anyway, I just tried what you say, without any changing - I even restarted application...

Rob, is it any way, that you could look into my site, if I send you login info on an email?

Best Regards,

Per

Coordinator
Feb 8, 2010 at 9:40 PM

Yep, sure thing. Click my username to send me a private message.

Rob

Coordinator
Feb 8, 2010 at 10:52 PM

Ok, all sorted.

I updated the PayPal.gateway settings for all languages. There were line breaks in two of them and this caused the error.

Enjoy :)

Rob

Feb 8, 2010 at 11:22 PM

Rob..

YOU are added to my favorite list - I am SO happy for your help!!!!

Thanks a million!

Best Regards,

Per

Feb 9, 2010 at 7:07 PM

Hi again Rob

Don't worry, I'm still thrilled about this module - even more now when I have installed the 2 other languages, and everything is running perfect!

BUT...

- there is one little thing left regarding the PayPal:

The ReturnNotyfyURL, that you fixed for me yesterday, was to the Danish basket, and PayPal can only handle one....

Now I have these 3 different, that I have modified in the PayPal.gateway (see below) - but all language go back to the *Danish basket!

Is it any way to solve this problem (IF, everything is just fantastic :O)

<ReturnNotifyURL>http://dagazboutique.com/boutique/en/Basket/tabid/68/stg/4/Default.aspx</ReturnNotifyURL>
*<ReturnNotifyURL>http://dagazboutique.com/boutique/da/Kurv/tabid/78/stg/4/Default.aspx</ReturnNotifyURL>
<ReturnNotifyURL>http://dagazboutique.com/boutique/es/Cesta/tabid/74/stg/4/Default.aspx</ReturnNotifyURL>

Hope you also can solve this for me!

Best Regards,

Per

Coordinator
Feb 9, 2010 at 9:46 PM

Hi Per,

It looks like you've create a seperate checkout page for each langauge?  

With NB_Store you don;t need to do this, you just need to update the resx files and any tempates (emails, text, etc) and NB_Store will automatically pickup the language the users has selected.

(It's also the same with the product list.)

Therefore you don't need multiple ReturnNotifyURL's

Regards,

Dave.

 

 

Feb 9, 2010 at 10:16 PM

Hi Dave

Even it sound fantastic, I don't think I understand it totally?

I need the shop on each language on my site.... so do you mean, that I shall have a shared check out...?

Please have a look:

http://dagazboutique.com/boutique/en/Dagaz.aspx

Best Regards,

Per

Coordinator
Feb 9, 2010 at 11:35 PM

Hi Per,

I think you've build your site different to how I build mine, it looks like you've choosen a 3 structure level to deal with you langauges, this is fine and I've even though about doing it like this.  But in the end I decided to use DSLocalizator and build only 1 structure which alters content based on the langauge.

Anyway, yes I think it's still possible for you to have a shared checkout.  Have a look at this site as an example:

www.pastis-des-homs.fr

You'll see the checkout  (and all other pages!) use the same tab, it's just the content that changes lanague.

Regards,

Dave.

 

 

Feb 10, 2010 at 12:13 AM

Hi Dave

I see what you mean, and it's running very nice in the site you are showing..

It's probably to late to make these changing for me now, but I will try to play more with the possibility to make a shared checkout to solve the problem with PayPal (I have already tried a little bit without luck :O).

It's a petty, because everything else is working fantastic!! Only this little problem with the return URL...
- And you have not an idea of how else this can be solved??

Anyway, I will inform you about my result, and should you get an idea to another solution, please tell me!

Thanks again Dave

Best Regards,
Per

Feb 10, 2010 at 8:30 AM

Hi Dave

The pastis site is running very fast and nice, the way it's buildt!

I would like to know how this is built, because I'm using Adequation Localization Extentions, and I don't think it can be built in other ways, that I have done it...? And I think it's difficult to make a shared checkout...

Is it the shop that have added pages, so the localization to other pages is used from the store?

Best Regards,

Per

Feb 10, 2010 at 11:50 AM

Hi Per,

I use DSLocalization.
It is not difficult to install

You can Localize your site with dslocalization on:
- site level
- module level
- localize phrases
- and much more!

you can get it free at:

http://dnn.tiendaboliviana.com/web/Home/tabid/52/Locale/en-US/Default.aspx

It is not difficult to use.
Even I can install and use it :-)

Regards, Ton

Feb 10, 2010 at 3:22 PM

Hi Ton

Thanks a lot!

I will try it on a testsite - it's probably to late to change the actual site, so I have to find a way to solve the returnURL on PayPal.

If somebody have any ideas, I would be happy to hear about it!

For sure, it's looking nice, and it seems like that the site is much faster with DSLocalization.

Thank again!

Regards,

Per