The discoverability is horrible, but in this case there actually is a somewhat accessible way to pay: if you visit
https://united.com/inflightpayment, you can add your card details for a specific flight before the flight (possibly also during the flight using in-flight WiFi, but don't quote me on that).
I actually find it more convenient than presenting a card in person, because my country uses chip-and-pin cards and many American (soft-)POS terminals break when presented with one. There's also less of a chance of my bank arbitrarily flagging the transaction as suspicious.