refund メソッドが呼び出された後、払い戻しの結果を Google に通知します。
払い戻しは refund メソッド呼び出し中に同期的に処理する必要がありますが、このメソッドは、同期呼び出しがアクションを実行してから結果を返す前に失敗した場合に備えて、Google に高速バックアップ シグナルを提供します。これにより、Google が将来の時間に再試行をスケジュールすることによる遅延を回避できます。
refundResult 値はこの refundRequestId のべき等であるため、このメソッドの後続の呼び出しで値を変更することはできません。
リクエストの処理中にエンドポイントでエラーが発生した場合、このエンドポイントからのレスポンスは 型になります。ErrorResponse
このメソッドが HTTP 200 を返さない場合、このクエリに対するレスポンスは空になる可能性があります。攻撃者が他のインテグレーターの決済インテグレーターのアカウント ID を攻撃者が理解できるように、明確な説明付きの を使用できる場合は、レスポンスの本文は空になります。署名鍵が一致しない、決済インテグレータの識別子が見つからない、暗号鍵が不明ななどの状況では、このメソッドは本文が空の HTTP 404 を返します。リクエストの署名が検証できた場合は、エラーに関する追加情報がレスポンスの本文で返されます。ErrorResponse
リクエストの例を次に示します。
{
"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 |
必須: 払い戻しが発生した決済インテグレータのアカウント ID。 |
refundRequestId |
必須: この払い戻しの一意の識別子。 |
refundResult |
必須: この払い戻しの結果。 |
paymentIntegratorRefundId |
必須: この識別子はインテグレータに固有のものであり、インテグレータによって生成されます。これは、インテグレータがこの払い戻しを把握するための識別子です。 便宜上、この識別子は送金の詳細に含まれています。 |
レスポンスの本文
refundResultNotification メソッドのレスポンス オブジェクト。
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
| JSON 表現 |
|---|
{ "responseHeader": { object ( |
| フィールド | |
|---|---|
responseHeader |
必須: すべてのレスポンスに共通のヘッダー。 |
result |
必須: この呼び出しの結果。 |
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 |
払い戻し結果の通知が完了しました。 |