我在PayPal的某个时候得到了交战信息。但同时它工作正常。我通过200美元意味着工作良好,但30美元意味着低于警告信息显示
数组([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] =>警告)
你帮我解决了这个问题吗?答案 0 :(得分:1)
PayPal的PAYMENTREQUEST_n_DESC参数只接受127个字符。
如果你传递的数量超过了它,它仍然会接受付款并处理交易,但它会返回你的数据被截断的警告。
如果您查看原始请求,您会发现该参数中的值必须超过127个字符。
答案 1 :(得分:0)
PayPal的PAYMENTREQUEST_n_DESC字段,虽然它说PayPal文档中有127个字符的限制,但ACTUALLY似乎有127个字节的限制。 PayPal有一个错误的假设,即127个字符= 127个字节。 我们发现当描述包含< = 127个unicode字符时,我们仍然遇到了这个验证问题。
我们的解决方案是添加一个根据字节长度截断提供的字符串的函数。 C#示例:Best way to shorten UTF8 string based on byte length