Class: Inttegro::Order::CreateExistingCustomer

Inherits:
T::Struct
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/inttegro/order/create_existing_customer.rb

Overview

Typed representation of the create existing customer object in the Inttegro API.

This generated model is immutable. Construct it with .new, or decode a string-keyed API payload with .from_hash. #serialize produces a string-keyed hash using the original wire field names and serialized enum values.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#billing_details ⇒ Inttegro::Shared::BillingDetails? (readonly)

Value of the billing_details field in the Inttegro API payload.

Optional in the API payload; omitted values default to nil. Wire name: billing_details.



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#checkout_settings ⇒ Inttegro::Order::CreateExistingCustomerCheckoutSettings? (readonly)

Checkout and payment flow configuration. Strongly recommended to provide both redirect_url and cancel_url for a delightful customer experience.

Optional in the API payload; omitted values default to nil. Wire name: checkout_settings.



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#custom_data ⇒ Inttegro::CustomData? (readonly)

Merchant-defined string values attached to a resource. SDKs expose this as a semantic collection rather than a raw map.

Optional in the API payload; omitted values default to nil. Wire name: custom_data.

Returns:



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#customer_id ⇒ String (readonly)

ID of existing customer

Required in the API payload. Wire name: customer_id.

Returns:

  • (String)


129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#execute_payment ⇒ Boolean? (readonly)

Whether to execute payment immediately

Optional in the API payload; omitted values default to nil. Wire name: execute_payment.

Returns:

  • (Boolean, nil)


129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#finalize ⇒ Boolean? (readonly)

Whether to explicitly finalize the order. When true, the order is finalized regardless of payment state. When false or omitted, finalization follows default heuristics (finalize if payment is executable).

Optional in the API payload; omitted values default to nil. Wire name: finalize.

Returns:

  • (Boolean, nil)


129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#invoice_settings ⇒ Inttegro::Shared::InvoiceSettings? (readonly)

Order-level invoice rendering data. Pages uses this data when rendering invoice web and download views.

Optional in the API payload; omitted values default to nil. Wire name: invoice_settings.



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#line_items ⇒ Array<Inttegro::Shared::LineItem> (readonly)

Value of the line_items field in the Inttegro API payload.

Required in the API payload. Wire name: line_items.

Returns:



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#payment_method_data ⇒ Inttegro::PaymentMethod::Data? (readonly)

New payment instrument details to use instead of a saved payment method.

Optional in the API payload; omitted values default to nil. Wire name: payment_method_data.



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#payment_method_id ⇒ String? (readonly)

ID of saved payment method to use

Optional in the API payload; omitted values default to nil. Wire name: payment_method_id.

Returns:

  • (String, nil)


129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#payout_settings ⇒ Inttegro::Order::PayoutSettingsRequest? (readonly)

Value of the payout_settings field in the Inttegro API payload.

Optional in the API payload; omitted values default to nil. Wire name: payout_settings.



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#receipt_number ⇒ String? (readonly)

Optional receipt number for downstream reconciliation. Uses the same length rules as number.

Optional in the API payload; omitted values default to nil. Wire name: receipt_number.

Returns:

  • (String, nil)


129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#request_meta ⇒ Inttegro::Order::CreateExistingCustomerRequestMeta? (readonly)

Optional metadata controlling request processing

Optional in the API payload; omitted values default to nil. Wire name: request_meta.



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#shipping ⇒ Inttegro::Shared::Shipping? (readonly)

Value of the shipping field in the Inttegro API payload.

Optional in the API payload; omitted values default to nil. Wire name: shipping.

Returns:



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#statement_descriptor ⇒ String? (readonly)

Optional statement descriptor shown on the customer's bank statement

Optional in the API payload; omitted values default to nil. Wire name: statement_descriptor.

Returns:

  • (String, nil)


129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

#statement_descriptor_prefix ⇒ String? (readonly)

Optional static prefix used to build the statement descriptor as prefix*order_id. Mutually exclusive with statement_descriptor.

Optional in the API payload; omitted values default to nil. Wire name: statement_descriptor_prefix.

Returns:

  • (String, nil)


129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/inttegro/order/create_existing_customer.rb', line 129

class CreateExistingCustomer < T::Struct
  const :customer_id, String
  const :payment_method_id, T.nilable(String), default: nil
  const :payment_method_data, T.nilable(Inttegro::PaymentMethod::Data), default: nil
  const :receipt_number, T.nilable(String), default: nil
  const :statement_descriptor, T.nilable(String), default: nil
  const :statement_descriptor_prefix, T.nilable(String), default: nil
  const :execute_payment, T.nilable(T::Boolean), default: nil
  const :finalize, T.nilable(T::Boolean), default: nil
  const :request_meta, T.nilable(Inttegro::Order::CreateExistingCustomerRequestMeta), default: nil
  const :checkout_settings, T.nilable(Inttegro::Order::CreateExistingCustomerCheckoutSettings), default: nil
  const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
  const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
  const :line_items, T::Array[Inttegro::Shared::LineItem]
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
  const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
  const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil

  extend T::Sig

  sig { params(hash: T::Hash[String, Object], strict: T::Boolean).returns(T.attached_class) }
  def self.from_hash(hash, strict = false)
    data = hash.dup
    if (line_items_value = data["line_items"]).is_a?(Array)
      data["line_items"] = line_items_value.map do |item|
        next item unless item.is_a?(Hash)
        case item["type"]
        when "product"
          Inttegro::Product::LineItem.from_hash(item)
        when "fee"
          Inttegro::Shared::FeeLineItem.from_hash(item)
        when "shipping"
          Inttegro::Shared::ShippingLineItem.from_hash(item)
        else
          item
        end
      end
    end
    super(data, strict)
  end
end

Class Method Details

.from_hash(hash, strict = false) ⇒ Object



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/inttegro/order/create_existing_customer.rb', line 150

def self.from_hash(hash, strict = false)
  data = hash.dup
  if (line_items_value = data["line_items"]).is_a?(Array)
    data["line_items"] = line_items_value.map do |item|
      next item unless item.is_a?(Hash)
      case item["type"]
      when "product"
        Inttegro::Product::LineItem.from_hash(item)
      when "fee"
        Inttegro::Shared::FeeLineItem.from_hash(item)
      when "shipping"
        Inttegro::Shared::ShippingLineItem.from_hash(item)
      else
        item
      end
    end
  end
  super(data, strict)
end