0

私は有料ユーザーの機能を持っています:

    def pay
    require 'httpclient'
    require 'xmlsimple'
    clnt = HTTPClient.new
    user = User.find(params[:user_id])
    @params_id = params[:user_id]
    credentials = {
        'USER' => 'payer_1342623102_biz_api1.gmail.com',
       'PWD' => '1342623141',
       'SIGNATURE' => 'Ay2zwWYEoiRoHTTVv365EK8U1lNzAESedJw09MPnj0SEIENMKd6jvnKL '
     }

    header =  {"X-PAYPAL-SECURITY-USERID" => "payer_1342623102_biz_api1.gmail.com",
                   "X-PAYPAL-SECURITY-PASSWORD" => "1342623141",
                   "X-PAYPAL-SECURITY-SIGNATURE" => "Ay2zwWYEoiRoHTTVv365EK8U1lNzAESedJw09MPnj0SEIENMKd6jvnKL ",
                   "X-PAYPAL-REQUEST-DATA-FORMAT" => "NV",
                   "X-PAYPAL-RESPONSE-DATA-FORMAT" => "XML",
                   "X-PAYPAL-APPLICATION-ID" =>  "APP-80W284485P519543T"
                    }
    //here is data what is posting to PayPal
    data = {"actionType" => "PAY",
               "receiverList.receiver(0).email"=> user.email,
               "receiverList.receiver(0).amount" => "10",
               "currencyCode" => "USD",
               "cancelUrl" => "http://127.0.0.1:3000/",
               "returnUrl" => "http://127.0.0.1:3000/",          
               "requestEnvelope.errorLanguage" => "en_US"}
    uri = "https://svcs.sandbox.paypal.com/AdaptivePayments/Pay"
    res = clnt.post(uri, data, header)

ドキュメントから:

     Adaptive Payments API operation  - use -
  ipnNotificationUrl field of the Pay or Preapproval request

したがって、データ変数に追加する必要があります。

        "ipnNotificationUrl" => "myaapp.com"//my site url yes ?

このフィールドにサイトの URL を入力する必要がありますか?

この通知から情報を取得する方法

トランザクションが成功した場合にメールを送信してアクションを実行する方法は?

ローカルでテストできませんよね?

サンドボックスでテストするにはどうすればよいですか?

4

1 に答える 1

1

はい、支払いに関する通知を受け取りたい場合は、フィールドを含める必要があります。

外部から到達可能な URL を指定する必要があります (これは、PayPal がサーバーから情報を投稿する場所であるため)。

この URL は PHP ページである可能性があり、IPN を受信して​​検証すると、言及したメールが送信されます。

PayPal からの IPN をシミュレートするには、サンドボックス開発者ページから次のツールを使用できます: https://developer.paypal.com/cgi-bin/devscr?cmd=_ipn-link-session

(または、サンドボックスで購入を完了することができます。API 呼び出しで ipnNotificationURL を指定した場合、PayPal は支払いの完了時に通知を送信します)

于 2012-07-23T01:50:14.520 に答える