博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.net下paypal的电子支付方式编程(1)

Posted on 2006-02-07 17:02  myzerg  阅读(7710)  评论(36编辑  收藏  举报

11个月后[20070122]我再次对本文勘误,呵呵
apiPassword  是 API Username  的密码 在paypal上面设定的
certPassword 是导出证书的密码,是你在本地设定的


本文只讨论并记述了利用paypal Express Checkout方式支付,目前中文的paypal(贝宝)不能和其他paypal互相支付,可能是因为国内汇市还未开放的问题,这里因为我的客户不需要处理贝宝,所以我也没有看他的资料,但我想应该差不多。本文很多地方是引用PP_WebsitePaymentsPro_IntegrationGuide.pdf 中内容并汉化了,但其中有些细节的地方,本人做了详细说明,这样可以减少您开发时候的一些迷惑,所以,当你看到有熟悉文字时,请理解作者的苦心,呵呵,有问题的朋友可以在这里或在西客集留言来找我

众所周知 paypal是ebay旗下的电子支付网关,去年还收购了Verisign,啧啧,难道他要一统电子支付的江湖?

paypal 本身是通过Email就可以收取或支付钱的电子支付网关,但他也同时支持对信用卡如 VISA Card, MasterCard, American Express,

Discover Card这些烂玩意儿收取,如同Verisign那样,并称为paypal Direct payments,但听说手续费太贵了,我的客户没有用它的这个功能,所以我也没有研究,但我想既然我们目前使用的Verisign都让人家收购了,我想我们用他的Direct payments日子也不远了

还有一种比较简单的称为WebsitePaymentsStandard支付方式,这个比较简单,比较适合在虚拟主机上架设自己电子商务网站的用户,而WebsitePaymentsPro才是一个成熟电子商务网站需要的,下面请听寡人一一为您道来

1 安装篇
 这里不得不说paypal做的仔细,竟然专门开发了一个称为sandbox[我叫他傻盒,呵呵]用来进行开发人员测试,精力充沛阿

 a 安装Microsoft .NET Framework Service Pack 1 或者你直接用 Microsoft .NET Framework2.0
 
 b 安装OpenSSL for Microsoft Windows ,没有的朋友去http://www.slproweb.com/products/Win32OpenSSL.html 找并安装

 c 安装WinHttpCertCfg.exe ,没有的朋友去http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=C42E27AC-3409-
40E9-8667-C748E422833F 找并安装,并在你的环境变量 path 增加对WinHttpCertCfg.exe所在目录的引用

 d  到https://developer.paypal.com/ 注册并建立你的测试帐户,这里需要注意,注册成功后需要到sandbox中建立一个Business account


左右收款方,一个Personal account 为付款方,都是测试用途,email地址不会和你现有paypal发生冲突的,最后记得去Email那个Tab页去激活你

的帐户,并给你的Business account增加一个bank,两个帐户都增加信用卡什么的

 e  从sandbox中进入你刚才建立的 Business account 中,找到API Access link,作一个request,然后你刷新你的sandbox,察看 test

Certificates 就可以看到一个证书了,这证书是你的通行证,点击他并下载吧

 f  将证书转换为p12格式,你问我啥是p12格式,我也不知道,用如下命令
       openssl pkcs12 -export -inkey cert_key_pem.txt -in cert_key_pem.txt -out mycert.p12 记得写在一行,
     其中cert_key_pem.txt是source file   mycert.p12 target file  导出的时候会要求你输入一个password 和确认输入,请输入并记下这个password,下个步骤会用到
 g  安装证书到windows系统 用命令
   WinHttpCertCfg -i mycert.p12 -p certPassword -c LOCAL_MACHINE\my -a account 
     其中certPassword 是你证书的密码,上面我请您记下的那个,别说你忘了  account是windows帐户名称,这里我建议为Everyone,可以省却许多麻烦
 不放心可以指定 mycert.p12文件的路径
  
   上面两个命令都是在 command line中做的 ,有些朋友不熟悉dos路径用法的话 请带全路径,并请确认path 环境变量中的winhttpcertcfg得路径。

 h  安装  PayPal_AspNet_SDK_v3_2.msi ,在那里下载的我忘记了,反正在www.paypal.com的某个地方

 i  测试你的安装,找到SDK_root\bin\Console.exe 文件并执行,其中SDK_root指的是PayPal_AspNet_SDK的安装路径
    出现小窗口后 执行
     1 AddAPIProfile apiUsername sandbox    其中apiUsername 就是你下载证书那页的api user name,想起来了么
     2 SetAPIProfile 0 apiPassword          其中 apipassword就是你证书的密码,不能错哦
     3 GetRequestTemplate TransactionSearch search-template.txt 这是从paypal返回一个测试文件的命令,成功后会在SDK_root\bin\路

径下出现一个search-template.txt文件,如果没有文件,系统会提示你错误的
     4 修改search-template.txt文件内容为
<TransactionSearchRequestType>
<StartDate xmlns="urn:ebay:api:PayPalAPI">0001-01-
01T00:00:00.0000000-08:00</StartDate>
</TransactionSearchRequestType>
并save一下,
执行Call TransactionSearch search-template.txt,看返回的新息中有没有Success这个字,有的话,恭喜你,你安装成功了!
没有的话也别灰心,按照这些步骤仔细检查,不会出错的,当然,你的网络条件要差不多哦

喜欢的朋友请顶下,我不知道大家喜欢这样的文章。。想知道还没有必要写下去