Method: getOrderDetails

Google パートナーにエンドユーザーへの請求の基礎となる注文を行う。

リクエストの処理中にエンドポイントでエラーが発生した場合、このエンドポイントからのレスポンスは ErrorResponse 型になります。

このメソッドが HTTP 200 を返さない場合、このクエリに対するレスポンスは空になる可能性があります。攻撃者が他のインテグレーターの決済インテグレーターのアカウント ID を攻撃者が理解できるように、明確な説明付きの ErrorResponse を使用できる場合は、レスポンスの本文は空になります。署名鍵が一致しない、決済インテグレータの識別子が見つからない、暗号鍵が不明ななどの状況では、このメソッドは本文が空の HTTP 404 を返します。リクエストの署名が検証できた場合は、エラーに関する追加情報がレスポンスの本文で返されます。

リクエストの例を次に示します。


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1519996751331"
  },
  "paymentIntegratorAccountId": "IntegratorFakeAccount",
  "orderLookupCriteria": {
    "googleTransactionReferenceNumberCriteria": {
      "googleTransactionReferenceNumber": "714545417102363157911822",
      "authorizationCode": "111111"
    }
  },
  "requestOriginator": {
    "organizationId": "ISSUER_256",
    "organizationDescription": "Community Bank of Some City"
  }
}

レスポンスの例を次に示します。


{
  "responseHeader": {
    "responseTimestamp": "1519996752221"
  },
  "result": "SUCCESS",
  "order": {
    "timestamp": "1517992525972",
    "orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
    "currencyCode": "USD",
    "subTotalAmount": "399000000",
    "totalAmount": "459000000",
    "taxes": [],
    "items": [
      {
        "description": "YouTube TV membership",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "399000000"
      },
      {
        "description": "Showtime",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "6000000"
      }
    ]
  }
}

HTTP リクエスト

POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/:PIAID

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "orderLookupCriteria": {
    object (OrderLookupCriteria)
  },
  "requestOriginator": {
    object (RequestOriginator)
  }
}
フィールド
requestHeader

object (RequestHeader)

必須: すべてのリクエストに共通のヘッダー。

paymentIntegratorAccountId

string

必須: 呼び出し元と、このインタラクションに関連する契約上の制約を識別する決済インテグレータのアカウント ID。

orderLookupCriteria

object (OrderLookupCriteria)

必須: 検索する順序を指定する条件。

requestOriginator

object (RequestOriginator)

省略可: このリクエストの発信元となった組織または組織サブグループに関する情報(インテグレータが別の組織の代理として Google に連絡している場合)。

レスポンスの本文

getOrderDetails メソッドのレスポンス ペイロード。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetOrderDetailsResultCode),
  "order": {
    object (Order)
  }
}
フィールド
responseHeader

object (ResponseHeader)

必須: すべてのレスポンスに共通のヘッダー。

result

enum (GetOrderDetailsResultCode)

必須: この呼び出しの結果。

order

object (Order)

省略可: 支払いが行われた注文に関する情報。(result が SUCCESS の場合のみ表示されます)。

RequestHeader

サーバーに送信されるすべてのリクエストで定義されるヘッダー オブジェクト。

JSON 表現
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
フィールド
requestId

string

必須: このリクエストの一意の識別子。

これは、最大 100 文字の文字列で、文字「a ~ z」、「A ~ Z」、「0 ~ 9」、「:」、「-」、「_」のみが含まれます。

requestTimestamp

string (int64 format)

必須: エポックからのミリ秒で表されるこのリクエストのタイムスタンプ。受信側は、このタイムスタンプが「現在」の ±60 秒であることを確認する必要があります。このリクエストのタイムスタンプは、再試行時にべき等ではありません。

userLocale
(deprecated)

string

非推奨: 2 文字または 3 文字の ISO 639-2 Alpha 3 言語コード。必要に応じてハイフンと ISO 3166-1 Alpha-2 国コード(「pt」、「pt-BR」、「fil」、「fil-PH」など)。これは、レスポンスの userMessage フィールドを制御するために使用します。

protocolVersion

object (Version)

必須: このリクエストのバージョン。

バージョン

従来の a.b.c バージョン構造の構造化されたバージョン オブジェクト。同じ番号のメジャー バージョン間の互換性は保証されます。マイナーおよびリビジョンは、予告なく頻繁に変更される場合があります。インテグレータは、同じメジャー バージョンのすべてのリクエストをサポートする必要があります。

JSON 表現
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
フィールド
major

integer

必須: メジャー バージョン。これは、異なるバージョンを持つ互換性リクエストでの互換性が保証されないためです。

minor

integer

必須: マイナー バージョン。これは、重大なバグが修正されたことを示します。

revision

integer

必須: マイナー バージョン。軽微なバグ修正を示します。

OrderLookupCriteria

注文の検索条件。

JSON 表現
{

  // Union field criteria can be only one of the following:
  "dcb3CorrelationId": string,
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  }
  // End of list of possible types for union field criteria.
}
フィールド

共用体フィールド criteria

criteria は次のいずれかになります。

dcb3CorrelationId

