SysDataNet.com Guided Tour
 SDNStore for DotNetNuke  
   Video Tutorials   Skin Makers   eBay Compatible   Mobile Devices   Prices 
 Payment Processing
    Main Menu
    Introduction
    Transaction Type
    PayPal Standard
    PayPal Pro (US)
    Confirmation Email
    Invoice
    Pay at Store
    C.O.D.
    Bank Tranfer
    Authorize.NET
    viaKLIX (NOVA)
    Google Checkout
    Netcash
    Wannafind.dk
    PBS International
    Verisign
    GestPay
    Custom Payments
    Many-shops Same SSL
 

 

 


Custom Payments

This document describes how a developer can create a Custom Page for a Payment Gateway not included in the store or personalising an existing one.
Here we are going to show how to implement Custom Payment for PalPal and Authorize.net
Creating the Project
First of all we create a module to upload into DNN, therefore we create a VS.NET project like we would do when creating a DNN custom module:
  • 1) Create a VS.NET project, off dotnetnuke folder, for example: http://localhost/CompanyNameCustomPayments
  • 2) Set the project in Release Configuration
  • 3) Set Root namespace blank
  • 4) Add Reference SysDatanetStore.dll in the project
  • 5) Set up the web.config file with the same userID and password as the one you had in DotNetNuke project
  • 6) In the Pages.vb add: Imports SysDataNet.Store
Identifying the Payment Gateway Structure
We could have 2 types of payment structure, one is like PayPal, where the Store posts the information to the Payment Gateway's Secure Server which collects the credit card's details, processes the payment and sends a notification to a web page (specified by you). In the other configuration, the Store sends the information and hangs until it receives the reply from the Payment Gateway, in this scenario there is no need to create an IPN page.
Also, you need to consider whether the payment supports: AUTH_ONLY or not. In the Store they are called Transaction Type: '1 Step' where customer's credit card is charged immediately after the order is placed; '2 Steps' where customer's credit card is actually charged only after the goods are despached (this happens when clicking on 'Send it Now' in the Orders List Page).
Identifying your Module Structure
Depending on the Payment Structure and Type of Transaction you are going to use there are some web pages to create.
For all payments, you need to create the web page to be called when the store's customer is about to pay. We call this page: Payment Page.
If the Payment Gateway sends a notification after the payment is processed you need to create the web page which processes that notification and creates the order. We call this page: Payment Page IPN
Finally, if you intend to use the Transaction Type 2 Steps, you also need to create a web page which sends the request to the Payment Gateway to actually charge the credit card previously authorised. We call this page: Sent Order Page
The Urls of the Payment Page and Sent Order Page are specified in the Payment Type page, while the url of the Payment Page IPN is specified in the Payment Gateway.
Payment Gateway Structure like Authorize.net
In the following example we have a structure, like Authorize.net (AIM) which supports 2 Steps as Transaction Type.
Payment Page
For the code click here (version 1.x)  For the code click here (version 2.x)
Sent Order Page
For the code click here (version 1.x)  For the code click here (version 2.x)
Payment Gateway Structure like PayPal
In the following example we have a structure, like PayPal which supports 1 Step as Transaction Type.
Payment Page
For the code click here (version 1.x)  For the code click here (version 2.x)
Payment Page IPN
For the code click here (version 1.x)  For the code click here (version 2.x)
Customer Ref
The existing methods set a value in the CustomerRef field of the Order table and these are:
  • "PayPal - " & "payer_email"
  • "GestPay"
  • "cash on delivery"
  • "Authorize.net"
  • "bank transfer"
  • "VerisignPayflowPro"
  • "CC processed in the module"
  ©2002-2008 SysDataNet.com - All Rights Reserved.