基本信息
源码名称:微信当面付(c#源码)
源码大小:1.99M
文件格式:.zip
开发语言:C#
更新时间:2020-03-16
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WxPayAPI;
using ThoughtWorks.QRCode.Codec;

namespace Weixi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        string out_trade_no = string.Empty;
        string money = string.Empty;
        private void sub()
        {
            System.Random random = new Random();
            int iResult;
            iResult = random.Next(100000000, 999999999);
            NativePay nativePay = new NativePay();
            out_trade_no = textBox1.Text;
            money = textBox2.Text;
            try
            {
                //生成扫码支付模式二url
                string url2 = nativePay.GetPayUrl(iResult.ToString(), out out_trade_no, ((Convert.ToSingle(money) * 100)).ToString("0"));
                Bitmap bmp = null;
                QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
                qrCodeEncoder.QRCodeScale = 4;
                //int version = Convert.ToInt16(cboVersion.Text);
                qrCodeEncoder.QRCodeVersion = 7;
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
                bmp = qrCodeEncoder.Encode(url2);
                pictureBox1.Image = bmp;
            }
            catch
            {
                MessageBox.Show("出错");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            sub();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text = "";
        }
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            getWeixiOrder(out_trade_no);
        }

        //查询微信是否付款成功
        private bool getWeixiOrder(string _out_trade_no)
        {
            if (string.IsNullOrEmpty(_out_trade_no))
            {
                MessageBox.Show("微信订单号和商户订单号至少填写一个,微信订单号优先!");
                return false;
            }
            //调用订单查询接口,如果内部出现异常则在页面上显示异常原因
            try
            {
                string result = OrderQuery.Run("", out_trade_no);//调用订单查询业务逻辑
                 // .Text = result;
                textBox3.Text = result;
                if (result.Contains("trade_state=SUCCESS"))
                    return true;
                return false;
            }
            catch (WxPayException ex)
            {
                MessageBox.Show(ex.ToString());
                return false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return false;
            }
        }
    }
}