App Store内部购买产品总结(app store回调)--Java版(二)

   这一个章节来探讨一下回调操作

   在app store 官方是可以配置一个地址来进行回调的,回调的文档可以参考以下链接

   Apple Developer Documentationhttps://developer.apple.com/documentation/appstoreservernotifications

   服务器回调响应分为两种,一个是v1,一个是v2版本,v2可以看成是v1的全面升级版,包含更多的可用信息,扩展性安全性都比较强,不过v2的接受资料,demo比较少,我也没看懂文档想表达什么,所以就先用V1了(||_||)。。。。

   配置可以在这个页面配置,需要区分沙盒和正式环境

   

    其实这里用的最多的还是订阅,因为订阅的续费逻辑需要依靠服务器方来调用

    具体的响应字段可以参考:

   Apple Developer Documentationhttps://developer.apple.com/documentation/appstoreservernotifications/app_store_server_notifications_version_1

    这个是v1的响应格式,然后需要关注的点是

   notification_type

   原文参考可以查看文档

Apple Developer Documentationhttps://developer.apple.com/documentation/appstoreservernotifications/notification_type

   续费的时候,需要格外的关注这四个字段

   

DID_CHANGE_RENEWAL_STATUS:订阅状态变更,因为我是用同一产品反复订阅的,所以经常能够看到这个状态。测试可以将沙盒账号的购买记录给清理干净就能够重新订阅。
DID_RECOVER:续费已经过期的产品。
DID_RENEW:自动续订状态。
INITIAL_BUY:第一次购买。

  详细代码可以再这里贴一下,这个是回调所配置的接口

	@PostMapping(value = "/callback-by-app-store/v1", produces = MediaType.APPLICATION_JSON_VALUE)
	public PaymentResponseEntity<PaymentVO> callBackByAppStore(@RequestBody SignedPayload signedPayload) {
		paymentOrderService.callBackByAppStore( signedPayload);
		return PaymentResponseEntity.ok();
	}

 具体的监听逻辑,不一样的是app store支持订阅类型的退款,这个比较强大,详细可以参考notification_type的各个意思解析


版权声明:本文为qq_31826603原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。