def in_app_purchase receipt_data
res = RestClient.post('https://buy.itunes.apple.com/verifyReceipt', {:'receipt-data' => receipt_data}.to_json)
res = JSON.parse(res)
if res['status'] == 21007
res = RestClient.post('https://sandbox.itunes.apple.com/verifyReceipt', {:'receipt-data' => receipt_data}.to_json)
res = JSON.parse(res)
end
if res['status'] == 0
# Success
else
# Failure
end
end
receipt_dataは、課金成功時にStoreKitから受け取るbase64でエンコードされたレシート
statusが21007で返ってきた場合、sandbox側へ再度リクエストを行う
申請中Appleもsandbox環境でテストする