XCode 16.2 日本語化計画
あなたのサーバ上で生成した JSON Web 署名 (JWS) を使用して承認した Advanced Commerce API (高度な商業 API) 要求をあなたのアプリから送信します。
あなたのアプリ内で StoreKit を介して特定の Advanced Commerce API 要求を行うことができますが、その他の要求はあなたのサーバから直接行うことができます。どちらの場合も、あなたのサーバ上で生成した署名を使用して呼び出しを承認します。
以下の Advanced Commerce API 要求は、StoreKit API を使用してあなたのアプリで利用できます。
あなたのアプリから Advanced Commerce 要求を行うには、以下の手順に従います。
サーバベースの呼び出しの承認の詳細については、あなたのサーバからの API 要求の承認 (Authorizing API requests from your server) を参照してください。
Advanced Commerce 要求データを UTF-8 JSON 文字列に配置し、要求を base64 でコード化します。
たとえば、以下の JSON は、1 回限りの課金製品の購入に対する OneTimeChargeCreateRequest を表します。
{ "operation": "CREATE_ONE_TIME_CHARGE", "version": "1", "requestInfo": { "appAccountToken": "3152947d-8f63-41c2-9a91-e92e45f145e9", "requestReferenceId": "f55df048-4cd8-4261-b404-b6f813ff70e5" }, "currency": "USD", "taxCode": "C003-00-2", "storefront": "USA", "item": { "SKU": "BOOK_SHERLOCK_HOMLES", "displayName": "Sherlock Holmes", "description": "The Sherlock Holmes, 5th Edition", "price": 4990 } }
例の JSON 要求を base64 でコード化した結果は以下のようになります。
この値は、あなた独自のデータを使用して計算され、base64 でコード化されたあなたの要求データ です。
App Store 要求に署名するための JWS の生成 の Advanced Commerce API のアプリ内要求の署名手順に従ってください。Advanced Commerce API には、カスタムクレーム、request が必要です。前の手順の base64 でコード化された要求データを、JWS ペイロードの request クレームの値として提供して下さい。
指示に従った結果は、JWS コンパクト シリアル です。
JWS を包み込んで、token キーを含む signatureInfo JSON 文字列を作成します。この手順は、あなたのサーバまたはあなたのアプリで実行できます。以下に示すように、signatureInfo JSON 文字列を作成します。
{ "signatureInfo": { "token": "<your JWS compact serialization>" } }
token キーの値を JWS コンパクト シリアル に設定します。
次に、以下に示すように、signatureInfo JSON 文字列を Data バッファに変換します。
結果は、コードスニペットで advancedCommerceRequestData と呼ばれる Advanced Commerce 要求データオブジェクトです。
advancedCommerceRequestData をあなたのアプリに安全に送信します。
アプリで Advanced Commerce 要求を完了するには、StoreKit 購入メソッドを呼び出し、署名された要求を Advanced Commerce 要求データ形式で、購入オプションとして提供します。
以下のコード例で、購入要求を設定します。
この例では、以下のようになります:
struct AdvancedCommerceProduct
Advanced Commerce API で使用するために App Store Connect で汎用 SKU として構成された製品。
  Beta  
あなたのアプリ内の API 要求を承認するために、あなたのサーバ上に署名済みの JSON Web 署名 (JWS) 文字列を作成します。