SuLei.Web/api/payment/tenpaypc/notify_url.aspx.cs

(开头部分) 7KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SuLei.API.Payment.tenpaypc;
using SuLei.Common;

namespace SuLei.Web.api.payment.tenpaypc
{
    public partial class notify_url : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            int site_payment_id = 0; //站点支付方式ID
            ResponseHandler resHandler = new ResponseHandler(Context); //创建ResponseHandler实例
            string order_no = resHandler.getParameter("out_trade_no").ToUpper(); //商户订单号
            string trade_no = resHandler.getParameter("transaction_id"); //财付通订单号
            string total_fee = resHandler.getParameter("total_fee"); //金额,以分为单位
            string discount = resHandler.getParameter("discount"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee
            string trade_state = resHandler.getParameter("trade_state"); //支付结果
            if (order_no.StartsWith("R")) //充值订单
            {
                site_payment_id = new BLL.user_recharge().GetPaymentId(order_no);
            }
            else if (order_no.StartsWith("B")) //商品订单
            {
                site_payment_id = new BLL.orders().GetPaymentId(order_no);
            }
            if (site_payment_id == 0)
            {
                Response.Write("该订单号不存在");
                return;
            }

            //找到站点支付方式ID开始验证
            TenpayUtil config = new TenpayUtil(site_payment_id);
            resHandler.setKey(config.key);
            //判断签名
            if (resHandler.isTenpaySign())
            {
                string notify_id = resHandler.getParameter("notify_id"); //通知id
                RequestHandler queryReq = new RequestHandler(Context); //通过通知ID查询,确保通知来至财付通
                queryReq.init();
                queryReq.setKey(config.key);
                queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml");
                queryReq.setParameter("partner", config.partner);
                queryReq.setParameter("notify_id", notify_id);

                //通信对象
                TenpayHttpClient httpClient = new TenpayHttpClient();
                httpClient.setTimeOut(5);
                //设置请求内容
                httpClient.setReqContent(queryReq.getRequestURL());
                //后台调用
                if (httpClient.call())
                {
                    //设置结果参数
                    ClientResponseHandler queryRes = new ClientResponseHandler();
                    queryRes.setContent(httpClient.getResContent());
后面还有 100 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。