如何转义 PHP 中的 SagePay 值?

How to escape SagePay values in PHP?

在加密之前,您发送到 SagePay 的字符串的格式类似于 URL。

...&Amount=99.99&Description=An order from My Company...

文档中似乎缺少的是如何转义这些值。我根据集成指南删除了无效字符,但我想知道从在线商店发送的数据中可能包含的特殊字符(例如产品名称中的 & 符号)。

为了使其防弹,我应该对这些值使用 htmlspecialcharshtmlentites 还是 urlencode?我能看到的唯一关键的事情是从篮子字符串中去掉冒号,因为它被用作分隔符。好像没法逃了

我一直在使用 2.23,但现在升级到 3.00。除了加密功能(它现在使用带有填充和 CBC 的适当 AES)之外,您似乎可以保留旧代码。

我通常不使用篮子,但我只是快速检查了描述字段中的 & 符号 - 如果您不对其进行编码,它在支付页面和 My Sage Pay 中呈现良好。