微信小程序支付(服务端用的.net)

首先做小程序支付我们需要下面这些东西:

  • appid:(小程序ID)
  • app_secret:(小程序密钥)
  • mch_id:(商户号)
  • key:(api秘钥,商家后台自己设置)

小程序端:

 做一个简单的支付页面,在index.wxml中添加一个输入框,一个button,绑定相关事件,输入框用于输入订单号,在正式使用中不需要输入框,button用于提交订单发起支付;

<input type="text" bindinput="getOrderCode" style="border:1px solid #ccc;margin: 10rpx;height: 80rpx;"></input>
<button bindtap='pay'>支付</button>

然后,在index.js中添加以下代码,主要处理上面的绑定事件和发起支付;

Page({
    data:{
    orderCode:""
    },
  pay: function(options) {
    var orderCode = this.data.orderid;
    wx.login({
      success: function(res) {
        if (res.code) {
          wx.request({
            url: 'http://192.168.0.32:9003/BingAnService/Pay.do',//服务端请求地址,使用时换上自己的地址
            data: {
              code: res.code, //要去换取openid的登录凭证
              order_code: orderCode
            },
            method: 'POST',
            header: {
              'content-type': 'application/x-www-form-urlencoded' // 默认值
            },
            success: function(res) {
               
              console.log("支付接口返回信息:", res.data);
               //拿到服务端返回数据,调用微信小程支付
              wx.requestPayment({
                timeStamp:res.data.timeStamp,
                nonceStr:res.data.nonceStr,
                package:res.data.package,
                signType:res.data.signType,
                paySign:res.data.paySign,
                success: function(res) {//成功
                  console.log("支付成功:",res);
                },
                fail: function(res) {
                  console.log("支付失败:",res);
                }
              })
            }

          })
        }
      }
    })
  },
getOrderCode: function(options) {
    this.setData({
      orderid: options.detail.value
    })
})

服务端:

我的服务端使用的是.net来做的,首先提供一个供小程序端调用的接口

 public ListResultInfo Pay(JObject jObject)
        {
            ListResultInfo result = new ListResultInfo();
            try
            {
                string code = jObject["code"].ToString();
                string order_code = jObject["order_code"].ToString();

               PayRequesEntity str = (PayRequesEntity)WXPay.Pay(code, order_code);
                if (str!=null)
                {
                    result.Error_code = 0;
                    result.Success = true;
                    result.Message = "支付结果!";
                    result.Total_count = 0;
                    result.Data = str;
                }
                else
                {

                }
            }
            catch (Exception e)
            {
                result.Error_code = 1;
                result.Success = false;
                result.Message = "发起支付失败!";
                result.Error_desc = e.Message;
                WebLog.WriteTextLog("运行", "发起支付失败:" + e.Message, DateTime.Now);
            }

            return result;
        }

所有的支付相关的都写在WXPay这个类里面,先上代码:

public class WXPay
    {
        private static string APP_ID = "小程序ID";
        private static string APP_SECRET = "密钥(小程序配置界面)";
        private static string MCH_ID = "商户号";
        private static string KEY = "api密钥(商家后台自己设置)";
        private static string NOTIFY_URL = "支付回调地址";
        private static string PAY_URL = "https://api.mch.weixin.qq.com/pay/unifiedorder";

        public static Object Pay(string code, string order_code)
        {
             Parameters para = new Parameters();
            para.appid = APP_ID;//申请的appid
            para.mchid = MCH_ID;//申请的商户号
            para.nonce_str = GetNoncestr();  //随机字符串
            para.notify_url = NOTIFY_URL;//支付结果回调接口
            para.body = "testPay";//商品描述(商品简单描述,该字段请按照规范传递,具体请见参数规定)
            para.out_trade_no = order_code;//商户订单号
            para.total_fee = "0.01";//标价金额
            para.spbill_create_ip = "IP地址";//终端IP
            para.trade_type = "JSAPI";//交易类型	
            para.key = KEY;//
vs 2017 git成功 miyao 亲测可行 1.注册 ssh key 本地方生成 复制到远端 2. 远端建立仓库 3.在 网站上点击sourcetree 会自动打开本地sourcetree 。 本地先安装 好sourcetree ,并注册一下 4.sourcetree拉取远端文件 5.在vs中打开 自动可以操作了 在线购物商城微信小程序前端和后台源码 源码描述: 一、源码特点 在线购物商城微信小程序前端和后台数据管理系统源码,使用.net开发,测试无Bug,感兴趣的欢迎下载 二、微信小程序功能 1、 会员自动授权登录注册 2、 产品分类、产品检索、产品筛选、产品详情、 3、 广告展示、 4、 购物车 6、 收货地址 7、 订单提交微信支付 8、 订单检索等功能 三、后台功能 1、 后台会员系统:会员列表、会员基本信息,积分明细、余额明细、购物记录、收货地址(在系统设置的频道管理可以开启此功能) 2、 后台系统设置:导航栏目、分类管理、 OAuth设置 、支付设置、扩展字段 、频道管理、模型管理、站点基本信息等功能设置 3、 订单管理:在线购物订单查看、发货、确认 4、 产品管理:分类管理 、产品管理 、 积分产品管理 四、注意事项 1、开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 4.0开发。 2、管理员登陆名:admin 密码:admin888 3、默认数据库连接字符串在webconfig配置文件中修改 4、DB文件夹中是数据库脚本文件,使用sqlerver工具运行即可 5、cmsWeb文件夹里面是api接口后台 xcx文件夹是微信小程序 DataBase文件夹是数据库文件
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值