Method: refundResultNotification

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

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

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

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

このメソッドが HTTP 200 を返さない場合、このクエリへのレスポンスは空になる可能性があります。攻撃者が他のインテグレータの支払いインテグレータのアカウント識別子を理解できるように、明確な説明がある 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

必須: インテグレータに固有の、インテグレータが生成する識別子です。これは、インテグレータがこの払い戻しを認識する識別子です。

この ID は送金の詳細に含まれており、便利です。

レスポンスの本文

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

成功すると、レスポンスの本文に次の構造のデータが含まれます。

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

object (ResponseHeader)

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

result

enum (RefundResultNotificationResultCode)

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

払い戻し結果コード

一意の結果コードの払い戻し。

列挙型
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 払い戻しの結果の通知が完了しました。