/// /// 頁面跳轉同步通知頁面
///
///
public actionresult payresult()
'", out_trade_no);
objtrade = db.sql(strsql).querysingle();
strsql = string.format(@"select username from t_user where id=", objtrade.userid);
viewbag.username = db.sql(strsql).querysingle();}}
return view(objtrade);
}
/// /// 伺服器非同步通知頁面
///
///
[allowanonymous]
public actionresult paynotify()
else//驗證失敗
}else
return view();
}
public bool verifypay(string strouttradeno, string strtradeno, string strtradestatus)
'", strouttradeno);
t_trade objtrade = dbhelper.querydb().sql(strsql).querysingle();
if (strtradestatus == "trade_finished" || strtradestatus == "trade_success")
bres = true;
}else if (strtradestatus == "trade_closed")
bres = false;
}return bres;
}
/// /// 獲取支付寶get過來通知訊息,並以「引數名=引數值」的形式組成陣列
///
/// request回來的資訊組成的陣列
public sorteddictionarygetrequestget()
return sarray;
}/// /// 獲取支付寶post過來通知訊息,並以「引數名=引數值」的形式組成陣列
///
/// request回來的資訊組成的陣列
public sorteddictionarygetrequestpost()
return sarray;
}
/// /// 提交支付請求到支付寶
///
public actionresult posttoalipay(int id)
and state=2", uid);
//如果已經支付過則跳轉到首頁
if (db.sql(strsql).querysingle() > 0)
//查詢沒有支付的訂單
strsql = string.format(@"select * from t_trade where userid= and state=0", uid);
var objtrade = db.sql(strsql).querysingle();
//支付型別,1為商品購買
string payment_type = "1";
//伺服器非同步通知頁面路徑,需http://格式的完整路徑,不能加?id=123這類自定義引數
string notify_url = "";
//string notify_url = "";
//頁面跳轉同步通知頁面路徑,需http://格式的完整路徑,不能加?id=123這類自定義引數,不能寫成http://localhost/
string return_url = "";
//string return_url = "";
//商戶訂單號,商戶**訂單系統中唯一訂單號,必填
string out_trade_no = objtrade == null ? guid.newguid().tostring("n").trim() : objtrade.id;
//訂單名稱,必填
string subject = "會員資格";
//付款金額,必填
string total_fee = "200.00";
//string total_fee = "0.01";
string it_b_pay = "30m";
//防釣魚時間戳,若要使用請呼叫類檔案submit中的query_timestamp函式
//string anti_phishing_key = com.alipay.submit.query_timestamp();
//string exter_invoke_ip = "";
//把請求引數打包成陣列
sorteddictionarysparatemp = new sorteddictionary();
sparatemp.add("partner", config.partner);
sparatemp.add("seller_email", config.seller_email);
sparatemp.add("_input_charset", config.input_charset.tolower());
sparatemp.add("service", "create_direct_pay_by_user");
sparatemp.add("payment_type", payment_type);
sparatemp.add("notify_url", notify_url);
sparatemp.add("return_url", return_url);
sparatemp.add("out_trade_no", out_trade_no);
sparatemp.add("subject", subject);
sparatemp.add("total_fee", total_fee);
sparatemp.add("it_b_pay", it_b_pay);
"body", body);
"show_url", show_url);
"anti_phishing_key", anti_phishing_key);
"exter_invoke_ip", exter_invoke_ip);
//建立請求
string shtmltext = submit.buildrequest(sparatemp, "get", "確認");
if (objtrade == null)
else
}else
return null;
}
支付寶介面
支付寶的介面呼叫很不方便,剛做好乙個封裝,實現了虛擬交易和實物交易。解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commona...
支付寶介面
解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...
支付寶介面
解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...