收到警告 订单描述元素的值已被截断。在贝宝

Posted

技术标签:

【中文标题】收到警告 订单描述元素的值已被截断。在贝宝【英文标题】:getting warning Value of Order Description element has been truncated. in paypal 【发布时间】:2016-04-02 01:38:53 【问题描述】:

我有一段时间在贝宝中低于交战信息。但同时它工作正常。我通过 $200 表示工作良好,但 $30 表示低于显示警告消息

Array ([TOKEN] => EC-8JN325950R8891611 [TIMESTAMP] => 2015-12-28T07:30:02Z [CORRELATIONID] => ef1922a5aa68a [ACK] => SuccessWithWarning [VERSION] => 65 [BUILD ] => 18308778 [L_ERRORCODE0] => 10433 [L_SHORTMESSAGE0] => 由于参数无效,交易被拒绝。有关详细信息,请参阅其他错误消息。[L_LONGMESSAGE0] => OrderDescription 元素的值已被截断。[L_SEVERITYCODE0] => 警告)

你能帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

PayPal 的 PAYMENTREQUEST_n_DESC 参数只接受 127 个字符。

如果您通过的次数超过此值,它仍然会接受付款并处理交易,但它会返回警告,即您的数据已被截断,就像您收到的一样。

如果您查看原始请求,您会发现该参数中的值必须超过 127 个字符。

【讨论】:

您好 Andrew Angell 感谢您的更新。现在我减少了描述限制,它工作得很好。【参考方案2】:

PayPal 的 PAYMENTREQUEST_n_DESC 字段,虽然它在 PayPal 文档中说它有 127 个字符的限制,但实际上似乎有 127 个字节的限制。 PayPal 错误地假设 127 个字符 = 127 个字节。 我们发现,当描述包含

我们的解决方案是添加一个函数,根据字节长度截断提供的字符串。 C# 示例:Best way to shorten UTF8 string based on byte length

【讨论】:

以上是关于收到警告 订单描述元素的值已被截断。在贝宝的主要内容,如果未能解决你的问题,请参考以下文章

Magento 在贝宝付款前下订单

C - 警告[pe069]整数转换导致截断

选择语句上的“字符串数据,右截断”警告

迁移警告 - 列 x 到 x 的截断键列长度 - SQL Server 到 MYSQL 迁移

从 HANDLE 到 ULONG C++ 的类型转换截断

如何在读取时检测文件已被截断