ミニブラウザ経由でチェックアウトを提供するために、Paypals Adaptive Payments と組み込みフロー機能を使用しています。支払いが正常に完了した場合、ユーザーが PAY API 要求で設定された returnUrl にリダイレクトされないことを除いて、すべてがサンドボックス環境で正しく機能しているようです。同様に、cancelUrl についても同様です。
支払いが完了すると、ミニブラウザに注文の概要が表示され、「閉じる」というボタンが表示されます。ユーザーがこのボタンをクリックすると、ミニブラウザが閉じます。
ユーザーがいつでもキャンセルをクリックすると、ミニブラウザが閉じられます。
ポーリングまたは意味をなさない何かを設定する以外に、ページに変更を認識させる方法はないようです。returnUrl と cancelUrl をどこかで使用する必要があります。
これは、リダイレクト URL を取得するための私のコードです (Adaptive Payments gem を使用):
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" });
それはすべて非常に簡単に思えますが、何が欠けているのかわかりません。