我正在使用DotNetKit 1.2.6.5而SagePayIntegration.Validation()
拒绝使用新的.online域名的客户电子邮件(例如:foo@bar.online)
客户注意无效。
这是在1.2.6.7中修复的,还是SagePay.IntegrationKit.DotNet.dll的源代码,因此我可以修复它?
答案 0 :(得分:1)
尽管访问了源代码(很多感谢@DavidG)SagePay支持已经确认实际的Gateway不支持所有这些新域 - 所以即使我修改了DotNetKit,它仍然会被网关拒绝。
SagePay的支持非常有帮助,但最终还是
“...我们的网关尚不支持电子邮件域名foo@bar.online。 我们不断进行开发冲刺,尽管有一些冲刺 我们可能尚未支持的域名,我们将来会依赖于这些域名 影响和需求......“
答案 1 :(得分:0)
SagePay Integration Kit使用此正则表达式验证电子邮件地址:
[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?:[a-zA-Z]{2,4})\b
遗憾的是,不允许使用超长TLD。幸运的是我有工具包的源代码,我已将它添加到我的GitHub帐户(以及错误修复,这就是为什么我必须首先得到它,因为SagePay没有更新它)。你可以在这里找到它:
https://github.com/WiredUK/SagePay.IntegrationKit
您需要编辑的正则表达式是此文件:
有关信息,您需要编辑2,4
表达式的最后一部分(与TLD中的2到4个字符匹配)以允许更多,例如2,30
。
修改:我可以,opened an issue and fixed it。