Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios服务器到服务器通知_Ios_Json_Iphone_App Store Connect_Receipt Validation - Fatal编程技术网

Ios服务器到服务器通知

Ios服务器到服务器通知,ios,json,iphone,app-store-connect,receipt-validation,Ios,Json,Iphone,App Store Connect,Receipt Validation,我正在尝试为IOS订阅实现服务器到服务器的通知。我已经阅读了文档并遵循了所有必要的步骤。我的服务器在GCM中 现在,当我在应用程序中进行购买时,我会在服务器上收到通知,但响应与上面链接中定义的完全不同 我得到的响应只包含一个最新\u收据的字段。但在文件中,他们提到了各种参数。所以,我想我必须通过给这个发邮件来核实收据。现在我得到了一个包含大量信息的json正文,但仍然没有得到文档中提到的json 验证购买后得到的响应主体() 但他们在文件中提到: environment notificati

我正在尝试为IOS订阅实现服务器到服务器的通知。我已经阅读了文档并遵循了所有必要的步骤。我的服务器在GCM中

现在,当我在应用程序中进行购买时,我会在服务器上收到通知,但响应与上面链接中定义的完全不同

我得到的响应只包含一个最新\u收据的字段。但在文件中,他们提到了各种参数。所以,我想我必须通过给这个发邮件来核实收据。现在我得到了一个包含大量信息的json正文,但仍然没有得到文档中提到的json

验证购买后得到的响应主体()

但他们在文件中提到:

 environment
 notification_type
 password
 cancellation_date
 cancellation_date_pst
 cancellation_date_ms
 web_order_line_item_id
 latest_receipt
 latest_receipt_info
 latest_expired_receipt
 latest_expired_receipt_info
 auto_renew_status
 auto_renew_product_id
 auto_renew_status_change_date
 auto_renew_status_change_date_pst
 auto_renew_status_change_date_ms
我没有得到诸如环境和通知类型等主要字段

有什么问题吗

这是我第一次得到这样的回应

{ latest_receipt: 'ewoJInNpZ25hdHVyZ'}
我从服务器2服务器通知中得到的响应是第二次(更新后):


设置服务器2服务器通知时获得的参数与查询verifyReceipt时的格式(或包含的字段)不完全相同

例如,环境和通知类型仅在服务器2服务器通知中可用,而在VerifyReceive中不可用

下面是一个完整参数的示例,当apple向您发送带有server 2 server notifications的通知时,您会得到这些参数-

    {
    "latest_receipt": "ewoXXXXX",
    "latest_receipt_info": {
        "original_purchase_date_pst": "2019-07-29 21:13:18 America/Los_Angeles",
        "quantity": "1",
        "unique_vendor_identifier": "XXX",
        "original_purchase_date_ms": "1564459998000",
        "expires_date_formatted": "2019-08-06 04:13:17 Etc/GMT",
        "is_in_intro_offer_period": "false",
        "purchase_date_ms": "1564459997000",
        "expires_date_formatted_pst": "2019-08-05 21:13:17 America/Los_Angeles",
        "is_trial_period": "true",
        "item_id": "1452171111",
        "unique_identifier": "00000",
        "original_transaction_id": "0000000",
        "expires_date": "00000000",
        "app_item_id": "0000000",
        "transaction_id": "00000000",
        "bvrs": "00000",
        "web_order_line_item_id": "00000000",
        "version_external_identifier": "000000",
        "bid": "com.XXX",
        "product_id": "XXXXX",
        "purchase_date": "2019-07-30 04:13:17 Etc/GMT",
        "purchase_date_pst": "2019-07-29 21:13:17 America/Los_Angeles",
        "original_purchase_date": "2019-07-30 04:13:18 Etc/GMT"
    },
    "environment": "PROD",
    "auto_renew_status": "true",
    "password": "*****",
    "auto_renew_product_id": "com.XXXX",
    "notification_type": "INITIAL_BUY"
}
您的示例来自verifyReceipt响应

关于服务器2服务器通知的文档不是很好,但是最新的wwdc视频很好-


请注意,到目前为止,此有效负载中有相当多的字段被认为已弃用

我理解这一点,但我没有得到你提到的上述答复。我已经编辑了这个问题,以显示我在服务器2服务器通知中得到的响应,因此您确实可以在S2S通知中得到环境。您是否尝试过查看无沙盒响应?没有,订阅续订后我也会收到此响应。在第一次购买订阅时,我只收到最新的收据。我不明白,您清楚地说“我从服务器2服务器通知中得到的响应是:”然后你有一个包含环境的响应,那么为什么你说你看不到s2s通知的环境字段?很抱歉,订阅续订后,我第二次收到响应。您好,我想知道您是如何在后端处理和测试s2s通知的。我正在尝试在不续订订阅的情况下实现相同的功能。我在应用商店中提供了url以供通知,但当我尝试使用沙盒进行测试购买时,没有收到任何响应。@VinayN S2S通知仅适用于自动续费订阅。请参阅此文档。
{ environment: 'Sandbox',
  auto_renew_status: 'false',
  latest_expired_receipt: 'ewoJIn'
}
    {
    "latest_receipt": "ewoXXXXX",
    "latest_receipt_info": {
        "original_purchase_date_pst": "2019-07-29 21:13:18 America/Los_Angeles",
        "quantity": "1",
        "unique_vendor_identifier": "XXX",
        "original_purchase_date_ms": "1564459998000",
        "expires_date_formatted": "2019-08-06 04:13:17 Etc/GMT",
        "is_in_intro_offer_period": "false",
        "purchase_date_ms": "1564459997000",
        "expires_date_formatted_pst": "2019-08-05 21:13:17 America/Los_Angeles",
        "is_trial_period": "true",
        "item_id": "1452171111",
        "unique_identifier": "00000",
        "original_transaction_id": "0000000",
        "expires_date": "00000000",
        "app_item_id": "0000000",
        "transaction_id": "00000000",
        "bvrs": "00000",
        "web_order_line_item_id": "00000000",
        "version_external_identifier": "000000",
        "bid": "com.XXX",
        "product_id": "XXXXX",
        "purchase_date": "2019-07-30 04:13:17 Etc/GMT",
        "purchase_date_pst": "2019-07-29 21:13:17 America/Los_Angeles",
        "original_purchase_date": "2019-07-30 04:13:18 Etc/GMT"
    },
    "environment": "PROD",
    "auto_renew_status": "true",
    "password": "*****",
    "auto_renew_product_id": "com.XXXX",
    "notification_type": "INITIAL_BUY"
}