59 lines
2.5 KiB
C#
59 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Net;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using LitJson;
|
|
using System.Web.Security;
|
|
|
|
namespace WxPayAPI
|
|
{
|
|
public partial class JsApiPayPage : System.Web.UI.Page
|
|
{
|
|
public static string wxJsApiParam {get;set;} //H5调起JS API参数
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
Log.Info(this.GetType().ToString(), "page load");
|
|
if (!IsPostBack)
|
|
{
|
|
string openid = Request.QueryString["openid"];
|
|
string total_fee = Request.QueryString["total_fee"];
|
|
//检测是否给当前页面传递了相关参数
|
|
if (string.IsNullOrEmpty(openid) || string.IsNullOrEmpty(total_fee))
|
|
{
|
|
Response.Write("<span style='color:#FF0000;font-size:20px'>" + "页面传参出错,请返回重试" + "</span>");
|
|
Log.Error(this.GetType().ToString(), "This page have not get params, cannot be inited, exit...");
|
|
submit.Visible = false;
|
|
return;
|
|
}
|
|
|
|
//若传递了相关参数,则调统一下单接口,获得后续相关接口的入口参数
|
|
JsApiPay jsApiPay = new JsApiPay(this);
|
|
jsApiPay.openid = openid;
|
|
jsApiPay.total_fee = int.Parse(total_fee);
|
|
|
|
//JSAPI支付预处理
|
|
try
|
|
{
|
|
//统一下单
|
|
WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(WxPayApi.GenerateOutTradeNo());
|
|
//获取H5调起JS API参数
|
|
wxJsApiParam = jsApiPay.GetJsApiParameters(WxPayConfig.KEY);// 用于前端js调用
|
|
Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam);
|
|
//在页面上显示订单信息
|
|
Response.Write("<span style='color:#00CD00;font-size:20px'>订单详情:</span><br/>");
|
|
Response.Write("<span style='color:#00CD00;font-size:20px'>" + unifiedOrderResult.ToPrintStr() + "</span>");
|
|
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
Response.Write("<span style='color:#FF0000;font-size:20px'>" + "下单失败,请返回重试" + "</span>");
|
|
submit.Visible = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |