1

Rails3.1でpaypal_adaptivegemを使用して、連鎖支払いを行っています。しかし、http://railscasts.com/episodes/143-paypal-securityを見た後、支払い要求にセキュリティ対策を追加する必要があるのではないかと心配になりました。具体的には、リクエストで送信したアイテムの価格を誰かが操作できるようにしたくありません。もちろん、私は標準のpaypal_adaptivegemリクエストを使用しています。

pay_request = PaypalAdaptive::Request.new

data = {
"returnUrl" => "http://testserver.com/payments/completed_payment_request", 
"requestEnvelope" => {"errorLanguage" => "en_US"},
"currencyCode"=>"USD",  
"receiverList"=>{"receiver"=>[{"email"=>"testpp_1261697850_per@nextsprocket.com",     "amount"=>"10.00"}]},
"cancelUrl"=>"http://testserver.com/payments/canceled_payment_request",
"actionType"=>"PAY",
"ipnNotificationUrl"=>"http://testserver.com/payments/ipn_notification"
}

pay_response = pay_request.pay(data)

if pay_response.success?
  redirect_to pay_response.approve_paypal_payment_url
else
  puts pay_response.errors.first['message']
  redirect_to failed_payment_url
end

私の質問は、ライアンがレールキャストで行うように人々が価格を変更するのを防ぐために、このリクエストを暗号化する必要がありますか?もしそうなら、そうするためにこのコードをどのように操作できますか?

4

1 に答える 1

2

IPN検証は間違いなく良い習慣です。しかし、送信される変数の暗号化に関しては、いいえ、それは必要ありません。

http://railscasts.com/episodes/143-paypal-securityにリストされている例では、Website Payments Standardを使用しています。この場合、暗号化することをお勧めします

ただし、Adaptive Paymentsは、サーバーからPayPalへの一連のサーバー間API呼び出し(「Pay」API)です。購入者に公開される唯一の部分は、購入者が操作できない一時的なトークンであるpayKeyです。

于 2012-01-14T01:06:25.423 に答える