如何处理退款/取消应用内购买

时间:2015-03-07 21:44:39

标签: ios ios7 ios8 in-app-purchase

我正在尝试处理针对iOS的退款应用内购买。但我找不到明确的指导方针来做到这一点。

所以我有一个会员类型的应用内购买功能,其中用户凭据不一定与itunes帐户绑定。

当有人购买时,我可以参考哪种标识符,并且在通过苹果申请退款时具有相同的标识符?

另外,退款时我们会立即收到通知吗?我需要立即取消会员资格。

谢谢!

2 个答案:

答案 0 :(得分:5)

我最终存储了收据字符串并运行cron来完成事务并查找取消字段。

    $url = "https://buy.itunes.apple.com/verifyReceipt"; 
    $data = json_encode(array('receipt-data' => $receipt));

    $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
            $response = curl_exec($ch);
            $errno    = curl_errno($ch);
            $errmsg   = curl_error($ch);
            curl_close($ch);
            if ($errno != 0) {
                throw new Exception($errmsg, $errno);
            }
            return $response;

答案 1 :(得分:1)

您可以使用收据的各种元素进行跟踪...其中大部分都在应用内购买编程指南中讨论。 https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html#//apple_ref/doc/uid/TP40008267-CH1-SW1

取消,取决于。如果订阅终止,则它将一直有效,直到当前订阅的期限结束。如果它是实际退款,那么它似乎不是外部记录的正式答案"。对于具有相同情况的其他人,请查看此问题... How does Apple notify iOS apps of refunds of in-app purchases (IAP)?