rails 4.2.6
ruby 2.3.1
NoMethodError:未定義のメソッド `REFUND_REQUEST」#のための<ペイパル:: SDK :: REST ::データ型::支払>
私はRubyのPayPalのSDKを使用していますし、正常に支払いを作成して保存していますpayment_id。払い戻しをしようとすると、次のエラーが表示されます。
NoMethodError: undefined method 'refund_request' for #<PayPal::SDK::REST::DataTypes::Payment>
def self.refund_successful?(payment_id)
require 'paypal-sdk-rest'
include PayPal::SDK::REST
include PayPal::SDK::Core::Logging
PayPal::SDK::REST.set_config(
:mode => "sandbox", # "sandbox" or "live"
:client_id => ENV["paypal_client_id"],
:client_secret => ENV["paypal_client_secret"])
payment = Payment.find(payment_id)
refund = payment.refund_request # <= Error occurs here.
refund = payment.refund_request({}) # <= Also tried this.
if refund.success?
return true
else
return false
end
end
返金額は「フル」量及び「部分的」ではないので、私はrefund_request
方法にどんなのparamsを追加していません。テスト目的のために、私はamount
を追加しましたが、それでも同じエラーが発生しました。
https://github.com/paypal/PayPal-Ruby-SDK/blob/master/samples/sale/refund.rb
ありがとうございましたが、私は実際に 'Payment.refund_successful?(transaction_id)'のようなメソッドを呼び出しています。すべて正常に動作し、PayPal支払いobjは 'payment = Payment.find(payment_id)'で作成されます。この問題は、 'refund_request'が呼び出されたときに発生します。 – rebbailey