SOAP::Lite

Business::PayPal::API::ExpressCheckoutで住所とか氏名とかの日本語が正しく送れない理由

PerlでPayPalのExpressCheckoutを実装するのにBusiness::PayPal::APIを使っているのだけれど、日本語(2byte文字)がうまく送信できない。 UTF-8で送ろうが、フラグ付きにしようが、だ。 散々悩んだ挙句、原因はSOAP::Liteが勝手にbase64エンコードするからだと判明。 Business::PayPal::APIは内部でSOAP::Liteを使用していて、Asciiだとそのままなのだけれど、それ以外はbase64にエンコードする仕様の様子。 前々から、例えば、OrderDescription に日本語を使うと上手くいかないと思っていたのだけれ […]