ユーザーが PayPal で住所を変更すると、PayPal はサーバーに対して AJAX 呼び出しを行い、新しい配送料を取得します。サーバーが PayPal からリクエストを受け取ります。私はこれを機能させています。私のジレンマは、「どうすれば」、「どこで」新しい配送料を PayPal に送り返すかということです。API は、それを送り返す方法を示していません。投稿で?GETで?レンダリングで?render :text を試し、文字列で送信しました “METHOD=CallbackResponseOFFERINSURANCEOPTION=falseL_SHIPPINGOPTIONNAME0=UPS AirL_SHIPPINGOPTIONLABEL0=UPS Next Day Air FreightL_SHIPPINGOPTIONAMOUNT0=20.00&L_TAXAMT0=2.20&L_INSURANCEAMOUNT0=1.51L_SHIPPINGOPTIONISDEFAULT0=true” 配送料のコールバックの方法がない Active Merchant Gem を使用しています。サンドボックスのPayPal URLに送信する同様のメソッドを作成しようとすると、
1 に答える
0
コールバック API を使用する場合、Web サービスとして機能しているため、スクリプトが示したサンプルのような NVP 応答を出力することを確認するだけで済みます。
配送業者の API などを呼び出すことができます。このために POST 呼び出しを行うことになりますが、データをコンパイルしたら、NVP 文字列を生成して画面に表示するだけです。
NVP Web サービスを操作してリクエストを POST したときに返されるものと同じように、そのスクリプトを実行すると、その NVP 文字列だけが出力されます。あなたはちょうど反対側にいるので、その NVP 応答を生成しています。
ただし、私の経験では、コールバック システムはあまり信頼できません。設定できる最大時間は 6 秒であり、PayPal からデータを受信し、サードパーティの API をヒットし、結果を生成して PayPal に送り返すには十分ではありません。それは実際には非常に単純な配送サービスでのみ機能します. そうしないと、タイムアウトになり、SetExpressCheckout で送信された配送オプションがデフォルトになります。
これが役に立つことを願っています。
于 2012-11-13T05:43:15.973 に答える