Support customers and handle refunds

RSS for tag

Discuss the WWDC21 session Support customers and handle refunds.

View Session

Posts under wwdc21-10175 tag

10 results found
Sort by:
Post not yet marked as solved
94 Views

Refunds asked outside the refund period

Hey guys, quick question for you. I'm making some analysis regarding the refunds of our product. To my knowledge, a user is eligible to ask for a refund only within two months from the payment (may it be the first payment or the nth payment). The problem is that I've seen refunds happening even after this refund period, for which the whole payment has been refunded (not partial). I understand that this might happen for yearly subscriptions, in these cases it happens when a user asks for a switch to a new subscription. However, I can't explain myself how this also happens for weekly subscriptions. Moreover, it also happens for users who, almost surely, haven't made any other purchases to our app after having asked for the refund, thus the refund can't be considered as a switch. Do you have any idea on how I could interpret these refunds? Also, do you have any documents that explain more in details the regulation regarding the refunds? I couldn't find any online. Thanks everyone!
Asked
by Fabio951.
Last updated
.
Post not yet marked as solved
172 Views

How to send Consumption Information to App Store to make refund successfully

As we know, the customer initiated a refund request for a consumable in-app purchase, the CONSUMPTION_REQUEST notification will be received on the developer server side. The developer could send consumption info to help the app store to do refund decisions. I want to make the refund have a greater chance of success. How could we send this consumption info? We try to send consumption info to indicate one inactive user as below AccountTenure: 1, AppAccountToken: "", ConsumptionStatus: 0, CustomerConsented: true, DeliveryStatus: 0, LifetimeDollarsPurchased: 0, LifetimeDollarsRefunded: 0, Platform: 1, PlayTime: 0, SampleContentProvided: false, UserStatus: 0, The app store failed to refund Then we try to send consumption info to indicate one active user as below AccountTenure: 1, AppAccountToken: "", ConsumptionStatus: 0, CustomerConsented: true, DeliveryStatus: 0, LifetimeDollarsPurchased: 0, LifetimeDollarsRefunded: 0, Platform: 1, PlayTime: 4, SampleContentProvided: false, UserStatus: 1, The app store refuses to refund again.
Asked
by zangw.
Last updated
.
Post not yet marked as solved
146 Views

How to use send consumption info server api?

Recently, some users of our apps ask us to do a refund, since they got the information that the developer refused to refund from app store. We think this Send Consumption Information could help us to make the refund have a greater chance of success. However, after testing this API with several cases and got the status 202 from this API, the app store still decline those refunds. We are confused now and want to know how to use this API correctly? As we know, the App Store uses the consumption information you provide to inform its refund decisions. It seems the app store ignore the information we provided through consumption info, and just make a refund decision as before. If so, why this API is created for developers? Here are some cases we have done case 1: The customer is an inactive user and our app failed to deliver IAP product to the customer and the customer did not consume this product, the content of ConsumptionRequest is below. AccountTenure: 1 AppAccountToken: "", ConsumptionStatus: 1, CustomerConsented: true, DeliveryStatus: 5, LifetimeDollarsPurchased: 2, LifetimeDollarsRefunded: 1, Platform: 1, PlayTime: 0, SampleContentProvided: false, UserStatus: 0, case 2: The customer is an active user and our app failed to deliver IAP product to the customer and the customer did not consume this product, the content of ConsumptionRequest is below. AccountTenure: 1 AppAccountToken: "", ConsumptionStatus: 1, CustomerConsented: true, DeliveryStatus: 5, LifetimeDollarsPurchased: 2, LifetimeDollarsRefunded: 1, Platform: 1, PlayTime: 4, SampleContentProvided: false, UserStatus: 1 case 3: The customer is an active user and our app delivers IAP product to the customer successfully and the customer did not consume this product, the content of ConsumptionRequest is below. AccountTenure: 1 AppAccountToken: "", ConsumptionStatus: 1, CustomerConsented: true, DeliveryStatus: 0, LifetimeDollarsPurchased: 2, LifetimeDollarsRefunded: 1, Platform: 1, PlayTime: 4, SampleContentProvided: false, UserStatus: 1
Asked
by zangw.
Last updated
.
Post marked as solved
435 Views

App store server api: lookup customer order id return 404

