PreparedPayment
data class PreparedPayment(val gatewayId: GatewayId, val orderId: String, val amount: Money, val params: Map<String, String>)
Opaque, provider-specific data produced by PaymentGateway.prepare and handed to PaymentGateway.pay. Each provider stuffs its own session material into params: Razorpay → order_id + key_id; Cashfree → payment_session_id; Stripe → client_secret; UPI intent → the constructed upi:// reference fields.