![]() | 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 ![]() 其实,像会员这种内购,或者是订阅型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 延迟提现吧。 |