Class: Stripe::Terminal::Reader

Inherits:
APIResource show all
Extended by:
APIOperations::Create, APIOperations::List
Includes:
APIOperations::Delete, APIOperations::Save
Defined in:
lib/stripe/resources/terminal/reader.rb

Overview

A Reader represents a physical device for accepting payment details.

Related guide: [Connecting to a reader](docs.stripe.com/terminal/payments/connect-reader)

Defined Under Namespace

Classes: Action, TestHelpers

Constant Summary collapse

OBJECT_NAME =
"terminal.reader"

Constants inherited from StripeObject

StripeObject::RESERVED_FIELD_NAMES

Instance Attribute Summary collapse

Attributes inherited from APIResource

#save_with_parent

Attributes inherited from StripeObject

#last_response

Class Method Summary collapse

Instance Method Summary collapse

Methods included from APIOperations::Create

create

Methods included from APIOperations::List

list

Methods included from APIOperations::Save

included, #save

Methods included from APIOperations::Delete

included

Methods inherited from APIResource

class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource

Methods included from APIOperations::Request

included

Methods inherited from StripeObject

#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, field_encodings, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values

Constructor Details

This class inherits a constructor from Stripe::StripeObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject

Instance Attribute Details

#actionObject (readonly)

The most recent action performed by the reader.



607
608
609
# File 'lib/stripe/resources/terminal/reader.rb', line 607

def action
  @action
end

#deletedObject (readonly)

Always true for a deleted object



609
610
611
# File 'lib/stripe/resources/terminal/reader.rb', line 609

def deleted
  @deleted
end

#device_sw_versionObject (readonly)

The current software version of the reader.



611
612
613
# File 'lib/stripe/resources/terminal/reader.rb', line 611

def device_sw_version
  @device_sw_version
end

#device_typeObject (readonly)

Device type of the reader.



613
614
615
# File 'lib/stripe/resources/terminal/reader.rb', line 613

def device_type
  @device_type
end

#idObject (readonly)

Unique identifier for the object.



615
616
617
# File 'lib/stripe/resources/terminal/reader.rb', line 615

def id
  @id
end

#ip_addressObject (readonly)

The local IP address of the reader.



617
618
619
# File 'lib/stripe/resources/terminal/reader.rb', line 617

def ip_address
  @ip_address
end

#labelObject (readonly)

Custom label given to the reader for easier identification.



619
620
621
# File 'lib/stripe/resources/terminal/reader.rb', line 619

def label
  @label
end

#last_seen_atObject (readonly)

The last time this reader reported to Stripe backend. Timestamp is measured in milliseconds since the Unix epoch. Unlike most other Stripe timestamp fields which use seconds, this field uses milliseconds.



621
622
623
# File 'lib/stripe/resources/terminal/reader.rb', line 621

def last_seen_at
  @last_seen_at
end

#livemodeObject (readonly)

