# Kasus penggunaan untuk memperluas tanggapan Perluas respons API untuk mengembalikan detail pembayaran umum. Gunakan parameter `expand` dalam permintaan API Anda untuk mengambil detail yang tidak dikembalikan API dalam respons default-nya. Contoh penggunaan berikut mengilustrasikan hal ini untuk informasi yang sering diminta. ## Lihat biaya Stripe untuk pembayaran tertentu Anda dapat memeriksa biaya pemrosesan pembayaran setelah pembayaran diproses dan Stripe membuat [transaksi saldo](https://docs.stripe.com/api/balance_transactions/object.md#balance_transaction_object-fee_details). Kejadian [charge.updated](https://docs.stripe.com/api/events/types.md#event_types-charge.updated) mereferensikan properti `balance_transaction` (misalnya, `txn_123`), yang mengindikasikan bahwa properti siap digunakan. Sebagai ganti mencari transaksi saldo secara terpisah, Anda dapat mengambilnya dalam satu panggilan menggunakan `expand`. > *Pengguna 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) tidak dapat mengambil informasi biaya pembayaran dari transaksi saldo. Gunakan Laporan biaya pembayaran sebagai gantinya. #### curl ```bash curl https://api.stripe.com/v1/payment_intents/pi_1Gpl8kLHughnNhxyIb1RvRTu \ -u <>: \-d "expand[]"="latest_charge.balance_transaction" \ -G ``` Pengguna pada versi API [2022-08-01](https://docs.stripe.com/upgrades.md#2022-08-01) atau lebih lama: #### curl ```bash curl https://api.stripe.com/v1/payment_intents/pi_1Gpl8kLHughnNhxyIb1RvRTu \ -u <>: \-d "expand[]"="charges.data.balance_transaction" \ -G ``` > Sebuah PaymentIntent harus [dicapture](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md#capture-funds) dan memiliki [status](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) `succeeded` agar biaya Stripe tersedia. Saat menggunakan`automatic_async` (`capture_method` default sejak versi `2024-04-10`), transaksi saldo akan dibuat setelah pembayaran berhasil, namun dilakukan secara asinkron di latar belakang. Ini berarti: - Kolom `balance_transaction` pada objek Charge mungkin bernilai `null` segera setelah konfirmasi. - Jika Anda memperluas `balance_transaction` atau `latest_charge.balance_transaction`, data tersebut mungkin belum tersedia dalam respons. - Anda dapat mendengarkan peristiwa `charge.updated` untuk mengetahui kapan transaksi saldo tersedia Perilaku asinkron ini meningkatkan performa pembayaran, namun mengharuskan integrasi Anda untuk menangani kemungkinan bahwa transaksi saldo mungkin belum tersedia secara langsung. ## Lihat charge yang disertakan dalam payout Setiap *payout* (A payout is the transfer of funds to an external account, usually a bank account, in the form of a deposit) otomatis dikaitkan dengan perubahan historis pada saldo akun Stripe Anda. API mencatat perubahan historis ini sebagai [transaksi saldo](https://docs.stripe.com/api/balance_transactions/object.md), yang dapat Anda ambil menggunakan [Daftar Transaksi Saldo](https://docs.stripe.com/api/balance_transactions/list.md). Dari daftar transaksi saldo, Anda dapat memperluas properti [sumber](https://docs.stripe.com/api/balance_transactions/object.md#balance_transaction_object-source) untuk mengumpulkan informasi tentang hal yang memicu perubahan pada saldo akun (Charge, Pengembalian dana, Transfer, dan lain-lain). Misalnya: #### curl ```bash curl https://api.stripe.com/v1/balance_transactions \ -u <>: \ -d payout=po_1Gl3ZLLHughnNhxyDrOia0vI \ -d type=charge \-d "expand[]"="data.source" \ -G ``` > Anda hanya dapat mengambil riwayat transaksi saldo pada payout *otomatis*. Jika payout manual diaktifkan, Anda harus melacak riwayat transaksi sendiri. Pelajari selengkapnya [rekonsiliasi payout](https://docs.stripe.com/payouts/reconciliation.md). Jika menggunakan *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) dengan Destination Charges, Anda dapat mengambil informasi yang sama atas nama akun terhubung. Perbedaannya adalah Destination Charges melibatkan transfer maupun pembayaran yang dikaitkan (dalam bentuk objek Charge) untuk memindahkan dana ke akun terhubung. Jadi, ketika mencantumkan transaksi saldo yang digabungkan dalam payout akun terhubung Anda, setiap sumber transaksi saldo ditautkan pada pembayaran transfer, bukan Charge asal. Untuk mengambil Charge asal, Anda perlu memperluas transfer tertaut pembayaran melalui properti [source_transfer](https://docs.stripe.com/api/charges/object.md#charge_object-source_transfer); dan dari sana, perluas properti [source_transaction](https://docs.stripe.com/api/transfers/object.md#transfer_object-source_transaction) transfer: #### 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 ```