Method: disburseFundsResultNotification

Notifica a Google el resultado de un desembolso después de que se haya realizado la llamada de método disburseFunds.

El valor disburseFundsResult es idempotente para este disburseFundsRequestId, por lo que debe ser idéntico al valor que se muestra durante la llamada a disburseFunds y no se puede cambiar con una llamada posterior a este método.

Si el extremo encuentra un error mientras procesa la solicitud, la respuesta de este extremo será del tipo ErrorResponse.

Es posible que las respuestas de esta consulta estén vacías si este método no muestra un HTTP 200. El cuerpo de la respuesta estará vacío en situaciones en las que se pueda usar una ErrorResponse con una descripción clara para ayudar a un atacante a comprender el identificador de cuenta del integrador de pagos de otros integradores. En estas situaciones, en las que la clave de firma no coincide, no se encontró el identificador del integrador de pagos o se desconocía la clave de encriptación, este método mostrará un error HTTP 404 con un cuerpo vacío. Si se puede verificar la firma de la solicitud, se devolverá información adicional sobre el error en el cuerpo de la respuesta.

A continuación, se muestra una solicitud de ejemplo:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "KcgwSKrV76eVNDUbsZ4UA3",
    "requestTimestamp": "1481852928293"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "disburseFundsRequestId": "awNaC510cefae3IJdNEvW2",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

Una respuesta de ejemplo se ve de la siguiente manera:


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

Solicitud HTTP

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

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "disburseFundsRequestId": string,
  "disburseFundsResult": {
    object (DisburseFundsResult)
  }
}
Campos
requestHeader

object (RequestHeader)

REQUIRED: Encabezado común para todas las solicitudes

paymentIntegratorAccountId

string

OBLIGATORIO: Es el identificador de la cuenta del integrador de pagos en el que se realizó el desembolso.

disburseFundsRequestId

string

REQUIRED: Es un identificador único para esta transacción. Este es el requestId que genera Google durante la llamada a disburseFunds con la que está asociada esta solicitud.

Es una cadena con una longitud máxima de 100 caracteres y contiene solo los caracteres "a-z", "A-Z", "0-9", ":", "-" y "_".

disburseFundsResult

object (DisburseFundsResult)

OBLIGATORIO: Es el resultado de esta llamada para desembolsar fondos.

Cuerpo de la respuesta

Objeto de respuesta para el método disburseFundsResultNotification

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (DisburseFundsResultNotificationResultCode)
}
Campos
responseHeader

object (ResponseHeader)

REQUIRED: Encabezado común para todas las respuestas

result

enum (DisburseFundsResultNotificationResultCode)

OBLIGATORIO: Es el resultado de esta llamada.

DisburseFundsResult

Información sobre el resultado final de un desembolso.

Representación JSON
{
  "disburseFundsResultCode": enum (DisburseFundsResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string
  // End of list of possible types for union field FailureDetail.
}
Campos
disburseFundsResultCode

enum (DisburseFundsResultCode)

OBLIGATORIO: Es el código del resultado de este desembolso.

rawResult

object (RawResult)

OPCIONAL: Es el resultado sin procesar de este desembolso. Se usa para ayudar a fundamentar el motor de riesgos y las estadísticas de Google. En situaciones en las que se genera una asignación de código de rechazo, a veces se pierden los datos. El integrador puede optar por darle a Google un código sin procesar. Por ejemplo, una puerta de enlace de tarjeta de crédito (el integrador) puede usar este campo para comunicar a Google el código de rechazo exacto que se recibió de la red VISA. En ese caso, la scope sería "visa". y el rawCode sería lo que mostrara la red VISA.

Este valor es obligatorio si result no es SUCCESS.

Campo de unión FailureDetail.

FailureDetail puede ser una de las siguientes opciones:

transactionMaxLimit

string (Int64Value format)

OPCIONAL: Si disburseFundsResultCode es DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT, este es el valor de la transacción máxima permitida. Se utiliza para los mensajes estructurados orientados al usuario y el análisis del porcentaje de rechazos.

Esta cantidad es de micros de la misma currencyCode que la llamada de método disburseFunds original.

transactionMinLimit

string (Int64Value format)

OPCIONAL: Si disburseFundsResultCode es DISBURSEMENT_UNDER_TRANSACTION_LIMIT, este es el valor de la transacción mínima permitida. Se utiliza para los mensajes estructurados orientados al usuario y el análisis del porcentaje de rechazos.

Esta cantidad es de micros de la misma currencyCode que la llamada de método disburseFunds original.

DisburseFundsResultCode

Códigos de resultado para llamadas de desembolso de fondos.

Enumeraciones
UNKNOWN_RESULT No establezcas nunca este valor predeterminado.
SUCCESS El desembolso se realizó correctamente.
DISBURSEMENT_UNDER_TRANSACTION_LIMIT El importe del desembolso solicitado no cumple con el importe mínimo por transacción del integrador. Si se usa este código, propaga el campo transactionMinLimit con el importe mínimo de la transacción para enviar mensajes a los usuarios.
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT El importe del desembolso solicitado supera el límite máximo por transacción del integrador. Si se usa este código, propaga el campo transactionMaxLimit con el límite de transacciones para enviar mensajes a los usuarios.
ACCOUNT_CLOSED Se cerró la cuenta del usuario que se retuvo con el integrador. Este valor de retorno hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un instrumento nuevo.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER Se cerró la cuenta del usuario con el integrador, por lo que se sospecha que se realizó una apropiación de la cuenta. Este valor de retorno hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un instrumento nuevo.
ACCOUNT_CLOSED_FRAUD La cuenta del usuario que se retuvo con el integrador se cerró debido a un fraude. Este valor de retorno hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un instrumento nuevo.
ACCOUNT_ON_HOLD La cuenta del usuario está suspendida.

RawResult

Objeto de resultado sin procesar.

Representación JSON
{
  "scope": string,
  "rawCode": string
}
Campos
scope

string

OPCIONAL: El alcance del código sin procesar, puede estar vacío.

rawCode

string

OBLIGATORIO: Es el código sin procesar del integrador o los subsistemas que contiene.

DisburseFundsResultNotificationResultCode

Códigos de resultado para el método disburseFundsResultNotification

Enumeraciones
UNKNOWN_RESULT No establezcas nunca este valor predeterminado.
SUCCESS La notificación se procesó correctamente.