1

ユーザーが 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に送信する同様のメソッドを作成しようとすると、

4

1 に答える 1

0

コールバック API を使用する場合、Web サービスとして機能しているため、スクリプトが示したサンプルのような NVP 応答を出力することを確認するだけで済みます。

配送業者の API などを呼び出すことができます。このために POST 呼び出しを行うことになりますが、データをコンパイルしたら、NVP 文字列を生成して画面に表示するだけです。

NVP Web サービスを操作してリクエストを POST したときに返されるものと同じように、そのスクリプトを実行すると、その NVP 文字列だけが出力されます。あなたはちょうど反対側にいるので、その NVP 応答を生成しています。

ただし、私の経験では、コールバック システムはあまり信頼できません。設定できる最大時間は 6 秒であり、PayPal からデータを受信し、サードパーティの API をヒットし、結果を生成して PayPal に送り返すには十分ではありません。それは実際には非常に単純な配送サービスでのみ機能します. そうしないと、タイムアウトになり、SetExpressCheckout で送信された配送オプションがデフォルトになります。

これが役に立つことを願っています。

于 2012-11-13T05:43:15.973 に答える