PaypalのActivemerchantでつまづいたとき

checkoutで飛ばしてもInvalidとか言われる
どうやらTokenが生成されていない

こうやってデバッグするらしい
logger.debug "The object is #{setup_response.to_yaml}"

してみたら
ReturnURL is invalid

ってログ(log/development.log)に書いてあった。

よく見ると、url_for(:only_path=>false)で生成されるURLが
http://unicorn_app/(current contoller)になってる。
つまり内部(EC2サーバ)から見た時の絶対パスが指定されてる。
ローカルでやってたときはWebrickだから問題なかったのか。

とりあえず外から見た絶対パスグローバルIPに紐付けたドメイン)を書いといたら動いた。