ASP做贝宝(paypal)支付接口
事实上,paypal可以说分两个 :国际的这个只支付 美元 收付 ! 而中国的这个支持 人民币 收付 !这个先清楚了 ! 流程思路:事实上贝宝帐号上直接就可以得到一个支付接口的:如下:直接使用这种代码有些不方便! 要一个个添加才可以, 不过想一想, 这段代码, 也可以动态生成的, 用php,asp都可以,只要里面授的一些值改变一下,你的商品的支付代码就可以通过读取数据库来生成了,也不用一个个来写入了!!我是这样写的:读取数据库:rs 这个大家应该都知道的吧这个支付肯定是可以的? 至于是否支付成功, 做一个认证然后更改订单状态 ! 这个认证就是在paypalreturn.asp这个页里来实现:代码如下 :paypalreturn.asp:"&paypalurl&"
"&"
"&"
"Set objHttp=Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")objHttp.setOption 2, 13056 objHttp.open "POST",paypalurl,False,"","" objHttp.send()ResponseTxt = objHttp.ResponseText '示例下面有写Set objHttp=Nothing'-------------------------------------------------核对取得值ResponseTxt=UrlDecode(ResponseTxt) '将返回值解码并赋给 responsetxt If Mid(ResponseTxt,1,7) = "SUCCESS" Then '取得返回值的状态, sucess表示支付成功 ! Fail 表示支付失败 ! 返回值只有这两种情况 !ResponseTxt = Mid(ResponseTxt,9) '取得除了前9个字符的返回值,并返回给responsetxtsParts = Split(ResponseTxt, vbLf) '将返回值以vbLf(在vb里面这是回车的意思)分开,并赋给一个数组sPartsiParts = UBound(sParts) - 1 '对这个数组分离取值, 后面的应该都可以看得懂的吧!ReDim sResults(iParts, 1)For i = 0 To iPartsaParts = Split(sParts(i), "=")sKey = aParts(0)sValue = aParts(1)sResults(i, 0) = sKeysResults(i, 1) = sValueSelect Case sKeyCase "first_name"firstName = sValueCase "last_name"lastName = sValueCase "item_name"itemName = sValueCase "mc_gross"mcGross = sValueCase "mc_currency"mcCurrency = sValueCase "txn_id"liushuihao = Trim(sValue)Case "payer_email"payeremail=Trim(sValue)End SelectNextCall viate(itemName,liushuihao,mcGross,payeremail) '这里调用viate()这个function 进行认证, 并对这个订单状态进行更新 !Msg="Pay for success! Please wait for delivery! "&"/n /n Your Order Number: "&itemName&" !"ElseMsg="Sorry ! Your operating error! Please contact website administrator !!"End Ifresponse.write "" '支付完毕返回 用户信息页 !%>ResponseTxt 示例:SUCCESS mc_gross=44.00 protection_eligibility=Eligible address_status=confirmed payer_id=TMTNG8HATR5Y6 tax=0.00 address_street=1+Main+St payment_date=07%3A32%3A55+Dec+22%2C+2008+PST payment_status=Completed charset=windows-1252 address_zip=95131 first_name=Test mc_fee=1.58 address_country_code=US address_name=Test+User custom= payer_status=verified business=q2_1227410340_biz%40163.com address_country=United+States address_city=San+Jose quantity=1 payer_email=q1_1227410229_per%40163.com contact_phone= txn_id=7U833557W75672524 payment_type=instant last_name=User address_state=CA receiver_email=q2_1227410340_biz%40163.com payment_fee=1.58 receiver_id=5Q2AS9DBJGWLC txn_type=web_accept item_name=[1**********]300 mc_currency=USD item_number= residence_country=US handling_amount=0.00 transaction_subject=[1**********]300 payment_gross=44.00 shipping=0.00 说明一下: 可能你的paypal帐号也没钱来做测试,所在paypal想的还是很周到的, 做一个与paypal一样功能的二级域名的网站: 接口:https://www.sandbox.paypal.com/cgi-bin/webscr 在这里注册一个帐号后, 在里面可以设置两个测试帐号, 这两个测试帐号里的钱是用不完的, 你可以拿来做测试 ! 相关资料: 查看注:Paypal的提交时的字段与返回的字段含义’======================================================== ’mc_gross 交易收入 ’address_status 地址信息状态 ’paypal_address_id Paypal地址信息ID ’payer_id 付款人的Paypal ID ’tax 税收 ’address_street 通信地址 ’payment_date 交易时间 ’payment_status 交易状态 ’charset 语言编码 ’address_zip 邮编 ’first_name 付款人姓氏 ’address_country_code 国别 ’address_name 收件人姓名 ’custom 自定义值 ’payer_status 付款人账户状态 ’business 收款人Paypal账户 ’address_country 通信地址国家 ’address_city 通信地址城市 ’quantity 货物数量 ’payer_email 付款人email ’txn_id 交易ID ’payment_type 交易类型 ’last_name 付款人名 ’address_state 通信地址省份 ’receiver_email 收款人email ’address_owner 尚未公布/正式启用 ’receiver_id 收款人ID ’ebay_address_id 易趣用户地址ID ’txn_type 交易通告方式 ’item_name 货品名称 ’mc_currency 货币种类 ’item_number 货品编号 ’payment_gross 交易总额[只适用于美元情况] ’shipping 运送费 ’======================================================== ’主要参数: ’add:一次只能购买单种商品 ’upload:可以购买多种商品 ’购物车 ’ ’卖家的帐户 ’ ’商品名 ’ ’商品编号 ’ ’商品价格 ’ ’商品数量-针对每一种商品 ’ ’货币类型 CNY:人民币,USD:美元 ’ ’取消交易并要返回的位置 ’ ’=============================================================