Method: refundResultNotification

refund メソッドが呼び出された後、払い戻しの結果を Google に通知します。

払い戻しは refund メソッド呼び出し中に同期的に処理する必要がありますが、このメソッドは、同期呼び出しがアクションを実行してから結果を返す前に失敗した場合に備えて、Google に高速バックアップ シグナルを提供します。これにより、Google が将来の時間に再試行をスケジュールすることによる遅延を回避できます。

refundResult 値はこの refundRequestId のべき等であるため、このメソッドの後続の呼び出しで値を変更することはできません。

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

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481855928376"
  },
  "result": "SUCCESS"
}

HTTP リクエスト

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

リクエスト本文

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

JSON 表現
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
フィールド
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

必須: 払い戻しが発生した決済インテグレータのアカウント ID。

refundRequestId

string

必須: この払い戻しの一意の識別子。refund メソッドが呼び出されたときに requestId フィールドによって設定されます。

refundResult

enum (RefundResultCode)

必須: この払い戻しの結果。

paymentIntegratorRefundId

string

必須: この識別子はインテグレータに固有のものであり、インテグレータによって生成されます。これは、インテグレータがこの払い戻しを把握するための識別子です。

便宜上、この識別子は送金の詳細に含まれています。

レスポンスの本文

refundResultNotification メソッドのレスポンス オブジェクト。

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

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

object (ResponseHeader)

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

result

enum (RefundResultNotificationResultCode)

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

RefundResultCode

固有の結果コードによる払い戻し。

列挙型
UNKNOWN_RESULT このデフォルト値は設定しないでください。
SUCCESS 払い戻しが完了しました。
NO_MONEY_LEFT_ON_TRANSACTION 払い戻しできませんでした。取引の残高がありません。通常、これはインテグレータと Google の間のバグを表します。Google は元の回収よりも高い金額の払い戻しを依頼しないでください。
ACCOUNT_CLOSED

インテグレータが保持していたアカウントが閉鎖されました。

この値が返されると、ユーザーの支払い方法が Google でクローズされます。ユーザーは、関連付けフローをもう一度実行して、新しい楽器を追加せざるを得なくなります。

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

インテグレーターと取引したユーザーのアカウントは閉鎖されています。アカウントが乗っ取られた疑いがあります。

この値が返されると、ユーザーの支払い方法が Google でクローズされます。ユーザーは、関連付けフローをもう一度実行して、新しい楽器を追加せざるを得なくなります。

ACCOUNT_CLOSED_FRAUD

インテグレータが保持しているユーザーのアカウントは、不正行為のため閉鎖されています。

この値が返されると、ユーザーの支払い方法が Google でクローズされます。ユーザーは、関連付けフローをもう一度実行して、新しい楽器を追加せざるを得なくなります。

ACCOUNT_ON_HOLD お客様のアカウントは現在保留されており、払い戻しを受け付けることはできませんが、後で払い戻しを受けることはできる場合があります。Google は今後、別の払い戻しをリクエストする可能性はありますが、新しい requestId を使用して行うため、このリクエストは終了したものとみなされます。
REFUND_EXCEEDS_MAXIMUM_BALANCE 現時点ではお客様の残高が最大許容額を超えてしまうため、現時点では払い戻しを処理できません。Google は今後、別の払い戻しをリクエストする可能性はありますが、新しい requestId を使用して行うため、このリクエストは終了したものとみなされます。
REFUND_WINDOW_EXCEEDED 許可された払い戻し期間を過ぎているため、払い戻しを処理できません。

RefundResultNotificationResultCode

refundResultNotification メソッドの結果コード。

列挙型
UNKNOWN_RESULT このデフォルト値は設定しないでください。
SUCCESS 払い戻し結果の通知が完了しました。