Wednesday, 10 September 2014

Payzippy Payment Gateway Integration in ASP.NET/MVC C#

Payzippy is the newest star in the Indian payment gateway, Developed by Flipkart One of the most popular and trusted e-commerce portal of India. As flipkart is a very experienced e-commerce portal they are very well versed with each and every pain and loopholes of Indian payment gateway market and with this very lucrative launch offer it is a very viable solution for most of the websites.

Payzippy is providing the SDK for Java and PHP developer with supports for some very popular e commerce packages like Magento.
But still no SDK for ASP.NET/MVC platform. But Using Payzippy Rest API (JSON) , We can create Payment Integration in ASP.NET.

Prerequisites for Payzippy payment gateway integration in MVC
First you have to register with PayZippy and get 

1. MID (merchant_id)
2. Secure key (used to determine hash)
3. Secure key id (merchant_key_id)

.CS File Code (Payzippy payment gateway )

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Cryptography;
using System.Text;

public partial class PayzippyPaymentGatewayIntegration : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)

    protected PayzippyPaymentGatewayIntegration()
            this.Init += Charging_Init;
       private void Charging_Init(object sender, EventArgs e)
            this.EnableViewState = false;
       private static string secretKey = "KEY_KEY_KEY_KEY_KEY";
        private static string generateSHA256(String input)
            SHA256Managed crypt = new SHA256Managed();
            string hash = String.Empty;
            byte[] crypto = crypt.ComputeHash(Encoding.ASCII.GetBytes(input), 0, Encoding.ASCII.GetByteCount(input));
            foreach (byte bit in crypto)
                hash += bit.ToString("x2");
            return hash;
        static string GenHash(Dictionary<string, string> chargingParams)
            // Acquire keys and sort them.
            List<string> list = new List<string>(chargingParams.Keys);
            StringBuilder stringForHash = new StringBuilder();
            // Loop through keys.
            foreach (var key in list)
                stringForHash.Append(chargingParams[key] + '|');
            return generateSHA256(stringForHash.ToString());
        public Dictionary<string, string> chargingParams;
        private void Main()
            var currentTime = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

            this.chargingParams = new Dictionary<string, string>();
            chargingParams.Add("merchant_id", "test"); //Your MID issued by PayZippy.
            chargingParams.Add("buyer_email_address", ""); // Email Address
            chargingParams.Add("merchant_transaction_id", "PAY_" + currentTime); //Your Transaction Id
            chargingParams.Add("transaction_type", "SALE"); //This is the default Value.
            chargingParams.Add("transaction_amount", "10000"); //Amount must be in paise. So, 1 Rupee= 100.
            chargingParams.Add("payment_method", "CREDIT"); // CREDIT,DEBIT,EMI,NET
            chargingParams.Add("bank_name", ""); //Bank Name required in case of EMI/NET.
            chargingParams.Add("emi_months", "0"); // Emi Months in case of EMI.
            chargingParams.Add("currency", "INR"); //INR is default.
            chargingParams.Add("ui_mode", "IFRAME"); //REDIRECT/IFRAME.
            chargingParams.Add("hash_method", "SHA256"); //MD5, SHA256
            chargingParams.Add("merchant_key_id", "payment"); //This is the default value.
            chargingParams.Add("timegmt", currentTime.ToString());
            chargingParams.Add("callback_url", "");
            chargingParams.Add("hash", GenHash(chargingParams));

            StringBuilder builder = new StringBuilder();
            foreach (var entry in chargingParams)
                builder.AppendFormat("{0}={1}&", entry.Key, entry.Value);



.ASPX File Code(Design code)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PayzippyPaymentGatewayIntegration.aspx.cs" Inherits="PayzippyPaymentGatewayIntegration" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="">
<head runat="server">
    <form id="form1" action="" method="post" runat="server">
                    var url = "";
                    foreach (var entry in chargingParams)
                <input type="hidden" name="<%=entry.Key %>" value="<%=entry.Value %>" />
                        url += entry.Key + "=" + entry.Value + "&";
                        // do something with entry.Value or entry.Key


                <input type="submit" />
            <iframe width="500" height="500" src="<%=url %>"></iframe>
           var x = document.getElementById("__VIEWSTATE");

Payzippy use Rest API with support for JSON , we can use it in to integrate it. This a very good tutorial on it. Full Source Download
In the same way you can integrate Payzippy payment gateway with MVC also.
Visit Our New Site for HR Interview Questions Answers
Sponsored Ads


Post a Comment