联想服务器经销:Ios服务器到服务器通知(app store server notifications example)

我正在尝试实现 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'
}
3

设置服务器 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/

请注意,此有效负载中的许多字段现在被视为已弃用。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(871)
哪里有卖cd光盘的:“光盘”和“光盘之家”把我带到不同的目录
上一篇
Speedup my pc:加快加载动画 gifkivy
下一篇

相关推荐

  • hidictionary翻译器ios实现iOS设备上的快速翻译

    Hidictionary翻译器iOS是一款可以将多种语言之间进行翻译的应用,它支持英语、法语、德语、西班牙语、日语、韩语、俄语、中文、意大利语、葡萄牙语、荷兰语等语言。它拥有清晰的界面,操作简单,可以在不同语言之间进行快速翻译,支持文字翻译、语音翻译和图片翻译等功能。…

    2023-01-11 13:09:59
    0 22 57
  • shadowrocket ios安装包:如何使用Shadowrocket iOS安装包进行网络连接

    Shadowrocket iOS安装包是一款可以让用户在iOS设备上使用的科学上网工具,可以帮助用户访问被封锁的网站和应用程序。它支持多种协议,如SSH、HTTP、SOCKS5等,还支持多种加密算法,如AES-128-GCM、Chacha20-Poly1305等,可以保证用户的网络安全。…

    2023-01-25 13:25:24
    0 95 88
  • android 视频编码深入理解MediaCodec API

    Android 视频编码是指将原始视频数据经过压缩编码后,生成新的视频数据,以便减少视频文件的体积,提高传输速度,以及更好地在 Android 设备上播放。…

    2023-01-13 10:58:18
    0 25 73
  • cv小敢:如何利用CV小敢提升职业技能?

    cv小敢(Computer Vision Tiny-YOLO)是一种轻量级的物体检测算法,它可以在资源受限的设备上运行,如嵌入式设备、智能手机等。它是基于YOLO(You Only Look Once)算法的一个变体,由Joseph Redmon和Ali Farhadi开发,旨在提高深度学习模型的性能,同时减少模型的大小和计算复杂度。…

    2023-02-09 13:08:59
    0 36 99
  • coremail论客邮箱Coremail论客邮箱

    Coremail论客邮箱是一款专业的企业邮箱服务,可以满足企业对安全、可靠性和高效性的要求。它拥有强大的安全性能,可以提供多种安全保护,包括防止邮件被窃取、拦截恶意邮件、防止跨站脚本攻击等。此外,它还支持多种企业级功能,如组织架构管理、收发邮件管理、文件共享管理、联系人管理等,可以帮助企业提高工作效率,提升企业形象。…

    2023-02-25 04:36:55
    0 30 66
  • linux 编译静态库:```ar cr libtest.a *.o```4. 完成!

    我们要创建一个源文件,比如:mylib.c,内容如下:#include…

    2023-03-19 08:46:39
    0 66 37
  • canvas下载安装:Unleash the Power of Canvas to Create Amazing Visuals

    Canvas是一种HTML5技术,可以在网页上创建和绘制2D图形。它是一个JavaScript API,可以使用JavaScript代码来绘制图形,并且可以添加各种效果,如阴影,渐变,动画等。…

    2023-03-08 00:48:14
    0 70 77
  • class定位:The Benefits of Using Class Selectors for Element Locati

    示例示例class定位是一种CSS布局技术,用于指定HTML元素的位置,可以使元素放置在页面的任何位置。代码示例:…

    2023-03-06 07:16:44
    0 27 46

发表评论

登录 后才能评论

评论列表(52条)