Skip to content
This repository has been archived by the owner on Aug 15, 2022. It is now read-only.

xland/WeiXinPayDemo

Repository files navigation

项目描述:

本项目是DCloud微信支付C#.NET服务端的SDK和DEMO

WXPaySDK目录下是服务端的SDK(与微信服务交互的核心代码都在这里)

WXPaySDKDemo目录下服务端的DEMO

H5目录下是客户端的DEMO

使用方法:

var payment = new Payment("******",
                "******", 
                "******************", 
                "http://www.yourdomain.com/Notify.aspx");
var orderId = "TS" + DateTime.Now.ToString("yyyyMMddhhmmssffff");
var jsonStr = payment.Pay(100, orderId, "卖肉钱", "127.0.0.1");

构造函数的四个参数:

MchId:微信支付商户号(从微信发给你的邮件中获得的)

AppId:应用的APPID(微信发给你的邮件中也有这项内容,一般以wx开头,微信开放平台-管理中心-应用详情也可以看到这项内容)

ApiKey:这里是API密钥,不是Appsecret,这里最容易出错了!请务必注意!设置方法:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置

NotifyUrl:支付成功之后微信回调页面地址

Pay方法的五个参数:

TotalFee:总金额,单位:分,不能为空

TradeNo:订单号,你自己定就好了,不要重复,不能为空

Des:订单描述,不能为空

ClientIp:客户端的IP地址,不能为空

FeeType:货币类型,默认是CNY,人民币

Pay方法返回的是一个JSON字符串,把这个JSON字符串返回给DCLOUD客户端即可

客户端的关键代码:

var payChanel;
function getPayChanel() {
	//设备信息加载完成,先获取微信的支付通道
	plus.payment.getChannels(function(channels) {
		for (var i in channels) {
			if (channels[i].id == "wxpay") {
				payChanel = channels[i];
			}
		}
	}, function(e) {
		alert("获取支付通道失败:" + e.message);
	});
}
function payClick() {
	//支付按钮点击事件
	//为了演示这里并没有发送数据给服务端,订单所需数据都是在服务端生成的
	mui.post("http://www.yourdomain.net/OrderService.aspx", {}, function(data) {
		console.log(JSON.stringify(data));
		plus.payment.request(payChanel, data, function(result) {
			alert(JSON.stringify(result));
			alert("付费成功");
		}, function(e) {
			alert(JSON.stringify(e));
			alert("付费失败");
		});
	});
}
mui.init();
mui.plusReady(function() {
	getPayChanel();
	document.getElementById("payBtn").addEventListener("tap", payClick)
});

其中mui.post回调函数的返回值,就是服务端返回的json字符串

其他说明:

开发者:liulun,blog:http://www.cnblogs.com/liulun

PHP的DEMO:https://github.com/dcloudio/H5P.Server

有什么问题,欢迎在这里开issue,我会尽快回复

About

Dcloud 微信支付C#.NET DEMO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published