9

私はPaypals Adaptive Paymentsと埋め込みフロー機能を使用して、ミニブラウザを介したチェックアウトを提供しています。支払いが正常に完了すると、ユーザーはPAY APIリクエストで設定されたreturnUrlにリダイレクトされませんが、サンドボックス環境ではすべて正常に動作しているようです。同じことが私のcancelUrlにも当てはまります。PayPal埋め込みフローreturnUrlまたはcancelUrlを使用しない

支払いが完了すると、ミニブラウザに注文概要が表示され、「閉じる」というラベルのボタンが表示されます。ユーザーがこのボタンをクリックすると、ミニブラウザは閉じられます。

ユーザーがいつでもキャンセルをクリックすると、ミニブラウザは閉じられます。

ポーリングや何か意味のないものを設定するだけでなく、私のページに変更を認識させる方法がないようですが、私のreturnUrlとcancelUrlはどこかで使うべきでしょうか?

これは(適応支払いの宝石を使用して)リダイレクトURLを取得するための私のコードです:

pay_request = PaypalAdaptive::Request.new 
data = { 
    'requestEnvelope' => {'errorLanguage' => 'en_US'}, 
    'currencyCode' => 'USD', 
    'receiverList' => 
      { 'receiver' => [ 
      {'email' => '...', 'amount'=> 10.00} 
      ]}, 
    'actionType' => 'PAY', 
    'returnUrl' => 'http://www.example.com/paid', 
    'cancelUrl' => 'http://www.example.com/cancelled', 
    'ipnNotificationUrl' => 'http://www.example.com/ipn' 
} 

pay_response = pay_request.pay(data) 
redirect_to pay_response.approve_paypal_payment_url "mini" 

そして、ここでは、私はPayPalのJSを設定しています方法です:

var dg = new PAYPAL.apps.DGFlowMini({ trigger: "buyit", expType: "mini" }); 

それはすべてがかなりいるようですまっすぐ進む、私が紛失しているものがわからない。

+0

また、ペイパルIPNが動作しているように見えますが、返信URLに問題があります。私のウェブページにコールバックがあります。 https://www.paypal.com/us/cgi-bin/webscr?cmd=p/acc/ipn-info-outside – Ron

答えて

9

私たちの側にはバグがあるようです。自分で試してみて、統合チームに確認してください。 :-(

残念ながら、あなたが言いました(ポップアップウィンドウの存在をチェックする)以外の短期的な修正は、あなたのサーバー側からPaymentDetails APIを呼び出して、お支払い私たちの側にバグを開いたが、ETAを持っていない

編集10/18:私が間違って申し訳ありませんがこれは働いている - それが私たちの開発者ガイドがすべて提供されていないことだけです。。。ミニブラウザの場合は、 'callbackFunction'を指定し、dgFlow変数に 'dgFlowMini'という名前を付ける必要があります(後者は重要です - apdg.jsは 'dgFlowMini'変数を期待しています定義されている)次に動作するコードを示します。

var returnFromPayPal = function(){ 
    alert("Returned from PayPal"); 
    // Here you would need to pass on the payKey to your server side handle to call the PaymentDetails API to make sure Payment has been successful or not 
    // based on the payment status- redirect to your success or cancel/failed urls 
} 
var dgFlowMini = new PAYPAL.apps.DGFlowMini({trigger: 'em_authz_button', expType: 'mini', callbackFunction: 'returnFromPayPal'}); 

は、私はここでの作業サンプルを持っている:https://pp-ap-sample.appspot.com/adaptivesample?action=payは(あなたが経験の種類としてミニを選択してください)

我々は、我々のドキュメントが更新されますし、また、クリーンアップapdg.jsはJS変数に依存関係を削除する

名。

+0

はい、実際にはapdg.jsのローカルコピーを作成し、私のニーズに合わせて修正しました。他にもいくつかの問題がありますが、isOpenはあなたが思うことをしません。ユーザーがpaypalボタンをクリックすると、私はpaypalをポーリングする私のサーバーをポーリングする、インターバルされたajaxリクエストを持っています。これは、支払いが完了したときを知る唯一の信頼できる方法です。 –

+0

@Praveen私も同様の問題に直面しています。私の場合は、IOSネイティブアプリケーションで実装しています。私のアプリケーション内のUIWebiew内にミニブラウザが読み込まれます。支払いの作成中に、cancel urlとreturnUrlが指定されます。しかし、支払い/キャンセルの完了時に、それはリターンまたはURLをキャンセルするにリダイレクトされていません。 – arundevma

+0

ミニフローでは、返品とキャンセルのURLは使用されていないことも確認されていますか?これに関する文書は明確ではない。 –

2

組み込みフローのPayPalエクスペリエンスが悪化しているように見えます。 「支払いが完了できません。現在この機能は利用できません」というミニライトまたはライトボックスを呼び出した後、エラーメッセージが表示されます。

+5

ええ、ええ、PayPalのAPIは完全な馬小屋です。彼らは誰も気にしない怠惰な盗難の束です。 –

関連する問題