微信支付这个回调传参方式也是无敌了.

2018-06-04 17:54:23 +08:00
 maliming

官方文档:支付结果通知

代金券 ID coupon_id_$n 代金券或立减优惠 ID,$n 为下标,从 0 开始编号

单个代金券支付金额 coupon_fee_$n 单个代金券或立减优惠支付金额,$n 为下标,从 0 开始编号

<xml>
<appid>wx2421b1c4370ec43b</appid>
.........
<coupon_id_0>balabala</coupon_id_0>
<coupon_id_1>balabala</coupon_id_1>
<coupon_id_2>balabala</coupon_id_2>
........
<coupon_fee_0>balabala</coupon_fee_0>
<coupon_fee_1>balabala</coupon_fee_1>
<coupon_fee_2>balabala</coupon_fee_2>
</xml>

回调这么搞,后台没法定义模型呀! ╮(╯_╰)╭

3082 次点击
所在节点    微信
11 条回复
torbrowserbridge
2018-06-04 18:04:19 +08:00
没法定义模型是什么鬼
xgfan
2018-06-04 18:06:20 +08:00
估计腾讯自己用字符串拼起来的,压根没准备考虑反序列化的问题。
est
2018-06-04 18:15:48 +08:00
哈哈哈,谁叫你们用静态语言。。。

动态语言一把梭!
sdrzlyz
2018-06-04 18:21:41 +08:00
意外不意外,惊喜不惊喜?
jjianwen68
2018-06-04 18:34:03 +08:00
水平参差不齐
moult
2018-06-04 18:34:55 +08:00
哈哈哈。。。php 用户表示很淡定。。。
一定要定义模型的话只能单独处理了。。不能直接反序列化。。
oovveeaarr
2018-06-04 19:19:58 +08:00
dirty workaround 定于 100 个)
prolic
2018-06-04 19:21:41 +08:00
应该能处理成 map 吧
param
2018-06-05 01:32:41 +08:00
后台用的 Java ?
maliming
2018-06-05 08:42:22 +08:00
@param net
ragnaroks
2019-08-09 11:10:18 +08:00
如果有人遇到这个问题的话:

```csharp
String _originXml=WxpayResponse.Content;
Regex regex_id=new Regex(@"^\<coupon_id_(?<id>\d+)\>\<\!\[CDATA\[(?<id>\d+)\]\]\>\<\/coupon_id_\d+\>$",RegexOptions.Compiled|RegexOptions.Multiline);
Regex regex_fee=new Regex(@"^\<coupon_fee_(?<fee>\d+)\>(?<fee>\d+)\<\/coupon_fee_\d+\>$",RegexOptions.Compiled|RegexOptions.Multiline);
MatchCollection mc_id=regex_id.Matches(_originXml);
MatchCollection mc_fee=regex_fee.Matches(_originXml);
if(mc_id.Count<1 || mc_fee.Count!=mc_id.Count){return;}
StringBuilder sb=new StringBuilder();
for(Int32 i = 0;i<mc_id.Count;i++) {
Console.WriteLine($"coupon_id_{i}={mc_id[i].Groups[1].Value}");
Console.WriteLine($"coupon_fee_{i}={mc_fee[i].Groups[1].Value}");
}
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/460306

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX