pub fn ser_payment_input(
object_3: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::PaymentInput,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
match input {
crate::types::PaymentInput::CryptoX402(inner) => {
#[allow(unused_mut)]
let mut object_1 = object_3.key("cryptoX402").start_object();
crate::protocol_serde::shape_crypto_x402_payment_input::ser_crypto_x402_payment_input(&mut object_1, inner)?;
object_1.finish();
}
crate::types::PaymentInput::Unknown => return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant("PaymentInput")),
}
Ok(())
}