Paypal 贝宝解码编码问题与+;时间戳

Paypal 贝宝解码编码问题与+;时间戳,paypal,paypal-ipn,decode,encode,Paypal,Paypal Ipn,Decode,Encode,我对IPN测试非常失望。虽然最后我能够在Validate step timestamp字段中指出问题,但我需要有关如何处理+登录时间戳的帮助 我注意到当我解码和编码时,Paypal请求中的空格变成了+号。所以我用%20替换了+。这是测试好的。但是,如果在付款日期内有时区信息,这将是一个问题 例如,2016年7月8日星期五10:22:01 GMT+0800(马来半岛标准时间) 参数作为: 周五%20Jul%2008%202016%2010%3A22%3A01%20GMT+0800%20%28马来语

我对IPN测试非常失望。虽然最后我能够在Validate step timestamp字段中指出问题,但我需要有关如何处理+登录时间戳的帮助

我注意到当我解码和编码时,Paypal请求中的空格变成了+号。所以我用%20替换了+。这是测试好的。但是,如果在付款日期内有时区信息,这将是一个问题

例如,2016年7月8日星期五10:22:01 GMT+0800(马来半岛标准时间)

参数作为: 周五%20Jul%2008%202016%2010%3A22%3A01%20GMT+0800%20%28马来语%20半岛%20标准%20时间%29

解码后:
2016年7月8日星期五10:22:01格林威治标准时间0800(马来半岛标准时间)好的,我开始工作了……不确定这是否是最好的方式,但现在起作用了

基本上,我通过用占位符替换+来修补传入的参数值

patchedValue = value.replace("+", "TEMPXXX");

....
最后,编码后,将占位符替换为%2B,即+号

....
URLEncoder.encode(decodedValue, encoding).replace("+", "%20").replace("TEMPXXX", "%2B")