asp.net paypal 集成查询字符串加密
Posted
技术标签:
【中文标题】asp.net paypal 集成查询字符串加密【英文标题】:asp.net paypal integration query-string encryption 【发布时间】:2018-07-12 09:11:02 【问题描述】:我需要一些 PayPal 支付集成的帮助和概念。我有以下将订单/付款数据发送到 PayPal:
Dim sString As String
sString = "https://www.paypal.com/cgi-bin/webscr?"
sString += "cmd=_xclick"
sString += "&business=" & BusinessEmail
sString += "&email=" & UserEmail
sString += "&address_override=1"
sString += "¤cy_code=" & CurrencyCode
sString += "&invoice=" & InvoiceNumber
sString += "&item_name=" & PlanName
sString += "&item_number=" & ItemNumber
sString += "&quantity=1"
sString += "&amount=" & TotalAmount
sString += "&handling=0"
sString += "&display=1"
sString += "&first_name=" & Firstname
sString += "&last_name=" & LastName
sString += "&address1=" & AddressLine1
sString += "&address2=" & AddressLine2
sString += "&city=" & CityTitle
sString += "&state=" & State
sString += "&zip=" & Postcode
sString += "&lc=" & CountryISO
sString+= "¬ify_url=" & notify_url
Response.Redirect(sString)
这工作正常,但由于它作为查询字符串传递,它会显示所有参数,无论如何我可以加密它吗?
谁能建议一种更好的方式来集成 PayPal? 如何获得付款确认?
非常感谢您的帮助
【问题讨论】:
Is an HTTPS query string secure? Answer: Yes的可能重复 【参考方案1】:无论如何我可以加密这个吗?
您应该加密查询字符串,但 PayPal URL 是 https,因此它受到保护。
任何人都可以提出更好的方式来集成 PayPal 吗?
由于 PayPal 要求,您需要默认协议为 TLS 1.2。我还想建议您使用 StringBuilder。
StringBuilder builder = new StringBuilder();
builder.Append("https://www.paypal.com/cgi-bin/webscr?");
....
// PayPal requires TLS 1.2
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Response.Redirect(builder.ToString());
如何获得付款确认?
收到付款后,PayPal 将向您发送确认电子邮件。
【讨论】:
感谢您的帮助。任何人都可以看到查询字符串参数并进行修改!即改变金额!我需要加密字符串吗? 没有人看不到查询字符串,因为连接是HTTPS。 哦,可能是我将查询发送到 PayPal 时出错了,因为我可以在浏览器的 url 栏中看到纯英文的查询参数!! 这是 PayPal Standard 的工作方式。如果您不喜欢它,您将不得不使用 PayPal 网关。以上是关于asp.net paypal 集成查询字符串加密的主要内容,如果未能解决你的问题,请参考以下文章
使用 asp.net 和 C# 集成 Paypal [关闭]