中國銀行在線支付接口代碼


頁面代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChinaBank.aspx.cs" Inherits="ChinaBank.ChinaBank" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body onload="javascript:document.frm1.submit();">
    <form action="https://ebspay.boc.cn/PGWPortal/RecvOrder.do" method="post" name="frm1" id="frm1">
    <div>
        <!--01.商戶號-->
        <INPUT TYPE="HIDDEN" SIZE="25" ID="merchantNo" NAME="merchantNo" VALUE=""><BR/>
        <!--02.支付類型-->
        <INPUT TYPE="HIDDEN" SIZE="10" ID="payType" NAME="payType" VALUE="1"><BR/>
        <!--03.商戶訂單號-->
        <INPUT TYPE="HIDDEN" SIZE="19" ID="orderNo" NAME="orderNo" VALUE="<%=_orderNo %>"><BR/>
        <!--04.訂單幣種-->
        <INPUT TYPE="HIDDEN" SIZE="3" ID="curCode" NAME="curCode" VALUE="001"><BR/>
        <!--05.訂單金額-->
        <INPUT TYPE="HIDDEN" SIZE="13" ID="orderAmount" NAME="orderAmount" VALUE="<%=_orderAmount %>"><BR/>
        <!--06.訂單時間-->
        <INPUT TYPE="HIDDEN" SIZE="14" ID="orderTime" NAME="orderTime" VALUE="<%=_orderTime %>"><BR/>
        <!--07.訂單說明-->
        <INPUT TYPE="HIDDEN" SIZE="30" ID="orderNote" NAME="orderNote" VALUE=""><BR/>
        <!--08.商戶接收通知URL-->
        <INPUT TYPE="HIDDEN" SIZE="100" ID="orderUrl" NAME="orderUrl" VALUE="" /><br />
        <!--09.商戶簽名數據-->
        <INPUT TYPE="HIDDEN" ID="signData"  NAME="signData" VALUE="<%=_signData %>" />
        <br />
    </div>
    </form>
</body>
</html>

頁面方法:

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"];

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM