Administra los saldos de cuenta prepaga

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

En esta página, se describe cómo administrar tus cuentas de facturación prepagas.

Puedes usar las API de Apigee para administrar las cuentas de facturación prepagadas de tus desarrolladores. Con las API, puedes realizar las siguientes tareas:

Ve la configuración de monetización

Para ver la configuración de monetización de un desarrollador, envía una solicitud GET a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Con esta API, puedes ver el tipo de facturación del desarrollador. Para obtener más información sobre la API, consulta getMonetizationConfig.

En el siguiente ejemplo, se muestra cómo ver la configuración de monetización de un desarrollador mediante el comando de curl:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "billingType": "PREPAID",
}

Actualiza la configuración de monetización

Para actualizar la configuración de monetización de un desarrollador, envía una solicitud PUT a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Con esta API, puedes actualizar el tipo de facturación del desarrollador. Para obtener más información sobre la API, consulta updateMonetizationConfig.

En el siguiente ejemplo, se muestra cómo actualizar la configuración de monetización de un desarrollador mediante el comando de curl:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X PUT \
-d '{
"billingType": "POSTPAID",
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "billingType": "POSTPAID",
}

Cambia el tipo de facturación

Tus desarrolladores pueden cambiar su facturación de prepago a pospago, y viceversa. En esta sección, se describen los cambios que se producen en Apigee cuando los desarrolladores cambian su tipo de facturación.

De pospago a prepago

Si un desarrollador cambia de pospago a prepago, Apigee establece de inmediato el billingType del desarrollador en PREPAID en la configuración. El desarrollador puede comenzar a usar las API en la medida en que se aplique el importe de dinero prepagado. Según tus informes de monetización personalizados, tú (el proveedor de la API) debes facturar por separado el uso existente en la cuenta pospago del desarrollador.

De prepago a pospago

Si un desarrollador cambia de prepago a pospago, Apigee establece de inmediato el billingType del desarrollador en POSTPAID en la configuración. En los informes de monetización personalizados, se muestra cualquier saldo existente (de todas las monedas) en la cuenta prepaga del desarrollador como una transacción de crédito. Cuando calcules el importe adeudado por un desarrollador después del ciclo de facturación, tú (proveedor de API) debes considerar el saldo del crédito en la cuenta del desarrollador.

Ve el saldo de desarrollador

Para ver el saldo en la cuenta prepaga de un desarrollador, envía una solicitud GET a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

Para obtener más información sobre la API, consulta getBalance.

En el siguiente ejemplo, se muestra cómo ver el saldo en la cuenta prepaga de un desarrollador:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150",
        "nanos": 500000000
      },
      "lastCreditTime": 1234567890
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": 9876543210
    }
  ]
}

En la respuesta de ejemplo, el desarrollador tiene dos saldos de cuenta prepagos, una por cada moneda. Puedes conocer el importe del saldo de los campos units y nanos. El campo lastCreditTime está en formato de hora de época y denota la hora en la que se aprovisionó el saldo del desarrollador por última vez.

Saldo del desarrollador negativo

Si un desarrollador realiza varias llamadas a la API en un período corto, es posible que pueda realizar llamadas a la API excesivas, lo que da como resultado un saldo de cartera negativo para el desarrollador.

Esta situación ocurre cuando varios procesadores de mensajes controlan las llamadas a la API desde el mismo desarrollador. Cada procesador de mensajes tendrá una copia del saldo del desarrollador en función de lo que permite las llamadas a la API. Todos los procesadores de mensajes sincronizan periódicamente sus saldos con el saldo principal en la base de datos de Cassandra. Debido a las pequeñas demoras en la sincronización, el saldo de cartera de un desarrollador en un procesador de mensajes podría no estar sincronizado con el saldo principal. Por ejemplo, en un momento determinado, si el saldo de la cartera del desarrollador en un procesador de mensajes es de $2, el saldo principal podría ser $0. Por lo tanto, el procesador de mensajes permite las llamadas a la API del desarrollador, ya que considera que la cartera del desarrollador aún tiene $2.

Apigee sincroniza el saldo de cartera de un procesador de mensajes casi en tiempo real con menores demoras, y no puedes controlar ni configurar este comportamiento de Apigee. Sin embargo, se consideran todos los excesos de llamadas a la API que realiza un desarrollador. Después de procesar todas las llamadas a la API de un desarrollador, el importe final en la cartera del desarrollador refleja el cargo, incluso por las llamadas a la API excesivas. Por lo tanto, cuando el desarrollador vuelva a cobrar la cuenta la próxima vez, para tener un saldo de cartera positivo, primero debe pagar cualquier importe de saldo negativo en la cartera.

Acredita el saldo de desarrollador

Para acreditar el saldo en la cuenta prepaga de un desarrollador, envía una solicitud POST a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

Para obtener más información sobre la API, consulta CreditBalance.

Para acreditar el saldo de un desarrollador, se deben seguir estos pasos en orden:

  1. Un desarrollador agrega la cuenta de desarrollador al portal para desarrolladores y usa una puerta de enlace de pago.
  2. El portal para desarrolladores genera un ID de transacción único para la agregación.
  3. El portal para desarrolladores actualiza el saldo de desarrollador con la API organizations/{org}/developers/{developer}/balance:credit.

En el siguiente ejemplo, se muestra la llamada a la API para el paso 3 y se avala el saldo del desarrollador en $150.21. transactionId se establece en el valor del ID de transacción de la transacción superior (paso 3).

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "transactionAmount": {
     "currencyCode": "USD",
     "units": "150",
     "nanos": 210000000
  },
  "transactionId": "ab31b63e-f8e8-11eb-9a03-0242ac130003"
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "300",
        "nanos": 710000000
      },
      "lastCreditTime": "9876543210"
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": "1234567890"
    }
  ]
}

Ajusta el saldo de los desarrolladores

Si tienes una cuenta de desarrollador con cobros excesivos o menores, puedes usar la API de adjustBalance para disminuir o aumentar el saldo de la cuenta.

Para ajustar el saldo en la cuenta prepaga de un desarrollador, envía una solicitud POST a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Para obtener más información sobre la API, consulta adjustBalance.

Si deseas disminuir el saldo de un desarrollador con cobro menor, configura el campo units en la solicitud como un valor positivo. En el siguiente ejemplo, se disminuye el saldo en la cuenta prepaga de un desarrollador en $ 50:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "adjustment": {
    "units": "50",
    "currencyCode": "USD"
  }
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150"
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}

Si deseas aumentar el saldo de un desarrollador con cobros excesivos, configura el campo units en la solicitud en un valor negativo. En el siguiente ejemplo, se aumenta el saldo de la cuenta prepaga de un desarrollador en $ 50.1:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "adjustment": {
    "units": "-50",
    "nanos": "100000000",
    "currencyCode": "USD"
  }
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "200",
        "nanos": 100000000
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}