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