Method: refund

capture を通じて開始されたトランザクションの一部または全体を払い戻します。ヘッダー内の requestIdpaymentIntegratorAccountId はべき等のキーであり、このトランザクションを一意に識別します。

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
  "currencyCode": "INR",
  "refundAmount": "208000000"
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "SUCCESS",
  "paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}

HTTP リクエスト

POST https://www.integratorhost.example.com/v1/refund

リクエスト本文

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

JSON 表現
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
フィールド
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

必須: この取引に関する契約上の制約を定義する支払いインテグレーターのアカウント ID です。

captureRequestId

string

必須: この取引の一意の識別子。これは、このリクエストが関連付けられている capture 呼び出し中に Google によって生成された requestId です。

currencyCode

string

必須: ISO 4217 の 3 文字の通貨コード

refundAmount

string (Int64Value format)

必須: 払い戻しの金額。通貨単位の正のマイクロ数。

レスポンスの本文

払い戻し方法のレスポンス オブジェクト。

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

JSON 表現
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
フィールド
responseHeader

object (ResponseHeader)

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

paymentIntegratorRefundId

string

省略可: この識別子はインテグレーターに固有であり、インテグレーターによって生成されます。これは、インテグレータがこの払い戻しを認識する識別子です。

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

result

enum (RefundResultCode)

必須: 払い戻しの結果。

rawResult

object (RawResult)

省略可: この払い戻しの元の結果。Google のリスクエンジンと分析に通知するために使用されます。不承認のコードのマッピングが行われた場合、データが失われることがあります。インテグレータは、Google に未加工のコードを与えることもできます。たとえば、クレジット カード ゲートウェイ(インテグレータ)は、このフィールドを使用して、VISA ネットワークから受け取った正確な不承認コードを Google に通知できます。この場合、scope は「visa」で、rawCode は VISA ネットワークが返したものになります。

resultSUCCESS でない場合、この値は必須です。

払い戻し結果コード

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

列挙型
UNKNOWN_RESULT このデフォルト値を設定しないでください。
SUCCESS 払い戻しが完了しました。
NO_MONEY_LEFT_ON_TRANSACTION v1.refund が失敗し、取引に残高がなくなりました。通常、これはインテグレーターと 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 許可された払い戻し期間を過ぎているため、払い戻しを処理できません。