Products

Solutions

Resources

Partners

Community

About

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 ForumsStoreStorePrint FunctionalityPrint Functionality
Previous
 
Next
New Post
8/2/2011 2:46 AM
 
Hi Gilles,

After making a successful payment using a customized payment gateway we are going to display a receipt to the user which contains client logo, and text like user name, amount paid, payment date etc. To this page we are thinking of including print option.

Few questions on above requirement:
1. Is it good way to display successful message in a seperate page or shall we include it as a part of store by displaying it in a IFrame? If part of store any suggestions or procedure to follow?
2. Is there any existing print functionality in store module, so that a click on a button prints the receipt(page).

Thanks,
Raj
 
New Post
8/2/2011 1:05 PM
 
Hi Raj,

Congrats, you have to pay a beer! :-) You probably loose more times to have a running Store with sources than to create your gateway.

Normaly, there are two kind of gateway. The first like PayPal Standard redirects the customer to another website to proceed to the payment. When the payment is confirmed, most of times a message is sent to your website in the background (IPN) and the customer can click on a button to return to your website. The second like Authorize collect card informations and transmit amount and card infos in the background without leaving your website.

Both cases are covered by the Store module, if your gateway is like PayPal you should have at least one param to specify the return URL. Look at the ConfirmOrder method in the PayPalPayment.ascx.cs class for a sample of how to create a valid return URL. Two parameters are added to the return URL, GatewayExit is equal to 'return' or 'cancel' and OrderId is equal to the current order Id. When the customer click on the return button at PayPal, he is redirected to your website. The Account.ascx.cs class is in charge to load the checkout control (PageID=Checkout) while the Checkout.ascx.cs class load the right gateway control (in loadPaymentControl) and the corresponding order if GatewayExit AND OrderID exists (Page_Load method). The PayPalPayment.ascx.cs class check for the GatewayExit param (in the Page_Load) and invoke the corresponding event (invokePaymentCancelled, invokePaymentSucceeded or invokePaymentRequiresConfirmation) located in Checkout.ascx.cs to hide the checkout control and to display a standard message (success/failed/need confirmation) with the current order Id. At last, the customer can click on the order id to display his order. Because no gateway is like the others, I have chosen to display a generic message.
If your gateway is like Authorize, it's much more simpler because you don't leave your website and then you can display what you want in your payment control! The print function is not part of the Store module but is part of DNN Core. When your skin container contains a PrintModule.Action button and than your module settings allow to print, then the module content is displayed in a new page to allow your customer to print the content.

If your gateway is like PayPal, instead to try to display the receipt to the customer, you should overrides the generateOrderConfirmation method to send your receipt by email. Because the Mail.SendMail(...) method (from the DotNetNuke.Services.Mail namespace) is able to send HTML email, you should be able to do what you need!

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
8/2/2011 2:52 PM
 
Hi Gilles,

I would have paid you champagne if you are with me .  Yeah running Store with sources took much of my time. After following your posts I had created three different versions of DNN Store: Dev,Testing & Install.

The payment-gateway which we are implementing is Officials Payments (https://www.officialpayments.com/inde...). Our client requirement is elaborated below:

Official Payments gateway is some what similar to PayPal, but this gateway needs to be implemented based on SSL communication (HTTPS). If you can throw some light on certificates(eg: verisign) installation and refering it in the new gateway implementation would be of much help.

Under new gateway settings (here OPCProvider.admin.ascx) we have to provide info like TransactionURL, PostBackURL, ErrorURL, SkinID, Client Terms and update. This part has been implemented.

Now the user should be able to checkout only one product. Clicking on checkout should transfer an XML content which has information about user(first name, last name, billing address etc.), Session ID, Transaction URL,  SkinID, PostbackURL, ReturnURL, ErrorURL, TimeoutURL, PayMethod etc,  to Offcial Payments Secure Payment Portal site. In their site user will be presented a page where he can enter billing address, credit card details. After providing relavant details he can click MakePayment button.

If he cancels the payment it has to take back to Store(our site), I guess ReturnURL is useful to redirect to our site. If there is any error while making payment it has to take back to ERRORURL. And the PostBackURL is used like PayPalIPIN for sending message to store in the background. If the payment is successful it has to display a successful receipt to the user and in the background it has to send a customized email to user.

The requirement says ErrorURL, PostBackURL, Return URL will be provided by client. so my question here is how to link these url's with store module. For example if I close the error url I need to go back to catalog. Shall I integrate these new pages(error page, successful page) as part of store?

If you can throw some light on implementing the above requirement would be of great help. Please provide me your email id so that I can mail you the requirement document for clear understanding.

Thank You,
Raj
 
New Post
8/3/2011 12:23 PM
 
Hi Raj,

Distance is not a problem! If you want to please me, have a drink with your friends and think about me. :-)

To use SSL, you have to follow several steps:
  1. Acquire a certificate from a trusted vendor (Comodo, Thawte, Verisign, ...).
  2. Install the certificate inside IIS.
  3. Configure SSL within DNN. Only the page where the Store Account module is placed require to be secured via the page settings!

Concerning Official Payments, the settings PostbackURL, ReturnURL and ErrorURL should be computed like in the PayPal providers (re-read my previous post), don't make them available in the provider settings! To receive the response in the background from OP, you have to create an IPN page like in the PayPal provider (PayPalIPN.aspx). Because OP is very close to the PayPal provider you should study how it works. The main difference is than the PayPal provider post hidden fields with values, while OP require values inside an XML file!

You can send me your documentation at: glepigocher AT yahoo.fr, but DO NOT use my email to ask me something I will NOT respond! Please use the forum!

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
8/4/2011 10:28 AM
 
Hi Gilles,

haha..you are right distance is not a problem! i will hav drink friends and think about you :)


You had provided excellent information about paypal execution, sure this will be very helpful for me. Regarding Return URL, ErrorURL  etc... the requiremet asks us to provide them in provider settings. I have mailed you the requirement document.

Sure I will not misuse your email id will be posting queries in this forum.

Thanks,
Raj
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsStoreStorePrint FunctionalityPrint Functionality


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