首先下载支付宝sdk类库AopSdk
sdk下载地址:http://download.youkuaiyun.com/detail/hw1233456/9759306
前端样式和脚本下载地址:http://download.youkuaiyun.com/detail/hw1233456/9764832
将项目加入你的解决方案并引用。
后台C#代码:
/// <summary>
/// H5支付
/// </summary>
/// <param name="model"></param>
/// <param name="configPath"></param>
/// <returns></returns>
public static string Alipay()
{
string OrderNumber = "alipay" + DateTime.Now.ToString("yyyyMMddHHmmss");
string app_id = "你的app_id";
string merchant_private_key = "你的应用私钥";
string alipay_public_key = "你的支付宝公钥";
string timeout_express = "30m";//订单有效时间(分钟)
string postUrl = "https://openapi.alipay.com/gateway.do";
string sign_type = "RSA2";//加签方式 有两种RSA和RSA2 我这里使用的RSA2(支付宝推荐的)
string version = "1.0";//固定值 不用改
string format = "json";//固定值
string Amount = "0.01";//订单金额
string method = "alipay.trade.wap.pay";//调用接口 固定值 不用改
IAopClient client = new DefaultAopClient(postUrl, app_id, merchant_private_key, format, version, sign_type, alipay_public_key, "UTF-8", false);
AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
request.SetNotifyUrl("支付宝后台通知的地址");
request.SetReturnUrl("支付宝前台回跳的地址");
request.BizContent = "{" +
" \"body\":\"对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。\"," +
" \"subject\":\"商品描述\"," +
" \"out_trade_no\":\"商家唯一订单,填写你项目里生成的唯一订单号\"," +
" \"timeout_express\":\"" + timeout_express + "\"," +
" \"total_amount\":" + Amount + "," +
" \"product_code\":\""+ method + "\"" +
" }";
AlipayTradeWapPayResponse response = client.pageExecute(request);
string form = response.Body.Substring(0, response.Body.IndexOf("<script>"));
return form;
}
前台html代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/CSS/mui.min.css" rel="stylesheet" />
<script src="~/Scripts/mui.min.js"></script>
<script src="~/Scripts/jquery.min.js"></script>
<title>支付平台</title>
<script type="text/javascript">
jQuery(document).ready(function () {
var alipay = document.getElementById("alipay");
alipay.addEventListener("tap", function () {
var productName = jQuery("#productName").html();
var unitPrice = jQuery("#unitPrice").html();
var quantity = jQuery("#quantity").html();
var amount = jQuery("#amount").html();
var url = "后台生成订单的URL";
jQuery.post(url ,
{
productName: productName,
unitPrice: unitPrice,
quantity: quantity,
amount: amount
}, function (data) {
if (data != "")
{
jQuery("#formDiv").append(data);
jQuery("#alipaysubmit").submit();
}
});
});
var wxpay = document.getElementById("wxpay");
wxpay.addEventListener("tap", function () {
});
});
</script>
</head>
<body>
<div>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">选择支付方式</h1>
</header>
<!--Infomations-->
<div class="mui-content">
<div class="mui-card">
<ul class="mui-table-view">
<li class="mui-table-view-cell">
商品名称:<span id="productName">茶叶蛋</span>
</li>
<li class="mui-table-view-cell">
商品单价:<span id="unitPrice">0.01</span>
</li>
<li class="mui-table-view-cell">
购买数量:<span id="quantity">1</span>
</li>
<li class="mui-table-view-cell">
商品总价:<span id="amount">0.01</span>
</li>
</ul>
</div>
<div style="color:red;margin:10px;font-size:14px;">订单有效时间:30分钟</div>
<div class="mui-card">
<ul class="mui-table-view">
<li id="alipay" class="mui-table-view-cell">
<a class="mui-navigate-right">
支付宝
</a>
</li>
<li id="wxpay" class="mui-table-view-cell">
<a class="mui-navigate-right">
微信
</a>
</li>
</ul>
</div>
</div>
<!--form-->
<div id="formDiv" style="display:none;">
</div>
</div>
</body>
</html>
写的挺清楚的了 看完应该都会了 如果还是不明白或者有其他疑问的 可以给我留言 我看到了就回复。
稍后把APP支付的也发上来,使用Hbuilder打包APP调用的 也是C#在后台生成的订单。