打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ASP做贝宝(paypal)支付接口
事实上,paypal可以说分两个 : 国际的这个只支付 美元 收付 ! 而中国的这个支持 人民币 收付 ! 这个先清楚了 ! 流程思路: 事实上贝宝账号上直接就可以得到一个支付接口的: 如下: <form target="paypal" action="" method="post"> <input type="image" src="" border="0" alt="贝宝— 最安全便捷的在线支付方式!"> <input type="hidden" value="1"> <input type="hidden" value="_cart"> <input type="hidden" value=""> <input type="hidden" value="asss"> <input type="hidden" value="df"> <input type="hidden" value="10.00"> <input type="hidden" value="0"> <input type="hidden" value="1"> <input type="hidden" value="CNY"> <input type="hidden" value="1"> <input type="hidden" value="kgs"> <input type="hidden" value="PP-ShopCartBF"> </form> 直接使用这种代码有些不方便! 要一个个添加才可以, 不过想一想, 这段代码, 也可以动态生成的, 用php,asp都可以,只要里面授的一些值改变一下,你的商品的支付代码就可以通过读取数据库来生成了,也不用一个个来写入了!! 我是这样写的: 读取数据库:rs 这个大家应该都知道的吧 <form action="" method="post">     <input type="hidden" value="_xclick">     <input type="hidden" value="<%=rs("email")%>">      '你的paypal账号     <input type="hidden" value="<%=rs("ordernum")%>"> '你的网站上的购物车上的订单号     <input type="hidden" value="USD">              'USD 美元 ! CNY 人民币 !     <input type="hidden" value="<%=rs("price")%>">        '产品价格 <input type="hidden" value="                 '这里是客户支付成功, 返回信息的地址! theurl=LCase(Request.ServerVariables("HTTP_HOST"))&Request.ServerVariables("URL") theurl=Left(theurl,InstrRev(theurl,"/")) response.write theurl&"inc/paypalreturn.asp" %>">    <input type="submit" value="Use Paypal Payment"> </form> 这个支付肯定是可以的? 至于是否支付成功, 做一个认证然后更改订单状态 ! 这个认证就是在paypalreturn.asp这个页里来实现: 代码如下 : paypalreturn.asp: <% mainpath="paypal.mdb" Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(mainpath) conn.Open connstr Function viate(itemnumber,paymentid,payamount,payeremail) set rs=server.CreateObject("adodb.recordset") sql="select * from orders where ordernum='"&itemnumber&"'"   '这里是订单表 如果会员支付成功, 更改订单状态为已付款 ! rs.open sql,conn,1,3 If Not(rs.bof Or rs.eof) Then    rs("orderline")="3"    rs("paymentid")=paymentid    rs("payamount")=payamount    rs("payeremail")=payeremail    rs("paydate")=Now()    rs.update Else    response.write "<script>alert('NO this order number ! Please contact website administrator !!');</script>" End If rs.close Set rs=Nothing End Function function urldecode(encodestr)   '这个函数是对paypal返回值的urldecode解码的 newstr="" havechar=false lastchar="" for i=1 to len(encodestr) char_c=mid(encodestr,i,1) if char_c="+" then newstr=newstr & " " elseif char_c="%" then next_1_c=mid(encodestr,i+1,2) next_1_num=cint("&H" & next_1_c) if havechar then havechar=false newstr=newstr & chr(cint("&H" & lastchar & next_1_c)) else if abs(next_1_num)<=127 then newstr=newstr & chr(next_1_num) else havechar=true lastchar=next_1_c end if end if i=i+2 else newstr=newstr & char_c end if next urldecode=newstr end Function str1=Trim(request.querystring("tx")) str2="&at=RDqubRmDD5AWgXJh5q2HMHKmcetP4Q8Ulj9AaPIx0B1l3f9aQiv9EPN1084"                             '这里是Paypal身份标记    获取方法 " paypalurl=paypalurl&str 'response.write "<br>"&paypalurl&"<br>"&"<br>"&"<br>" 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个字符的返回值,并返回给responsetxt sParts = Split(ResponseTxt, vbLf)                 '将返回值以vbLf(在vb里面这是回车<换行>的意思)分开,并赋给一个数组sParts iParts = UBound(sParts) - 1                      '对这个数组分离取值, 后面的应该都可以看得懂的吧! ReDim sResults(iParts, 1) For i = 0 To iParts aParts = Split(sParts(i), "=") sKey = aParts(0) sValue = aParts(1) sResults(i, 0) = sKey sResults(i, 1) = sValue Select Case sKey Case "first_name" firstName = sValue Case "last_name" lastName = sValue Case "item_name" itemName = sValue Case "mc_gross" mcGross = sValue Case "mc_currency" mcCurrency = sValue Case "txn_id" liushuihao = Trim(sValue) Case "payer_email" payeremail=Trim(sValue) End Select Next Call viate(itemName,liushuihao,mcGross,payeremail)        '这里调用viate()这个function 进行认证, 并对这个订单状态进行更新 ! Msg="Pay for success! Please wait for delivery! "&"/n /n Your Order Number: "&itemName&" !" Else Msg="Sorry ! Your operating error! Please contact website administrator !!" End If response.write "<script>alert('"&msg&"');location.href='user.asp'</script>" '支付完毕返回 用户信息页 ! %> 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=20081222225300 mc_currency=USD item_number= residence_country=US handling_amount=0.00 transaction_subject=20081222225300 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:可以购买多种商品 ’购物车 ’<input type="hidden" value="_cart"> ’卖家的帐户 ’<input type="hidden" > ’商品名 ’<input type="hidden" value="Java"> ’商品编号 ’<input type="hidden" value="1001"> ’商品价格 ’<input type="hidden" value="1.00"> ’商品数量-针对每一种商品 ’<input type="hidden" value="2"> ’货币类型 CNY:人民币,USD:美元 ’<input type="hidden" value="CNY"> ’取消交易并要返回的位置 ’<input type="hidden" value=" "> ’=============================================================
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Paypal集成中文说明
Paypal接口与返回页(Sandbox测试版)
asp制作用户登陆界面--龙二
关于文摘插件提交表单的开发
用asp,将access库中的新闻内容显示到eweb编程器中
用ASP制作在线测试
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服