「Php/アプリストア連携/返金API/AppStore」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→返金通知のサーバ側モックJSON) |
(→返金通知のサーバ側モックJSON) |
||
| 行8: | 行8: | ||
==返金通知のサーバ側モックJSON== | ==返金通知のサーバ側モックJSON== | ||
| + | *subtype: "DISPUTE", or "OTHER" | ||
| + | *signedRenewalInfo: 省略可能(テスト時) | ||
| + | *signedTransactionInfo: 省略可能(テスト時) | ||
| + | *cancellation_reason: 1:ユーザー申請, 0:その他 | ||
<pre> | <pre> | ||
{ | { | ||
| 行18: | 行22: | ||
"bundleVersion": "1.0", | "bundleVersion": "1.0", | ||
"environment": "Sandbox", | "environment": "Sandbox", | ||
| − | "signedRenewalInfo": "...", | + | "signedRenewalInfo": "...", |
| − | "signedTransactionInfo": "...", | + | "signedTransactionInfo": "...", |
"unifiedReceipt": { | "unifiedReceipt": { | ||
"environment": "Sandbox", | "environment": "Sandbox", | ||
2025年6月6日 (金) 16:23時点における版
appleのstorekitの返金のドキュメント
https://developer.apple.com/jp/documentation/storekit/in-app_purchase/handling_refund_notifications/
ストアからの通知url設定箇所
appstore管理画面/配信/アプリ情報/appstoreサーバ通知
返金通知のサーバ側モックJSON
- subtype: "DISPUTE", or "OTHER"
- signedRenewalInfo: 省略可能(テスト時)
- signedTransactionInfo: 省略可能(テスト時)
- cancellation_reason: 1:ユーザー申請, 0:その他
{
"notificationType": "REFUND",
"subtype": "DISPUTE", // または "OTHER"
"notificationUUID": "a1b2c3d4-5678-90ef-1234-567890abcdef",
"data": {
"appAppleId": 123456789,
"bundleId": "com.example.app",
"bundleVersion": "1.0",
"environment": "Sandbox",
"signedRenewalInfo": "...",
"signedTransactionInfo": "...",
"unifiedReceipt": {
"environment": "Sandbox",
"latest_receipt": "BASE64_ENCODED_RECEIPT_DATA",
"latest_receipt_info": [
{
"cancellation_date_ms": "1625097600000",
"cancellation_reason": "1", // 1:ユーザー申請, 0:その他
"product_id": "premium_subscription",
"transaction_id": "1000000123456789",
"original_transaction_id": "1000000123456789",
"purchase_date_ms": "1625000000000",
"expires_date_ms": "1627600000000"
}
],
"status": 0
}
},
"version": "2.0"
}
appstore内の返金リクエストurl
ttps://reportaproblem.apple.com/
