我正在尝试实现 IOS 订阅的服务器到服务器通知。我已经通过了Server-to-Server Notifications文档,并遵循了所有必要的步骤。器在 GCM 中。
现在当我在应用程序中购买时,我在器中收到通知,但响应与上面链接中定义的完全不同。
我得到的响应只包含一个字段是latest_receipt。但是在文档中他们提到了各种参数。所以,我想我必须通过发送一个 post 消息到这个endpoint来验证收据。现在我得到一个包含大量信息的 json 体,但仍然没有得到文档中提到的 json。
验证购买后我得到的响应体(https://sandbox.itunes.apple.com/verifyReceipt)
{
"auto_renew_status": 1,
"status": 0,
"auto_renew_product_id": " ",
"receipt": {
"original_purchase_date_pst": "2019-01-09 01:26:35 America/Los_Angeles",
"quantity": "1",
"unique_vendor_identifier": " ",
"bvrs": "56",
"expires_date_formatted": "2019-07-18 06:19:17 Etc/T",
"is_in_intro_offer_period": "false",
"purchase_date_ms": "1563430577000",
"expires_date_formatted_pst": "2019-07-17 23:19:17 America/Los_Angeles",
"is_trial_period": "false",
"item_id": "1298435177",
"unique_identifier": " ",
"original_transaction_id": "1000000492823158",
"expires_date": "1563430757000",
"transaction_id": "1000000548145129",
"web_order_line_item_id": "1000000045717939",
"version_external_identifier": "0",
"bid": " ",
"product_id": " ",
"purchase_date": "2019-07-18 06:16:17 Etc/T",
"original_purchase_date": "2019-01-09 09:26:35 Etc/T",
"purchase_date_pst": "2019-07-17 23:16:17 America/Los_Angeles",
"original_purchase_date_ms": "1547025995000"
},
"latest_receipt_info": {
"original_purchase_date_pst": "2019-01-09 01:26:35 America/Los_Angeles",
"unique_identifier": " ",
"original_transaction_id": "1000000492823158",
"expires_date": "1563430757000",
"transaction_id": "1000000548145129",
"quantity": "1",
"product_id": " ",
"bvrs": "56",
"bid": " ",
"unique_vendor_identifier": " ",
"web_order_line_item_id": "1000000045717939",
"original_purchase_date_ms": "1547025995000",
"expires_date_formatted": "2019-07-18 06:19:17 Etc/T",
"purchase_date": "2019-07-18 06:16:17 Etc/T",
"is_in_intro_offer_period": "false",
"purchase_date_ms": "1563430577000",
"expires_date_formatted_pst": "2019-07-17 23:19:17 America/Los_Angeles",
"is_trial_period": "false",
"purchase_date_pst": "2019-07-17 23:16:17 America/Los_Angeles",
"original_purchase_date": "2019-01-09 09:26:35 Etc/T",
"item_id": "1298435177"
}
}
但在他们提到的文档中:
environment
notification_type
pword
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
我没有得到主要领域,如环境和 notification_type。
有什么问题吗?
这是我第一次得到的回应
{ latest_receipt: 'ewoJInNpZ25hdHVyZ'}
我从服务器 2 服务器通知得到的响应是第二次(一旦更新):
{ environment: 'Sandbox',
auto_renew_status: 'false',
latest_expired_receipt: 'ewoJIn'
}
设置服务器 2 服务器通知时获得的参数与查询 verifyReceipt 时的格式不完全相同 (或包含相同的字段)。
例如,environment 和 notification_type 仅在服务器 2 服务器通知中可用,而在 verifyReceipt 中不可用。
这里是一个完整的参数的例子,你得到当苹果向您发送通知与服务器 2 服务器通知-
{
"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/T",
"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/T",
"purchase_date_pst": "2019-07-29 21:13:17 America/Los_Angeles",
"original_purchase_date": "2019-07-30 04:13:18 Etc/T"
},
"environment": "PROD",
"auto_renew_status": "true",
"pword": "*****",
"auto_renew_product_id": "com.XXXX",
"notification_type": "INITIAL_BUY"
}
您的示例来自 verifyReceipt 响应。
该文档不是很好关于服务器 2 服务器通知,但最新的 wwdc 视频是伟大的-https://developer.apple.com/videos/play/wwdc2019/302/
请注意,此有效负载中的许多字段现在被视为已弃用。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(52条)