iOS Transaction Details
TransactionDetailsView Microfrontend (iOS)
Part of the DigitalCardEngineSDK Library for iOS (SwiftUI)
TransactionDetailsView renders a single transaction in a card‑like layout that mirrors the design from TransactionHistoryView. Hosts provide the Transaction they want to highlight, and the microfrontend lays out the primary summary (title, amount, timestamp) followed by structured detail rows.
Callbacks
This view is informational only and does not expose callbacks. Use the data that backs the view (for example, the tapped transaction from TransactionHistoryView) to drive navigation.
API surface
public struct TransactionDetailsView: View {
public init(transaction: Transaction) { /* ... */ }
}It derives the row values from the provided Transaction — e.g., payment method, status, merchant category, and address.
Styling
TransactionDetailsView reuses TransactionHistoryViewStyle, so the same padding, spacing, and radius tokens affect both components.
Customization can be done in two ways:
- Global defaults via
StyleConfiguration— Applied to all views across the app - Runtime overrides via method parameters — Passed directly when creating a view, overriding global defaults
When both are provided, runtime parameters take precedence over global configuration.
Global Configuration
let style = sdk.getStyleConfiguration().transactionHistoryViewStyle
style.internalHorizontalPadding = 12
style.internalVerticalPadding = 16
style.radius = 16- Header card inherits
internalHorizontalPadding,internalVerticalPadding, andradius. - Section stacks use
internalGapand inherit the palette/typography fromStyleConfiguration.
Runtime Customization
In addition to global configuration, you can pass style directly to individual views.
Method Signature
func getTransactionDetailsView(
transaction: Transaction,
style: TransactionHistoryViewStyle? = nil
) throws -> AnyViewParameters
style— Optional. Overrides globalTransactionHistoryViewStylefor this view instance.
If not provided, the view falls back to the global configuration from sdk.getStyleConfiguration().
Example: Per-View Customization
struct TransactionDetailsScreen: View {
let sdk: DigitalCardEngine
let transaction: Transaction
var body: some View {
// Custom style for this specific view
let customStyle = TransactionHistoryViewStyle(
internalHorizontalPadding: 20,
internalVerticalPadding: 16,
externalPadding: 16,
internalGap: 20,
radius: 16
)
return try? sdk.getTransactionDetailsView(
transaction: transaction,
style: customStyle
)
.navigationTitle("Transaction Details")
}
}Note: Runtime
styleparameter takes precedence over globalStyleConfiguration. This allows you to have app-wide defaults while customizing specific screens.
Usage Example
import SwiftUI
import DigitalCardEngineSDK
struct TransactionDetailsScreen: View {
let sdk: DigitalCardEngine
let transaction: Transaction
var body: some View {
sdk.getTransactionDetailsView(transaction: transaction)
.navigationTitle("Transaction details")
}
}Use this screen together with TransactionHistoryView by passing the selected transaction into getTransactionDetailsView when the onTransactionClick callback fires.
Updated 3 months ago
