なぜこれがそれほど複雑なのかわかりませんが、ユーザーが Ubercart で支払い方法を変更したときに、注文に項目を追加したいだけです。支払い方法に次の行を追加することで、これを行うことができました。
uc_order_line_item_add($order->order_id, '玄関先で支払う','玄関先で支払う',5);
これにより、項目が追加されたように見えますが、注文合計は更新されません。ページを更新すると、そこに項目が追加されていることがわかります。明らかに、画面を更新したくありません。支払い方法のコールバック中に新しい注文の合計と項目を表示したいのです。これは jquery を呼び出すことで実現できると思いますが、Google で役立つものは見つかりませんでした。
誰か助けてくれませんか?