首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用购买中如何在CONSUMPTION_REQUEST中处理iOS通知

应用购买中如何在CONSUMPTION_REQUEST中处理iOS通知
EN

Stack Overflow用户
提问于 2021-07-20 08:34:42
回答 1查看 736关注 0票数 0

每ios 文档

approved使用多种因素来确定退款请求是否被批准或拒绝。为了帮助通知和改进退款过程,当用户要求退款时,您可以将用户在应用程序内购买的消费信息发送到App。App使用您提供的消费信息通知其退款决定。当客户启动应用程序内可消费采购的退款请求时,customer通过App通知向您的服务器发送一个CONSUMPTION_REQUEST notification_type。如果客户提供了同意,则通过调用这个API并将ConsumptionRequest中的消费数据发送到customer来响应。如果没有,则通过调用此API并在customerConsented中将ConsumptionRequest值设置为false来响应;不要发送任何其他信息。

现在我们得到了一个CONSUMPTION_REQUEST notification_type,其内容是

代码语言:javascript
复制
{Environment:PROD 
 NotificationType:CONSUMPTION_REQUEST 
 Password:xxxx0b91b407f5xxxxxxxxx 
 ExpirationIntent: 
 AutoRenewAdamID: 
 AutoRenewStatus: 
 AutoRenewProductID:
 AutoRenewStatusChangeDate:{AutoRenewStatusChangeDate: AutoRenewStatusChangeDateMS: AutoRenewStatusChangeDatePST:} 
 BID:com.boundle.id
 BVRS:89 
 UnifiedReceipt:{
    Status:0 
    Environment:Production 
    LatestReceipt:MIISegYJKoZIhvcNXXXXXXXXXX 
 LatestReceiptInfo:[] 
 PendingRenewalInfo:[]
 }
}

似乎没有收据交易身份,客户要求退款。

然后我们尝试通过https://buy.itunes.apple.com/verifyReceipt和通知的LatestReceipt获取收据的详细信息。

代码语言:javascript
复制
{ receipt:
   { receipt_type: 'Production',
     adam_id: 125258871623,
     app_item_id: 125258871623,
     bundle_id: 'com.boundle.id',
     application_version: '89',
     download_id: null,
     version_external_identifier: 843111111,
     receipt_creation_date: '2021-07-18 04:48:20 Etc/GMT',
     receipt_creation_date_ms: '1626583700000',
     receipt_creation_date_pst: '2021-07-17 21:48:20 America/Los_Angeles',
     request_date: '2021-07-20 08:02:21 Etc/GMT',
     request_date_ms: '1626768141824',
     request_date_pst: '2021-07-20 01:02:21 America/Los_Angeles',
     original_purchase_date: '2021-07-07 00:03:57 Etc/GMT',
     original_purchase_date_ms: '1625616237000',
     original_purchase_date_pst: '2021-07-06 17:03:57 America/Los_Angeles',
     original_application_version: '87',
     in_app: [] },
  environment: 'Production',
  status: 0 }
{ receipt_type: 'Production',
  adam_id: 125258871623,
  app_item_id: 125258871623,
  bundle_id: 'com.boundle.id',
  application_version: '89',
  download_id: null,
  version_external_identifier: 843111111,
  receipt_creation_date: '2021-07-18 04:48:20 Etc/GMT',
  receipt_creation_date_ms: '1626583700000',
  receipt_creation_date_pst: '2021-07-17 21:48:20 America/Los_Angeles',
  request_date: '2021-07-20 08:02:21 Etc/GMT',
  request_date_ms: '1626768141824',
  request_date_pst: '2021-07-20 01:02:21 America/Los_Angeles',
  original_purchase_date: '2021-07-07 00:03:57 Etc/GMT',
  original_purchase_date_ms: '1625616237000',
  original_purchase_date_pst: '2021-07-06 17:03:57 America/Los_Angeles',
  original_application_version: '87',
  in_app: [] }

也没有退款收据信息。

每个文档,一旦收到CONSUMPTION_REQUEST,我们应该通过API发送消费信息

PUT https://api.storekit.itunes.apple.com/inApps/v1/transactions/consumption/{originalTransactionId}

我们如何从通知中获得originalTransactionId?

EN

回答 1

Stack Overflow用户

发布于 2021-08-18 03:56:08

在我的例子中,通知有效负载的顶层属性中有original_transaction_id

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68451858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档