中行代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChinaBank.aspx.cs" Inherits="ChinaBank.ChinaBank" %>
页面方法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography.Pkcs;
using System.Text;
using System.Configuration;
namespace ChinaBank
{
public partial class ChinaBank : System.Web.UI.Page
{
protected string _orderNo;
protected string _orderAmount;
protected string _orderTime;
protected string _signData;
protected void Page_Load(object sender, EventArgs e)
{
//防止刷新
Response.AddHeader("Pragma", "No-Cache");
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
string MerchantCertificate = ""//中国银行pfx证书的路径
string MerchantCertificateKey = ""//证书签名
string _merchantNo = "";//商户号
_orderNo = DateTime.Now.ToString("yyyyMMddHHmmss");//商户订单号
_orderAmount = "0.01";//订单金额
_orderTime = DateTime.Now.ToString("yyyyMMddHHmmss");//订单时间
string _curCode = "001";//订单币种
_signData = _orderNo + "|" + _orderTime + "|" + _curCode + "|" + _orderAmount + "|" + _merchantNo;
X509Certificate2 signerCert = new X509Certificate2(MerchantCertificate, MerchantCertificateKey, X509KeyStorageFlags.MachineKeySet);
SignedCms signedCms = new SignedCms(new ContentInfo(Encoding.UTF8.GetBytes(_signData)), false);
CmsSigner cmsSigner = new CmsSigner(signerCert);
cmsSigner.IncludeOption = X509IncludeOption.EndCertOnly;
signedCms.ComputeSignature(cmsSigner);
_signData = Convert.ToBase64String(signedCms.Encode());
}
}
}
支付结果返回页面方法:
接受返回的参数值
string orderNo = Request["orderNo"];
string orderStatus = Request["orderStatus"];
string orderSeq = Request["orderSeq"];
文章评论
发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:
未登录,点击登录