paypal

paypalAPIバージョンは
http://d.hatena.ne.jp/hokaccha/20120213/1329107283
さんによると、
https://www.x.com/developers/paypal/forums/nvp/latest-paypal-api-version-api-calls
に書いてあるらしい。
おい、そんなこと知らんかったぞ。
Document に書いといてくれよー。

あ、これは違っていて、最新版は paypal のどこでもいいから、TOPページなどのソースに書かれている。
web version: 88.0-2849757 branch: UPR_880_int
で、88.0 になるそうだ。

で、やっととれた


def kansuu(params)
require 'httpclient'

client = HTTPClient.new
client.debug_dev = STDOUT
client.ssl_config.verify_mode = nil
params = {
'USER' => Settings.PAYPAL_USER,
'PWD' => Settings.PAYPAL_PWD,
'SIGNATURE' => Settings.PAYPAL_SIGNATURE,
'VERSION' => Settings.PAYPAL_VERSION,
'PAYMENTREQUEST_0_AMT' => params[:amount],
'PAYMENTREQUEST_0_PAYMENTACTION' => 'Sale',
'REQCONFIRMSHIPPING' => Settings.PAYPAL_REQCONFIRMSHIPPING,
'NOSHIPPING' => Settings.PAYPAL_NOSHIPPING,
'RETURNURL' => params[:return_url],
'CANCELURL' => params[:cancel_url],
'METHOD' => Settings.PAYPAL_SET_METHOD
}
return client.post(Settings.URL_SET_EXPRESS_CHECKOUT, params)

return_url と cancel_url が設定されてなかったので

"body={\"TIMESTAMP\"=>\"2012-04-25T02:56:09Z\", \"CORRELATIONID\"=>\"26c0d0904a91b\", \"ACK\"=>\"Failure\", \"VERSION\"=>\"88.0\", \"BUILD\"=>\"2840849\", \"L_ERRORCODE0\"=>\"10400\", \"L_SHORTMESSAGE0\"=>\"Transaction refused because of an invalid argument. See additional error messages for details.\", \"L_LONGMESSAGE0\"=>\"Order total is missing.\", \"L_SEVERITYCODE0\"=>\"Error\"}"
というエラーになっていたようだ。
なんか違うことを言われてる・・・