日期:2014-05-17  浏览次数:20471 次

做银联支付遇到的问题!
搞了两天没搞定!

第一种方法:使用工商银行的,注册**.dll报错,所以放弃了

第二种方法:使用chinapay支付的代码,注册.dll还是报错!
http://topic.csdn.net/u/20110329/13/3eddb67e-6d0b-41bd-a264-7673bc26ff54.html还没结贴

问题1:MerPrk.key,PgPubk.key,ChinaPay.dll,ChinaPay_JY.dll,CPNP.dll,netpay.dll这些组件都是哪里来的,我下载了Dependency Walker这个软件,查看了**.dll,都说未加载!

问题2:不管我怎么注册:regsvr32 D:\zhece\ChinaPay.dll都报:LoadLibrary("D:\zhece\ChinaPay.dll")失败 -找不到指定的模块!

请大侠尽量给我讲详细点,刚接触,不太懂什么银行不银行的,

不要给代码了,代码我都有了,就是运行报错!


检索 COM 类工厂中 CLSID 为 {522E44BF-7BC9-4135-B5EB-8CC154144B0D} 的组件时失败,原因是出现以下错误: 80040154

------解决方案--------------------
将相关的.dll组件copy 到
问题一:
MerPrk.key,PgPubk.key这些东西用于签名加密匙用
,跟支付商签好合同,自会提供

问题二:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\
然后注册:regsvr32 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ChinaPay.dll


------解决方案--------------------
再帮侬顶下好了。
------解决方案--------------------
注册到:
C:\WINDOWS\system32 或
C:\WINDOWS\system32\inetsrv
试下,
调用还出错那肯定是缺失ChinaPay.dll依赖的组件
去向支付服务的商家要
------解决方案--------------------
请银行的来给你安装或叫他们发个详细的安装文档及视频
------解决方案--------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using ChinaPay_JY; //注意这个引用,是由银联提供的chinapay.dll用Tlbimp.exe生成的chinapay_jy.dll,详细看银联提供的win文档

namespace nsChinaPay
{
    /// <summary>
    ///Chinapay 的摘要说明
    /// </summary>
    public class Chinapay
    {
        public Chinapay()
        {
        }
        /////////////////////////////////////////////////////////////////////////////////////////
        //                         yx 2009.12.02
        /////////////////////////////////////////////////////////////////////////////////////////        

        /// <summary>
        /// 订单签名函数sign
        /// </summary>
        /// <param name="MerId">商户号,长度为15个字节的数字串,由ChinaPay或清算银行分配</param>
        /// <param name="OrdId">订单号,长度为16个字节的数字串,由用户系统/网站生成,失败的订单号允许重复支付</param>
        /// <param name="TransAmt">交易金额,长度为12个字节的数字串,例如:数字串"000000001234"表示12.34元</param>
        /// <param name="CuryId">货币代码, 长度为3个字节的数字串,目前只支持人民币,取值为"156"</param>