中国银行在线支付接口代码

页面代码:

<%@ 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 οnlοad="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"];

 

 

 

转载于:https://www.cnblogs.com/tongshengle/archive/2012/02/02/2335927.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现建设银行聚合支付生成订单接口,可以按照以下步骤进行: 1. 导入建设银行支付接口的开发包。在Java项目中,可以通过使用Maven或Gradle等构建工具,将建设银行支付接口的依赖添加到项目中。 2. 创建一个Java类来处理生成订单的逻辑。可以命名为"CcbPaymentService"或类似的名称。在该类中,可以定义一个方法名为"generateOrder"用于生成订单。 3. 在"generateOrder"方法中,首先要通过建设银行支付接口提供的API,构建生成订单的请求参数。这些参数通常包括商户号、支付金额、订单号、交易描述等。 4. 调用建设银行支付接口的生成订单方法,将构建好的请求参数传递给该方法。可以通过使用Java的网络请求库,如HttpClient或OkHttp,向建设银行支付接口发送POST请求。 5. 接收建设银行支付接口返回的结果,并对结果进行处理。可以通过解析返回的JSON数据,获取生成的订单号或其他相关信息。 6. 返回生成的订单号或其他相关信息给调用方。可以将该信息封装成一个Java对象,方便后续的使用和传递。 7. 在调用方的其他逻辑中,可以使用这个生成的订单号来进行后续的支付流程。 以上是实现建设银行聚合支付生成订单接口的大致步骤。具体的实现细节会根据建设银行支付接口的具体要求而有所不同。在实际开发中,还需要进行异常处理、参数校验、日志记录等工作,以确保代码的健壮性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值