Apple IAP 有没有办法可以确定用户?

2015-03-02 14:25:38 +08:00
 guibin1989
IAP的receipt中没有任何与用户有关的信息,而且苹果也不支持自定义额外字段。
假如用户通过IAP付费开通了帐号A的会员。然后拿付费之后收到的收据和itunes的购买记录声称他为帐号B开通会员扣费了但是没有生效。
我该怎么确定这个用户是否在说谎?或者在服务器端有没有什么措施可以避免这种情况?
7454 次点击
所在节点    iDev
18 条回复
delphiqin
2015-03-02 14:47:47 +08:00
没有什么办法
事实上也没什么人会这么干
如果你真的信不过这个用户的话,可以让他找苹果退款再重新购买
freewizard
2015-03-02 15:24:02 +08:00
把receipts数据存到你自己的服务器上,跟用户id绑定就可以了。如果担心用户端伪造,可以从你自己的服务器发起一个到Apple服务器的请求来验证receipt。
guibin1989
2015-03-02 16:30:09 +08:00
@delphiqin 恩,查了很多资料都没有这方面的
guibin1989
2015-03-02 16:32:13 +08:00
@freewizard 恩,这个是正常情况。但是如果某种原因服务器端没有收到请求,但是苹果已经扣费了。用户拿出消费记录和收据来和你对账,你如何判断这个账单是服务器请求失败的那个?
c742435
2015-03-02 18:17:22 +08:00
加一个支付恢复功能吧。
guibin1989
2015-03-02 20:42:57 +08:00
@c742435 恩,是个好主意
freewizard
2015-03-02 23:51:44 +08:00
@guibin1989 恢复购买啊,对你的服务器来说跟正常购买流程是几乎一样的
guibin1989
2015-03-03 09:37:10 +08:00
@freewizard 恩,似乎只能保证交易的成功率了,真要碰到胡搅蛮缠的也没有办法
lawder
2015-03-03 11:18:15 +08:00
@freewizard receipt数据里面有特定字段(比如订单ID)可以和用户收到的购买邮件里的特定字段对应得上的吗?
guibin1989
2015-03-03 11:56:13 +08:00
@lawder 对应不上的,receipt里面的是transaction_id和订单号不是一样的
guibin1989
2015-03-03 13:53:47 +08:00
@freewizard 不好意思,再问一下。把receipt存在本地用来恢复购买的话,存在哪里比较好?NSUserDefault还是单独存在别的文件里?
lawder
2015-03-03 14:17:00 +08:00
@guibin1989 那这个问题就无解了。
delphiqin
2015-03-03 15:54:20 +08:00
其实,像会员这种内购,或者是订阅型IAP,或者是不可重复消费型IAP,这两种类型,苹果都是有接口可以检查用户是否已购买的,而且这个恢复购买的功能是苹果要求开发者必须实现的
如果是检查到用户没有内购此计费点,但用户自己坚称已付费,那就让他去找苹果退款
jhgfer
2015-03-03 19:46:11 +08:00
@guibin1989 IAP 应该是有恢复购买功能的[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
另外赞一下楼上的回复
guibin1989
2015-03-03 21:50:27 +08:00
@jhgfer 恢复购买只对Non-consumable和Auto-renewable subscription有效吧,我们会员选的是Non-Renewing Subscription
muscleBean
2016-07-20 11:47:23 +08:00
对于消耗型项目还有一种情况:如果用户购买成功了,服务器给用户发货,用户在收到了代金币。这时,如果用户去找苹果申请退款,且退款成功了,就会造成公司账目对不上。
ruandao
2016-07-26 08:49:30 +08:00
@muscleBean 像这种情况要怎么处理
linkermlin
2018-10-26 18:47:59 +08:00
@muscleBean 延迟提现吧。

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

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

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

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

© 2021 V2EX