If the object exists in live mode, the value is ‘true`. If the object exists in test mode, the value is `false`.



623
624
625
# File 'lib/stripe/resources/terminal/reader.rb', line 623

def livemode
  @livemode
end

#locationObject (readonly)

The location identifier of the reader.



625
626
627
# File 'lib/stripe/resources/terminal/reader.rb', line 625

def location
  @location
end

#metadataObject (readonly)

Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.



627
628
629
# File 'lib/stripe/resources/terminal/reader.rb', line 627

def 
  @metadata
end

#objectObject (readonly)

String representing the object’s type. Objects of the same type share the same value.



629
630
631
# File 'lib/stripe/resources/terminal/reader.rb', line 629

def object
  @object
end

#serial_numberObject (readonly)

Serial number of the reader.



631
632
633
# File 'lib/stripe/resources/terminal/reader.rb', line 631

def serial_number
  @serial_number
end

#statusObject (readonly)

The networking status of the reader. We do not recommend using this field in flows that may block taking payments.



633
634
635
# File 'lib/stripe/resources/terminal/reader.rb', line 633

def status
  @status
end

Class Method Details

.cancel_action(reader, params = {}, opts = {}) ⇒ Object

Cancels the current reader action. See [Programmatic Cancellation](docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details.



646
647
648
649
650
651
652
653
# File 'lib/stripe/resources/terminal/reader.rb', line 646

def self.cancel_action(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/cancel_action", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.collect_inputs(reader, params = {}, opts = {}) ⇒ Object

Initiates an [input collection flow](docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers.



666
667
668
669
670
671
672
673
# File 'lib/stripe/resources/terminal/reader.rb', line 666

def self.collect_inputs(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.collect_payment_method(reader, params = {}, opts = {}) ⇒ Object

Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details.



686
687
688
689
690
691
692
693
# File 'lib/stripe/resources/terminal/reader.rb', line 686

def self.collect_payment_method(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.confirm_payment_intent(reader, params = {}, opts = {}) ⇒ Object



706
707
708
709
710
711
712
713
# File 'lib/stripe/resources/terminal/reader.rb', line 706

def self.confirm_payment_intent(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.create(params = {}, opts = {}) ⇒ Object

Creates a new Reader object.



716
717
718
719
720
721
722
723
# File 'lib/stripe/resources/terminal/reader.rb', line 716

def self.create(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: "/v1/terminal/readers",
    params: params,
    opts: opts
  )
end

.delete(reader, params = {}, opts = {}) ⇒ Object

Deletes a Reader object.



726
727
728
729
730
731
732
733
# File 'lib/stripe/resources/terminal/reader.rb', line 726

def self.delete(reader, params = {}, opts = {})
  request_stripe_object(
    method: :delete,
    path: format("/v1/terminal/readers/%<reader>s", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.field_remappingsObject



920
921
922
# File 'lib/stripe/resources/terminal/reader.rb', line 920

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



916
917
918
# File 'lib/stripe/resources/terminal/reader.rb', line 916

def self.inner_class_types
  @inner_class_types = { action: Action }
end

.list(params = {}, opts = {}) ⇒ Object

Returns a list of Reader objects.



746
747
748
749
750
751
752
753
# File 'lib/stripe/resources/terminal/reader.rb', line 746

def self.list(params = {}, opts = {})
  request_stripe_object(
    method: :get,
    path: "/v1/terminal/readers",
    params: params,
    opts: opts
  )
end

.object_nameObject



16
17
18
# File 'lib/stripe/resources/terminal/reader.rb', line 16

def self.object_name
  "terminal.reader"
end

.process_payment_intent(reader, params = {}, opts = {}) ⇒ Object



766
767
768
769
770
771
772
773
# File 'lib/stripe/resources/terminal/reader.rb', line 766

def self.process_payment_intent(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/process_payment_intent", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.process_setup_intent(reader, params = {}, opts = {}) ⇒ Object

Initiates a SetupIntent flow on a Reader. See [Save directly without charging](docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details.



786
787
788
789
790
791
792
793
# File 'lib/stripe/resources/terminal/reader.rb', line 786

def self.process_setup_intent(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/process_setup_intent", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.refund_payment(reader, params = {}, opts = {}) ⇒ Object

Initiates an in-person refund on a Reader. See [Refund an Interac Payment](docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details.



806
807
808
809
810
811
812
813
# File 'lib/stripe/resources/terminal/reader.rb', line 806

def self.refund_payment(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/refund_payment", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.set_reader_display(reader, params = {}, opts = {}) ⇒ Object

Sets the reader display to show [cart details](docs.stripe.com/docs/terminal/features/display).



826
827
828
829
830
831
832
833
# File 'lib/stripe/resources/terminal/reader.rb', line 826

def self.set_reader_display(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/set_reader_display", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

.update(reader, params = {}, opts = {}) ⇒ Object

Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.



836
837
838
839
840
841
842
843
# File 'lib/stripe/resources/terminal/reader.rb', line 836

def self.update(reader, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s", { reader: CGI.escape(reader) }),
    params: params,
    opts: opts
  )
end

Instance Method Details

#cancel_action(params = {}, opts = {}) ⇒ Object

Cancels the current reader action. See [Programmatic Cancellation](docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details.



636
637
638
639
640
641
642
643
# File 'lib/stripe/resources/terminal/reader.rb', line 636

def cancel_action(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/cancel_action", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#collect_inputs(params = {}, opts = {}) ⇒ Object

Initiates an [input collection flow](docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers.



656
657
658
659
660
661
662
663
# File 'lib/stripe/resources/terminal/reader.rb', line 656

def collect_inputs(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#collect_payment_method(params = {}, opts = {}) ⇒ Object

Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details.



676
677
678
679
680
681
682
683
# File 'lib/stripe/resources/terminal/reader.rb', line 676

def collect_payment_method(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#confirm_payment_intent(params = {}, opts = {}) ⇒ Object



696
697
698
699
700
701
702
703
# File 'lib/stripe/resources/terminal/reader.rb', line 696

def confirm_payment_intent(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#delete(params = {}, opts = {}) ⇒ Object

Deletes a Reader object.



736
737
738
739
740
741
742
743
# File 'lib/stripe/resources/terminal/reader.rb', line 736

def delete(params = {}, opts = {})
  request_stripe_object(
    method: :delete,
    path: format("/v1/terminal/readers/%<reader>s", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#process_payment_intent(params = {}, opts = {}) ⇒ Object



756
757
758
759
760
761
762
763
# File 'lib/stripe/resources/terminal/reader.rb', line 756

def process_payment_intent(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/process_payment_intent", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#process_setup_intent(params = {}, opts = {}) ⇒ Object

Initiates a SetupIntent flow on a Reader. See [Save directly without charging](docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details.



776
777
778
779
780
781
782
783
# File 'lib/stripe/resources/terminal/reader.rb', line 776

def process_setup_intent(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/process_setup_intent", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#refund_payment(params = {}, opts = {}) ⇒ Object

Initiates an in-person refund on a Reader. See [Refund an Interac Payment](docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details.



796
797
798
799
800
801
802
803
# File 'lib/stripe/resources/terminal/reader.rb', line 796

def refund_payment(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/refund_payment", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#set_reader_display(params = {}, opts = {}) ⇒ Object

Sets the reader display to show [cart details](docs.stripe.com/docs/terminal/features/display).



816
817
818
819
820
821
822
823
# File 'lib/stripe/resources/terminal/reader.rb', line 816

def set_reader_display(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/terminal/readers/%<reader>s/set_reader_display", { reader: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#test_helpersObject



845
846
847
# File 'lib/stripe/resources/terminal/reader.rb', line 845

def test_helpers
  TestHelpers.new(self)
end