class PaymentRecipes::PayPal::SOAP::Action::PerformDirectPayment
Public Instance Methods
load_transaction()
click to toggle source
# File lib/payment_recipes/paypal/soap/action/perform_direct_payment.rb, line 53 def load_transaction store(:transaction) do ::PaymentRecipes::PayPal::SOAP::Transaction.find(response.transaction_id) end end
modify_details()
click to toggle source
# File lib/payment_recipes/paypal/soap/action/perform_direct_payment.rb, line 27 def modify_details unless [:sale, :authorize].include?(intent) raise Exception, "Allowed values for intent: :sale, :authorize" end store(:direct_payment_details) do payment_action = if intent == :sale 'Sale' elsif intent == :authorize 'Authorization' end details[:DoDirectPaymentRequestDetails][:PaymentAction] = payment_action details end end
perform()
click to toggle source
# File lib/payment_recipes/paypal/soap/action/perform_direct_payment.rb, line 9 def perform prepare_soap_api modify_details perform_request if response.success? load_transaction end response end
perform_request()
click to toggle source
# File lib/payment_recipes/paypal/soap/action/perform_direct_payment.rb, line 45 def perform_request do_direct_payment = api.build_do_direct_payment(direct_payment_details) store(:response) do api.do_direct_payment(do_direct_payment) end end
prepare_soap_api()
click to toggle source
# File lib/payment_recipes/paypal/soap/action/perform_direct_payment.rb, line 21 def prepare_soap_api store(:api) do ::PaymentRecipes::PayPal::SOAP::Settings.api end end