Class: PayPal::SDK::REST::DataTypes::Sale

Inherits:
Base show all
Includes:
RequestDataType
Defined in:
lib/paypal-sdk/rest/data_types.rb

Constant Summary

Constants inherited from Core::API::DataTypes::Base

Core::API::DataTypes::Base::ContentKey, Core::API::DataTypes::Base::HashOptions

Instance Attribute Summary

Attributes inherited from Base

#error, #header, #request_id

Class Method Summary collapse

Instance Method Summary collapse

Methods included from RequestDataType

#api, api, #error=, included

Methods included from SetAPI

#client_id=, #client_secret=, #set_config, #token=

Methods inherited from Base

#http_header, #merge!, #raise_error!, raise_on_api_error, #success?

Methods inherited from Core::API::DataTypes::Base

add_attribute, add_member, array_of, #convert_array, #convert_object, define_alias_methods, #hash_key, #initialize, #member_names, members, #members, #merge!, object_of, #set, #skip_value?, snakecase, #to_hash, #value_to_hash

Methods included from Core::Logging

#log_event, #logger, logger, logger=

Constructor Details

This class inherits a constructor from PayPal::SDK::Core::API::DataTypes::Base

Class Method Details

.find(resource_id) ⇒ Object

Raises:

  • (ArgumentError)


820
821
822
823
824
# File 'lib/paypal-sdk/rest/data_types.rb', line 820

def find(resource_id)
  raise ArgumentError.new("id required") if resource_id.to_s.strip.empty?
  path = "v1/payments/sale/#{resource_id}"
  self.new(api.get(path))
end

.load_membersObject



790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
# File 'lib/paypal-sdk/rest/data_types.rb', line 790

def self.load_members
  object_of :id, String
  object_of :purchase_unit_reference_id, String
  object_of :amount, Amount
  object_of :payment_mode, String
  object_of :state, String
  object_of :reason_code, String
  object_of :protection_eligibility, String
  object_of :protection_eligibility_type, String
  object_of :clearing_time, String
  object_of :recipient_fund_status, String
  object_of :payment_hold_status, String
  object_of :hold_reason, String
  object_of :transaction_fee, Currency
  object_of :receivable_amount, Currency
  object_of :exchange_rate, String
  object_of :fmf_details, FmfDetails
  object_of :receipt_id, String
  object_of :parent_payment, String
  object_of :create_time, String
  object_of :update_time, String
  array_of  :links, Links
  object_of :billing_agreement_id, String
  object_of :payment_hold_reasons, String
  object_of :processor_response, ProcessorResponse
end

Instance Method Details

#refund(refund) ⇒ Object



827
828
829
830
831
832
# File 'lib/paypal-sdk/rest/data_types.rb', line 827

def refund(refund)
  refund = Refund.new(refund) unless refund.is_a? Refund
  path = "v1/payments/sale/#{self.id}/refund"
  response = api.post(path, refund.to_hash, http_header)
  Refund.new(response)
end

#refund_request(refund_request) ⇒ Object



834
835
836
837
838
839
# File 'lib/paypal-sdk/rest/data_types.rb', line 834

def refund_request(refund_request)
  refund_request = RefundRequest.new(refund_request) unless refund_request.is_a? RefundRequest
  path = "v1/payments/sale/#{self.id}/refund"
  response = api.post(path, refund_request.to_hash, http_header)
  DetailedRefund.new(response)
end