Payflow 链接在经典 ASP 的沙箱中随机抛出字段丢失错误
Posted
技术标签:
【中文标题】Payflow 链接在经典 ASP 的沙箱中随机抛出字段丢失错误【英文标题】:Payflow link randomly throwing field missing error in sandbox for Classic ASP 【发布时间】:2012-06-19 06:58:59 【问题描述】:我正在尝试将 Payflow 链接与我的经典 ASP 网站集成。现在我正在使用测试帐户来测试交易。
这是流程, - 我将在我的网站上有一个页面,其中将显示地址、姓名、邮件、邮编和其他 Payflow 交易的必填字段。同样的数据也会被添加到隐藏字段中,比如
<form method="post" action="https://payflowlink.paypal.com">
<input type="hidden" name="INVOICE" value="<%=request.querystring("idOrder")%>">
<input type="hidden" name="LOGIN" value="<%=pVeriSignLogin%>">
<input type="hidden" name="PARTNER" value="PayPal">
<input type="hidden" name="TYPE" value="S">
<input type="hidden" name="AMOUNT" value="<%
response.write money(request.querystring("ordertotal"))
%>">
<input type="hidden" name="DESCRIPTION"value="<%=request.querystring("orderDetails")%>">
<input type="hidden" name="FIRSTNAME" value="<%=request.querystring("name")%>">
<input type="hidden" name="LASTNAME" value="<%=request.querystring("lastName")%>">
<input type="hidden" name="ADDRESS" value="<%=request.querystring("address")%>">
<input type="hidden" name="CITY" value="<%=request.querystring("city")%>">
<input type="hidden" name="STATE" value="<%=request.querystring("state")&request.querystring("stateCode")%>">
<input type="hidden" name="ZIP" value="<%=request.querystring("zip")%>">
<input type="hidden" name="COUNTRY" value="<%=request.querystring("country")&request.querystring("countryCode")%>">
<input type="hidden" name="PHONE" value="<%=request.querystring("phone")%>">
<input type="hidden" name="EMAIL" value="<%=request.querystring("email")%>">
<input type="hidden" name="NAMETOSHIP" value="<%=request.querystring("shippingName")%>">
<input type="hidden" name="LASTNAMETOSHIP" value="<%=request.querystring("shippingLastName")%>">
<input type="hidden" name="ADDRESSTOSHIP" value="<%=request.querystring("ShippingAddress")%>">
<input type="hidden" name="CITYTOSHIP" value="<%=request.querystring("ShippingCity")%>">
<input type="hidden" name="STATETOSHIP" value="<%=request.querystring("ShippingState")&request.querystring("ShippingStateCode")%>">
<input type="hidden" name="ZIPTOSHIP" value="<%=request.querystring("ShippingZip")%>">
<input type="hidden" name="COUNTRYTOSHIP" value="<%=request.querystring("country")&request.querystring("ShippingCountryCode")%>">
<input type="hidden" name="PHONETOSHIP" value="<%=request.querystring("shippingPhone")%>">
<input type="hidden" name="EMAILTOSHIP" value="<%=request.querystring("shippingEmail")%>">
根据先前表单数据的操作,将传输到“https://payflowlink.paypal.com”。由于我们从上一页传递了数据,因此这里的字段将自动填充。用户现在将添加其信用卡号和到期日期。
到这里为止,一切都按预期正常运行。现在,如果我点击“立即付款”按钮,我会收到消息,
某些必需信息缺失或不正确。请更正以下字段,然后重试。
Error: Address is a required field.
Error: State is a required field.
Error: Zip Code is a required field.
Error: Ship To Address is a required field.
Error: Ship To State is a required field.
Error: Ship To Zip Code is a required field.
奇怪的是,我已经传递了这些数据,并且支付流链接表单已经在字段中渲染了它们。此问题发生在随机基础上。有时当我点击“立即付款”选项时,它会成功完成交易,并发送到成功页面。
有人遇到过同样的问题吗?我不知道如何解决它。不知道是支付流链接沙盒问题还是我的方式有任何问题。
【问题讨论】:
你确定对这个页面的请求携带了 querystring 上的所有数据吗?对我来说似乎很奇怪,我希望该级别的数据来自使用 POST 方法的表单,因此您应该是Request.Form
而不是 QueryString
。
这不是问题,因为支付流表单已经捕获了我作为 POST 传递的数据并将它们呈现给字段。所以 Request.Form 或 Querystring 在这里不是问题。
【参考方案1】:
使用以下链接解决,
https://www.x.com/node/2749
【讨论】:
以上是关于Payflow 链接在经典 ASP 的沙箱中随机抛出字段丢失错误的主要内容,如果未能解决你的问题,请参考以下文章