Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsStoreStoreOrderInfo.GrandTotal OrderInfo.GrandTotal
Previous
 
Next
New Post
2/3/2009 10:46 PM
 

I'm doing a custom payment provider, and I need to pass the total price to a hosted payment service provider. They only accept numbers as price e.g. 50.00

when I'm using OrderInfo.GrandTotal, I found the number is 50.0000 which is not valid for my case. anybody know how I can get around this please?

 
New Post
2/3/2009 11:57 PM
Accepted Answer 

Hi Ray,

It's normal! The OrderInfo.GrandTotal return a decimal value. By default .Net round decimal value with 4 digits precision, but it depends of the system config. Instead to deal with system config and to be sure your provider will work with any system config, you have to do some work:

  1. Be aware with the system culture (another feature of .Net). In France decimal values are returned as 50,0000 (note the comma!). I suppose your provider API accept only decimal values as invariant culture like 50.00 (with a dot as separator). It's logical too! :-) In addition, DNN can use many different locale and in this case the current culture change accordingly. To be sure it always works, you have to define a CultureInfo object like this:

    CultureInfo ci_enUS = new CultureInfo("en-US");

  2. The second trick is to use the string formater. Your API probably use some POSTed hidden fields to receive values? Then, you just have to set the amount field like this:

    AmountField = OrderInfo.GrandTotal.ToString("0.00", ci_enUS);

That's all! Look at the file PayPalPayment.ascx.cs inside the project DotNetNuke.Store.Cart.PayPalProvider for more details.

Gilles

 


We (team members) are Humans offering their knowledge, their work and their spare time FOR FREE to benefit the community. It would be so particularly appreciated that your messages begin with "Hello" and end with "Thank you" or any other form of politeness. Ask yourself what your reaction would be, if you were approached by me (a total stranger) on the street to ask you something without saying "Hello" nor "Thank you"? After several years of services dedicated to the community, I begin to be tired to read requests without any form of politeness.
 
New Post
2/4/2009 2:37 PM
 

Thanks for your help Gilles. It's always great to learn. Cheers

 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsStoreStoreOrderInfo.GrandTotal OrderInfo.GrandTotal


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out