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)

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

レスポンスの本文

refund メソッドに対するレスポンス オブジェクトです。

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

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

object (ResponseHeader)

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

paymentIntegratorRefundId

string

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

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

result

enum (RefundResultCode)

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

rawResult

object (RawResult)

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

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

RefundResultCode

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

列挙型
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 許可された払い戻し期間を過ぎているため、払い戻しを処理できません。