class Paypal::Express::Request
Public Instance Methods
agree!(token, options = {})
click to toggle source
Reference Transaction Specific
# File lib/paypal/express/request.rb, line 136 def agree!(token, options = {}) params = { :TOKEN => token, :version => Paypal.api_version } if options[:max_amount] params[:MAXAMT] = Util.formatted_amount options[:max_amount] end response = self.request :CreateBillingAgreement, params Response.new response end
agreement(reference_id)
click to toggle source
# File lib/paypal/express/request.rb, line 148 def agreement(reference_id) params = { :REFERENCEID => reference_id, :version => Paypal.api_version } response = self.request :BillAgreementUpdate, params Response.new response end
cancel!(profile_id, options = {})
click to toggle source
# File lib/paypal/express/request.rb, line 125 def cancel!(profile_id, options = {}) renew!(profile_id, :Cancel, options) end
capture!(authorization_id, amount, currency_code, complete_type = 'Complete')
click to toggle source
# File lib/paypal/express/request.rb, line 65 def capture!(authorization_id, amount, currency_code, complete_type = 'Complete') params = { :AUTHORIZATIONID => authorization_id, :COMPLETETYPE => complete_type, :AMT => amount, :CURRENCYCODE => currency_code } response = self.request :DoCapture, params Response.new response end
charge!(reference_id, amount, options = {})
click to toggle source
# File lib/paypal/express/request.rb, line 157 def charge!(reference_id, amount, options = {}) params = { :REFERENCEID => reference_id, :AMT => Util.formatted_amount(amount), :version => Paypal.api_version, :PAYMENTACTION => options[:payment_action] || :Sale } if options[:currency_code] params[:CURRENCYCODE] = options[:currency_code] end response = self.request :DoReferenceTransaction, params Response.new response end
checkout!(token, payer_id, payment_requests)
click to toggle source
# File lib/paypal/express/request.rb, line 52 def checkout!(token, payer_id, payment_requests) params = { :TOKEN => token, :PAYERID => payer_id, :version => Paypal.api_version } Array(payment_requests).each_with_index do |payment_request, index| params.merge! payment_request.to_params(index) end response = self.request :DoExpressCheckoutPayment, params Response.new response end
details(token)
click to toggle source
# File lib/paypal/express/request.rb, line 39 def details(token) response = self.request :GetExpressCheckoutDetails, { :TOKEN => token, :version => Paypal.api_version } Response.new response end
reactivate!(profile_id, options = {})
click to toggle source
# File lib/paypal/express/request.rb, line 129 def reactivate!(profile_id, options = {}) renew!(profile_id, :Reactivate, options) end
refund!(transaction_id, options = {})
click to toggle source
Refund Specific
# File lib/paypal/express/request.rb, line 184 def refund!(transaction_id, options = {}) params = { :TRANSACTIONID => transaction_id, :REFUNDTYPE => :Full, :version => Paypal.api_version } if options[:invoice_id] params[:INVOICEID] = options[:invoice_id] end if options[:type] params[:REFUNDTYPE] = options[:type] params[:AMT] = options[:amount] params[:CURRENCYCODE] = options[:currency_code] end if options[:note] params[:NOTE] = options[:note] end response = self.request :RefundTransaction, params Response.new response end
renew!(profile_id, action, options = {})
click to toggle source
# File lib/paypal/express/request.rb, line 108 def renew!(profile_id, action, options = {}) params = { :PROFILEID => profile_id, :ACTION => action, :version => Paypal.api_version } if options[:note] params[:NOTE] = options[:note] end response = self.request :ManageRecurringPaymentsProfileStatus, params Response.new response end
revoke!(reference_id)
click to toggle source
# File lib/paypal/express/request.rb, line 171 def revoke!(reference_id) params = { :REFERENCEID => reference_id, :BillingAgreementStatus => :Canceled, :version => Paypal.api_version } response = self.request :BillAgreementUpdate, params Response.new response end
setup(payment_requests, return_url, cancel_url, options = {})
click to toggle source
Common
# File lib/paypal/express/request.rb, line 7 def setup(payment_requests, return_url, cancel_url, options = {}) params = { :RETURNURL => return_url, :CANCELURL => cancel_url, :version => Paypal.api_version } if options[:no_shipping] params[:REQCONFIRMSHIPPING] = 0 params[:NOSHIPPING] = 1 end params[:ALLOWNOTE] = 0 if options[:allow_note] == false { :solution_type => :SOLUTIONTYPE, :landing_page => :LANDINGPAGE, :email => :EMAIL, :brand => :BRANDNAME, :locale => :LOCALECODE, :logo => :LOGOIMG, :cart_border_color => :CARTBORDERCOLOR, :payflow_color => :PAYFLOWCOLOR }.each do |option_key, param_key| params[param_key] = options[option_key] if options[option_key] end Array(payment_requests).each_with_index do |payment_request, index| params.merge! payment_request.to_params(index) end response = self.request :SetExpressCheckout, params Response.new response, options end
subscribe!(token, recurring_profile)
click to toggle source
Recurring Payment
Specific
# File lib/paypal/express/request.rb, line 89 def subscribe!(token, recurring_profile) params = { :TOKEN => token, :version => Paypal.api_version } params.merge! recurring_profile.to_params response = self.request :CreateRecurringPaymentsProfile, params Response.new response end
subscription(profile_id)
click to toggle source
# File lib/paypal/express/request.rb, line 99 def subscription(profile_id) params = { :PROFILEID => profile_id, :version => Paypal.api_version } response = self.request :GetRecurringPaymentsProfileDetails, params Response.new response end
suspend!(profile_id, options = {})
click to toggle source
# File lib/paypal/express/request.rb, line 121 def suspend!(profile_id, options = {}) renew!(profile_id, :Suspend, options) end
transaction_details(transaction_id)
click to toggle source
# File lib/paypal/express/request.rb, line 47 def transaction_details(transaction_id) response = self.request :GetTransactionDetails, {:TRANSACTIONID=> transaction_id} Response.new response end
void!(authorization_id, params={})
click to toggle source
# File lib/paypal/express/request.rb, line 77 def void!(authorization_id, params={}) params = { :AUTHORIZATIONID => authorization_id, :NOTE => params[:note] } response = self.request :DoVoid, params Response.new response end