2012-11-21 12 views
8

Paypal'dan bir bildirim aldığımda, Paypal'dan olduğundan emin olmak için onu Paypal'a geri gönderirim. kod iyi çalışıyor ve ben sorunum yok:raylar paypal bildirimi doğrulamak Japonca

# payment_notifications_controller.rb # notification_validation, line 90 
response = RestClient.post(PAYPAL_CONFIG["url_validate"], params.merge({"cmd" => "_notify-validate"}), :content_type => "application/x-www-form-urlencoded") 

kullanıcı Japon bir ada sahip olduğunda sorundur.

ArgumentError (invalid byte sequence in UTF-8): 
app/controllers/payment_notifications_controller.rb:90::in `notification_validation' 

O var: (Bu Paypal geldi emin olmak için)

Parameters: {"last_name"=>"\x8F\xBC\x8C\xB4", "payment_cycle"=>"Daily", "next_payment_date".... 

Ben Paypal geri göndermek çalışıyorum, bu hatayı vardır: (Paypal dan) Bildirim gibi alınan RestClient, "\ x8F \ xBC \ x8C \ xB4" ifadesini beğenmiyormuş gibi. : content_type => "shift_jis" ve ayrıca "utf-8" eklemeyi denedim, ancak her zaman bu hataya sahibim.

ben böyle bir şey yapmak: Paypal "almak için bekliyordu muhtemelen

params[:last_name] = params[:last_name].encode("UTF-8", "Shift_JIS") 
# now params[:last_name] is 松原 

Sonra RestClient.post Paypal göndermek, ancak Paypal bir hata (GEÇERSİZ) return \ x8F XBc \ x8C \ \ xB4 "ve" "değil".

Bunu nasıl çözebileceğimle ilgili bir fikriniz var mı?

düzenleme:

cevap

9

paypal forum yüzden ben çözüm buldum üzerinde Ben de gönderebilir.

Use the following drop-down menu to select the encoding used on your website.

Encoding: Shift_JIS

Do you want to use the same encoding for data sent from PayPal to you (e.g., IPN, downloadable logs, emails)?

NO, use: UTF-8

Şimdi "doğrulanmış" elde edebilir kulüpler> PayPal düğmesi dil kodlaması> Diğer seçenekler Profil> My satış araçları:

satıcının PayPal hesabında gidin.