IOS: проблема с автоматическим обновлением уведомлений при покупке приложения с сервера на сервер

#in-app-purchase

#покупка в приложении

Вопрос:

Я не могу проанализировать уведомление о покупке App Store с автоматическим обновлением.Мне нужно только получить notification_type, но другие файлы я не могу проанализировать из уведомления сервера. мой php-код:

 <?php

$input =json_decode(file_get_contents('php://input'), true);

$responseBody = $input['unified_receipt']['latest_receipt_info'][0]->original_transaction_id;
$notification_type = $input['notification_type'];

$sql="INSERT INTO testAppServerNotification (notification_type,notification) VALUES('$notification_type','$responseBody')";
$result=$conn->query($sql);
if($result){
   echo "success";
 }else{
     error_log("fail" . $conn->error);
 }
?>
 

Комментарии:

1. может ли кто-нибудь поделиться json-форматом уведомления, отправленного app Store?

Ответ №1:

Логическое значение in json_decode() определяет, что объекты json должны декодироваться как ассоциативные массивы, а не объекты. Следовательно, вы orignal_transaction_id получаете неправильный доступ.

Вы должны сделать это так:

 $responseBody = $input['unified_receipt']['latest_receipt_info'][0]["original_transaction_id"];
 

Таким образом, вы сможете проанализировать уведомление.

Если вы хотите узнать больше о структуре уведомлений сервера, вот документация от Apple.