+ -
当前位置:首页 → 问答吧 → paypal 即时付款通知的问题 大家帮忙看下 急急急、、、

paypal 即时付款通知的问题 大家帮忙看下 急急急、、、

时间:2011-07-15

来源:互联网

<% 
Dim Item_name, Item_number, Payment_status, Payment_amount,Point
Dim Txn_id, Receiver_email, Payer_email 
Dim objHttp, str 
'从PayPal出读取POST信息同时添加变量'cmd' 
str = Request.Form & "&cmd=_notify-validate" 
'建议在此将接受到的信息记录到日志文件中以确认是否收到IPN信息 
' 将信息POST回给PayPal进行验证 
set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP") 
' set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0") 
' set objHttp = Server.CreateObject("Microsoft.XMLHTTP") 
'在Sandbox情况下,设置: 
' objHttp.open "POST", " https://www.sandbox.paypal.com/cgi-bin/webscr", false 
objHttp.open "POST", " https://www.paypal.com/cgi-bin/webscr", false 
objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" 
objHttp.Send str 
'将POST变量分配给本地变量 
'该付款明细所有变量可参考: 
' https://www.paypal.com/IntegrationCenter/ic_ipn-pdt-variable-reference.html 
 
Item_name = Request.Form("item_name") 
Item_number = Request.Form("item_number") 
Payment_status = Request.Form("payment_status") 
Payment_amount = Request.Form("mc_gross") 

Payment_currency = Request.Form("mc_currency") 
Txn_id = Request.Form("txn_id") 
Receiver_email = Request.Form("receiver_email") 
Payer_email = Request.Form("payer_email") 
Point=0.0625*Payment_amount
'… 
'检查通知是否合法 
if (objHttp.status <> 200 ) then 
'HTTP错误 
elseif (objHttp.responseText = "VERIFIED") then 
'检查付款状态是否完成("Completed") 
'检查txn_id 是否已经处理过 
'检查receiver_email是否是您的PayPal账户中的EMAIL地址 
'检查付款金额和货币单位是否正确 
'处理这次付款,包括写数据库 
if Payment_status="Completed" then


opendb()
set rs=server.CreateObject("Adodb.recordset")
rs=conn.execute("update userinfo set point="&Point&" where email='"&Payer_email&"'")
set rs=nothing
closedb()

end if
elseif (objHttp.responseText = "INVALID") then 
'未通过认证,有可能是编码错误或非法的POST信息

else 
'处理其他错误 

end if 
set objHttp = nothing 
%>


现在支付过了 获得不了信息, 数据库里面的内容没有发生变化,

作者: gshmj   发布时间: 2011-07-15

付完款后返回到这个页面你每个状态打印出具体信息,看是在哪里出问题
if (objHttp.status <> 200 ) then  
response.write("HTTP错误")

这样依次打印错误提示看问题出在哪一步

作者: beyond_me21   发布时间: 2011-07-15