using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace tenpay
{
	/// <summary>
	/// return_url 的摘要说明。
	/// </summary>
	public class return_url : System.Web.UI.Page
	{
		private void Page_Load(object sender, System.EventArgs e)
		{
			//密钥
			string key = "88881491";

			//创建PayResponseHandler实例
			MediPayResponse resHandler = new MediPayResponse(Context);

			resHandler.setKey(key);

			//判断签名
			if(resHandler.isTenpaySign()) 
			{
	
				//支付结果
				string retcode = resHandler.getParameter("retcode");

				//支付状态
				string status = resHandler.getParameter("status");

				//商户订单号
				string mch_vno = resHandler.getParameter("mch_vno");

				

				if("0".Equals(retcode)) 
				{
					//Response.Write("status:" + status + "<br/>");

					//------------------------------
					//处理业务开始
					//------------------------------ 
		
					//按状态处理相关业务逻辑
					switch(Int32.Parse(status)) 
					{
						case 1: 
							//交易创建
							break;
						case 2:
							//收获地址填写完毕
							break;
						case 3:
							//买家付款成功，注意判断订单是否重复的逻辑
							break;
						case 4:
							//卖家发货成功
							break;
						case 5:
							//买家收货确认，交易成功
							break;
						case 6:
							//交易关闭，未完成超时关闭
							break;
						case 7:
							//修改交易价格成功
							break;
						case 8:
							//买家发起退款
							break;
						case 9:
							//退款成功
							break;
						case 10:
							//退款关闭
							break;
						default:
							//error	
							break;
					}	
					//调用doShow, 打印meta值跟js代码,告诉财付通处理成功,并在用户浏览器显示$show页面.
					resHandler.doShow();

				} 
				else 
				{
					//当做不成功处理
					Response.Write("支付失败");
				}
	
			} 
			else 
			{
				Response.Write("认证签名失败");
				
			}

			//string debugInfo = resHandler.getDebugInfo();
			//Response.Write("<br/>debugInfo:" + debugInfo);

		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}
}
