# Casos de uso para ampliar respuestas Expande las respuestas de la API para devolver datos de pagos comunes. Utiliza el parámetro `expand` en tu solicitud de API para recuperar detalles que la API no devuelve en su respuesta predeterminada. Los siguientes casos de uso ilustran esto para la información que se solicita con mayor frecuencia. ## Mira la comisión de Stripe de un determinado pago Puedes consultar las comisiones de procesamiento de un pago después de que este se procese y Stripe cree la [transacción de saldo](https://docs.stripe.com/api/balance_transactions/object.md#balance_transaction_object-fee_details). El evento [charge.updated](https://docs.stripe.com/api/events/types.md#event_types-charge.updated) hace referencia a la propiedad `balance_transaction` (por ejemplo, `txn_123`), lo que indica que está lista para su uso. En lugar de buscar la transacción de saldo por separado, puedes recuperarla en una sola llamada usando `expand`. > *Los usuarios de IC+* (A pricing plan where businesses pay the variable network cost for each transaction plus the Stripe fee rather than a flat rate for all transactions. This pricing model provides more visibility into payments costs) no pueden recuperar la información de la comisión de pago de la transacción de saldo. En su lugar, usa el Informe de comisiones de pago. #### curl ```bash curl https://api.stripe.com/v1/payment_intents/pi_1Gpl8kLHughnNhxyIb1RvRTu \ -u <>: \-d "expand[]"="latest_charge.balance_transaction" \ -G ``` Usuarios en la versión de API [2022-08-01](https://docs.stripe.com/upgrades.md#2022-08-01) o anterior: #### curl ```bash curl https://api.stripe.com/v1/payment_intents/pi_1Gpl8kLHughnNhxyIb1RvRTu \ -u <>: \-d "expand[]"="charges.data.balance_transaction" \ -G ``` > Un PaymentIntent debe ser [captured](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md#capture-funds) y tener un [status](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) de `succeeded` para que las comisiones de Stripe estén disponibles. Al usar `automatic_async` (el `capture_method` predeterminado desde la versión `2024-04-10`), las transacciones de saldo se crean después de que el pago tiene éxito, pero de manera asincrónica en segundo plano. Esto significa: - El campo `balance_transaction` en el objeto Cargo podría ser `null` inmediatamente después de la confirmación - Si expande `balance_transaction` o `latest_charge.balance_transaction`, podría no estar disponible en la respuesta - Puede escuchar el evento `charge.updated` para saber cuándo la transacción de saldo está disponible Este comportamiento asincrónico mejora el rendimiento del pago, pero requiere que su integración maneje la posibilidad de que la transacción de saldo no esté disponible de inmediato. ## Mira los cargos incluidos en una transferencia Cada *transferencia a cuenta bancaria* (A payout is the transfer of funds to an external account, usually a bank account, in the form of a deposit) automática está asociada a cambios históricos en el saldo de tu cuenta de Stripe. La API registra estos cambios históricos como [transacciones de saldo](https://docs.stripe.com/api/balance_transactions/object.md), que puedes recuperar usando la opción [Enumerar transacciones de saldo](https://docs.stripe.com/api/balance_transactions/list.md). En una lista de transacciones de saldo, puedes expandir la propiedad [source](https://docs.stripe.com/api/balance_transactions/object.md#balance_transaction_object-source) para reunir información acerca de qué activó el cambio en el saldo de la cuenta (un cargo, un reembolso, una transferencia, etc.). Por ejemplo: #### curl ```bash curl https://api.stripe.com/v1/balance_transactions \ -u <>: \ -d payout=po_1Gl3ZLLHughnNhxyDrOia0vI \ -d type=charge \-d "expand[]"="data.source" \ -G ``` > Solo puedes recuperar el historial de transacciones de saldo para *transferencias* automáticas. Si tienes habilitadas transferencias manuales, debes hacer el seguimiento del historial de transacciones por tu cuenta. Más información sobre la [conciliación de transferencias](https://docs.stripe.com/payouts/reconciliation.md). Si usas *Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients) con cargos a un Destino, puedes recuperar la misma información en nombre de tus cuentas conectadas. Una de las diferencias es que los cargos a un Destino implican una transferencia y un pago vinculado (en forma de un objeto Charge) para transferir fondos a una cuenta conectada. Por ello, al enumerar las transacciones de saldo agrupadas en las transferencias de tu cuenta conectada, la fuente de cada transacción de saldo se vincula al pago de la transferencia a cuenta bancaria en lugar de al objeto Charge original. Para recuperar el objeto Charge original, debes expandir la transferencia vinculada del pago mediante la propiedad [source_transfer](https://docs.stripe.com/api/charges/object.md#charge_object-source_transfer) y, desde ahí, expandir la propiedad [source_transaction](https://docs.stripe.com/api/transfers/object.md#transfer_object-source_transaction) de la transferencia: #### curl ```bash curl https://api.stripe.com/v1/balance_transactions \ -u <>: \ -d payout=po_1G7bnaD2wdkPsFGzdVOqU44u \ -d type=payment \-d "expand[]"="data.source.source_transfer.source_transaction" \ -H "Stripe-Account: acct_1G7PaoD2wdkPsFGz" \ -G ```