string

支払いを一意に識別する、Google が生成した DCB 相関 ID に基づくルックアップ。この値は Google によって生成され、Auth の呼び出し中にキャリア決済の決済インテグレータに送信されました。

arnCriteria

object (ArnCriteria)

アクワイアラ参照番号(ARN)に基づく検索。

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

Google 取引照会番号に基づいて検索します。

ArnCriteria

加盟店参照番号(ARN)に基づく支払い照合基準。

JSON 表現
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
フィールド
acquirerReferenceNumber

string

必須: 支払いを一意に識別するカード発行会社参照番号(ARN)。23 桁で入力してください。

authorizationCode

string

必須: 取引の認証コード。

GoogleTransactionReferenceNumberCriteria

Google が生成した取引参照番号に基づく、支払いの照合条件。

JSON 表現
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
フィールド
googleTransactionReferenceNumber

string

必須: Google が自動生成した、お支払いを一意に識別する取引照会番号。

authorizationCode

string

必須: 取引の認証コード。

RequestOriginator

このリクエストの送信元の組織または組織サブグループに関する情報。これにより、Google は問題や不正使用を特定し、paymentIntegratorAccountId よりも細かいレベルで制御を実装できます。呼び出し元が、複数の外部クライアントからリクエストを調達する中間サービス プロバイダである場合に特に有用です。

JSON 表現
{
  "organizationId": string,
  "organizationDescription": string
}
フィールド
organizationId

string

必須: このリクエスト送信元の会社、組織、組織グループの識別子。この paymentIntegratorAccountId 内で一意にする必要があります。

organizationDescription

string

必須: 人が読める形式の組織の名前または説明。Google の従業員とインテグレータとの間のコミュニケーションを容易にします。

ResponseHeader

サーバーから送信されるすべてのレスポンスで定義されるヘッダー オブジェクト。

JSON 表現
{
  "responseTimestamp": string
}
フィールド
responseTimestamp

string (int64 format)

必須: このレスポンスのタイムスタンプ。エポックからのミリ秒数で表します。受信側は、このタイムスタンプが「現在」の ±60 秒であることを確認する必要があります。

GetOrderDetailsResultCode

getOrderDetails メソッド呼び出しの結果。

列挙型
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN このデフォルト値は設定しないでください。
SUCCESS 注文が見つかり、返品されました。
ORDER_CANNOT_BE_RETURNED

リクエストされた注文は存在しますが、返品できません。たとえば、注文が所有者の要請によって削除された場合などです。

PAYMENT_TOO_OLD リクエストされた支払いは見つかりましたが、支払い年齢が原因で注文の詳細が提供されませんでした。
PAYMENT_NOT_FOUND リクエストされたお支払いが見つかりませんでした。
NO_ADDITIONAL_DETAILS リクエストされた支払いが見つかりましたが、注文の詳細が不明です。

注文

注文に関する情報。

JSON 表現
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
フィールド
timestamp

string (int64 format)

省略可: 注文が行われたときのタイムスタンプ。エポックからのミリ秒で表します。注文の種類によっては利用できない場合があります。

orderId

string

省略可: この注文を一意に識別する文字列。注文の種類によっては利用できない場合があります。

currencyCode

string

省略可: 注文のすべての金額に適用される ISO 4217 の 3 文字の通貨コード。注文の種類によっては利用できない場合があります。

subTotalAmount

string (Int64Value format)

省略可: この注文の合計額(税抜き)。order.currencyCode で指定した通貨のマイクロ単位で表します。これは SUM(items.totalPrice) に相当します。注文の種類によっては利用できない場合があります。

totalAmount

string (Int64Value format)

省略可: 税金を含むこの注文の合計金額。order.currencyCode で指定した通貨のマイクロ単位で表します。これは subTotalAmount + SUM(taxes.amount) に相当します。注文の種類によっては利用できない場合があります。

items[]

object (Item)

必須: この注文に含まれていた商品アイテムのリスト。

taxes[]

object (Tax)

省略可: この注文に含まれる税金のリスト。

項目

注文に含まれる商品に関する情報。

JSON 表現
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
フィールド
description

string

省略可: 購入された商品の説明。注文の種類によっては利用できない場合があります。

merchant

string

必須: 商品アイテムの販売者、アーティスト、またはメーカー。

quantity

string (Int64Value format)

省略可: この商品アイテムの注文数。

整数の数量が商品に適用されない場合(たとえば、従量制の商品には小数値の数量が含まれる場合)、このフィールドは省略されます。

totalPrice

string (Int64Value format)

省略可: このアイテムの合計価格。order.currencyCode で指定した通貨のマイクロ単位で表します。quantity が入力されている場合、数量全体の合計金額が反映されます。注文の種類によっては利用できない場合があります。

googleProductName

string

必須: 商品アイテムの Google サービスの名前。

税金

この注文に適用される税金に関する情報です。

JSON 表現
{
  "description": string,
  "amount": string
}
フィールド
description

string

必須: 税金の説明。

amount

string (Int64Value format)

必須: order.currencyCode で指定された通貨のマイクロ単位で表される税額。