class ActivePayment::Gateways::PaypalAdaptivePayment
Attributes
purchase_token[RW]
sales[RW]
Public Class Methods
new()
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 12 def initialize @gateway = ActiveMerchant::Billing::PaypalAdaptivePayment.new(paypal_options) end
Public Instance Methods
external_id_from_request(request)
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 38 def external_id_from_request(request) notify = ActiveMerchant::Billing::Integrations::PaypalAdaptivePayment.notification(request.raw_post) notify.params['pay_key'] end
livemode?()
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 34 def livemode? ActiveMerchant::Billing::Base.mode != :test end
setup_purchase(sales)
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 16 def setup_purchase(sales) @sales = sales response = @gateway.setup_purchase(purchase_data(sales)) raise ActivePayment::InvalidGatewayResponseError.new(response) unless response.success? @purchase_token = response['payKey'] @gateway.set_payment_options(payment_options_data(@purchase_token, @sales)) @gateway.redirect_url_for(response['payKey']) end
verify_purchase(params)
click to toggle source
return boolean
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 28 def verify_purchase(params) notify = ActiveMerchant::Billing::Integrations::PaypalAdaptivePayment.notification(params) notify.acknowledge && notify.complete? end
Private Instance Methods
cancel_return_url()
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 77 def cancel_return_url url_for(controller: 'active_payment/paypal_adaptive_payment_callback', action: :cancel, only_path: false, host: ActivePayment.configuration.default_url_host) end
ipn_notification_url()
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 81 def ipn_notification_url url_for(controller: 'active_payment/paypal_adaptive_payment_callback', action: :ipn, only_path: false, host: ActivePayment.configuration.default_url_host) end
payment_options_data(key, sales)
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 66 def payment_options_data(key, sales) { pa_key: key, receiver_options: sales.paypal_hash, } end
paypal_options()
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 46 def paypal_options { action_type: "CREATE", login: ActivePayment.configuration.paypal_login, password: ActivePayment.configuration.paypal_password, signature: ActivePayment.configuration.paypal_signature, appid: ActivePayment.configuration.paypal_appid } end
purchase_data(sales)
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 56 def purchase_data(sales) { return_url: return_url, cancel_url: cancel_return_url, ipn_notification_url: ipn_notification_url, receiver_list: sales.paypal_recipients, currency_code: sales.currency } end
return_url()
click to toggle source
# File lib/active_payment/gateways/paypal_adaptive_payment.rb, line 73 def return_url url_for(controller: 'active_payment/paypal_adaptive_payment_callback', action: :success, only_path: false, host: ActivePayment.configuration.default_url_host) end