ミニブラウザで PayPal Adaptive Payments を使用する Ruby On Rails モバイル アプリを使用しています。このアプリは、iPhone の Safari で実行すると正常に動作します。支払いが完了した後 (またはキャンセルされた場合)、returnFromPaypalコールバック関数が実行され、ユーザーは予約ページにリダイレクトされます。
ただし、フルスクリーン モードでアプリを実行すると (ホーム画面に保存されたアイコンから、意図した操作モードになります)、支払いをキャンセルするか完了すると、PayPal ページでアプリがハングします。 「少々お待ちください。このウィンドウは自動的に閉じます」と「戻る」というメッセージがそれぞれ表示されます。
以下は私の支払いページの .haml ビューです (申し訳ありませんが HTML バージョンはありません)。
何が起こっているのか誰にも分かりますか?ありがとうございました!
= javascript_include_tag src="https://www.paypalobjects.com/js/external/apdg.js"
#edit_payment.current
.scroll
%ul
%li
= form_tag "https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay", :method=>'get', :target=>"PPDGFrame", :class=>"standard" do
= hidden_field_tag :type, "mini", :name=>"expType"
= hidden_field_tag :paykey, @pay_key, :name=>"paykey"
= image_submit_tag "paypal_button.jpg", :id=>"submitBtn", :class=>"submit"
:javascript
var returnFromPayPal = function(){
window.location.href = get_full_url("#{room_reservation_path(@room,@reservation)}");
};
var dgFlowMini = new PAYPAL.apps.DGFlowMini({trigger: 'submitBtn',expType: 'mini', callbackFunction: 'returnFromPayPal'});
スクリーンショットの完了 http://ec2-23-21-163-203.compute-1.amazonaws.com/images/scrn_complete.png スクリーンショットのキャンセル http://ec2-23-21-163-203.compute-1.amazonaws .com/images/scrn_canceled.png