We try to use the customer order id lookup API of app store server API, like https://api.storekit.itunes.apple.com/inApps/v1/lookup/xxxxxxx However, we got 404, and the response body is empty. Here are the response through curl * Connection state changed (MAX_CONCURRENT_STREAMS updated)! < HTTP/2 404 < server: daiquiri/3.0.0 < date: Mon, 19 Jul 2021 12:03:24 GMT < content-length: 0 < x-apple-jingle-correlation-key: EJJPZLFC7B3NTSO3PLZNUVVIXY < x-apple-request-uuid: 2252fcac-a2f8-76d9-c9db-7af2da56a8be < b3: 2252fcaca2f876d9c9db7af2da56a8be-ad831e3618544a32 < x-b3-traceid: 2252fcaca2f876d9c9db7af2da56a8be < x-b3-spanid: ad831e3618544a32 < apple-seq: 0.0 < apple-tk: false < apple-originating-system: CommerceGateway < x-responding-instance: CommerceGateway:010116::: < apple-timing-app: 0 ms < strict-transport-security: max-age=31536000; includeSubDomains < x-daiquiri-instance: daiquiri:45824002:st44p00it-hyhk15104701:7987:21HOTFIX14 < How to debug this issue? or Is there anything am I missing? Thanks
Asked
by zangw.
Last updated
.
Post not yet marked as solved
289 Views

The originalTransactionId of CONSUMPTION_REQUEST notification is empty

Now we got a CONSUMPTION_REQUEST notification_type and the content is {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:[] } } It seems there is no receipt transaction id which the customer asks for a refund. And then we try to get the receipt details through https://buy.itunes.apple.com/verifyReceipt with LatestReceipt of notification { 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: [] } There is no refund receipt info either. Per doc, once received CONSUMPTION_REQUEST, we should send Consumption Information through API PUT https://api.storekit.itunes.apple.com/inApps/v1/transactions/consumption/{originalTransactionId} How could we get the originalTransactionId from notification?
Asked
by zangw.
Last updated
.
Post not yet marked as solved
165 Views

Refund happen when no one asked.

Recently,There are more and more users said that their receipt has been canceled.and our server got the refund-notification from apple server.and users say that they never asked apple to refund.It's so wired. Is there anybody has the same issue?I will be appreciate it if you guys give me hand.
Asked
by WILLSUP.
Last updated
.
Post not yet marked as solved
246 Views

Is there any plan to add edit information for in-app purchase products?

Hello, I am very pleased the server APIs for purchase history and consume information. And I also want API for edit in-app purchase items from our servers so I am looking forward it. Is there any plan to add the IAP editing support?
Asked Last updated
.
Post not yet marked as solved
251 Views

How to bind apple_Id and transaction_id in apple store connect api to track refunds?

Good day, There is a need to track returns in the application in order to write off the intra-system balance With verifyReceipt - https://developer.apple.com/documentation/appstorereceipts/verifyreceipt I can get a list of transaction_id for a specific purchase token. With salesReports - https://developer.apple.com/documentation/appstoreconnectapi/download_sales_and_trends_reports I can get a list of all operations with appleId, but without transaction_id. What are the ways to associate appleId data of users and purchases via API? Are there any ways to visualize purchase statistics https://appstoreconnect.apple.com/trends/sales output transaction_id besides appleId?
Asked Last updated
.
Post not yet marked as solved
440 Views

CONSUMPTION_REQUEST for Subscriptions

We recently started receiving CONSUMPTION_REQUEST notifications on our server, but our app only supports a single auto-renewable subscription group. The documentation here and here seem to indicate that this only happens for consumable IAPs. Is it intended for us to receive & respond to these notifications for subscriptions as well?
Asked
by willft.
Last updated
.
Post not yet marked as solved
187 Views

Unauthorized payment and refund

My friend’s kid had my ipad and accidentally bought in-app items. I contacted Apple in website and phonecall right after I found this.( about one day after the purchase when I got notice by my Iphone bill message. ) And now Apple costermer survice keep saying that I didn’t meet the standard of refund and didn’t give me precise reasons why. She even told me to contact the app’s company by myself, which the company has noted that the only way to ask for refund is to go to Apple. and so, I am calling for help. The payment system really didn’t annouce me of any paying proceeding notice so I couldn’t stop this in the first place. Though I have contact Apple in the very beginning, the costermer service refuse to help. So who and where can I contact next? And how could I deal with this ? Thanks.
Asked
by DorisJ12.
Last updated
.