# Casos de uso para ampliar las respuestas Amplía las respuestas de la API para devolver datos de pagos comunes. Usa el parámetro `expandir` en tu solicitud de API para recuperar los datos que la API no devuelve en su respuesta predeterminada. Los siguientes casos de uso lo ilustran para la información solicitada habitualmente. ## Consulta la comisión de Stripe de un determinado pago Puedes consultar las comisiones de procesamiento de un pago después de que se procese el pago 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á listo para usar. 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 estar [capturado](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md#capture-funds) y tener un [estado](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) de `succeeded` para que las tarifas de Stripe estén disponibles. Cuando se utiliza `automatic_async` (el `capture_method` por defecto desde la versión `2024-04-10`), las transacciones de saldo se crean una vez que el pago tiene éxito, pero de forma asíncrona en segundo plano. Esto significa que: - El campo `balance_transaction` del objeto Cargo puede ser `null` inmediatamente después de la confirmación. - Si expandes `balance_transaction` o `latest_charge.balance_transaction`, es posible que no esté disponible en la respuesta - Puede escuchar el evento `charge.updated` para saber cuándo está disponible la transacción de saldo Este comportamiento asíncrono mejora el rendimiento del pago, pero requiere que tu integración gestione la posibilidad de que la transacción de saldo no esté disponible inmediatamente. ## Consulta los cargos incluidos en una transferencia Cada *transferencia* (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 [Enumerar transacciones de saldo](https://docs.stripe.com/api/balance_transactions/list.md). De 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 recopilar información sobre 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 indirectos, puedes recuperar la misma información en nombre de tus cuentas conectadas. Una de las diferencias es que los cargos indirectos implican un envío de fondos 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 del envío de fondos en lugar de al objeto Charge original. Para recuperar el objeto Charge original, debes expandir el envío de fondos vinculado 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) del envío de fondos: #### 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 ```