Class: Inttegro::Payment

Inherits:
T::Struct
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/inttegro/payment/payment.rb,
lib/inttegro/payment/base.rb,
lib/inttegro/payment/result.rb,
lib/inttegro/payment/status.rb,
lib/inttegro/payment/customer.rb,
lib/inttegro/payment/questions.rb,
lib/inttegro/payment/next_action.rb,
lib/inttegro/payment/latest_error.rb,
lib/inttegro/payment/result_status.rb,
lib/inttegro/payment/attempt_status.rb,
lib/inttegro/payment/latest_attempt.rb,
lib/inttegro/payment/payment_method.rb,
lib/inttegro/payment/billing_details.rb,
lib/inttegro/payment/confirm_request.rb,
lib/inttegro/payment/next_action_type.rb,
lib/inttegro/payment/confirmation_channel.rb,
lib/inttegro/payment/latest_attempt_error.rb,
lib/inttegro/payment/next_action_redirect.rb,
lib/inttegro/payment/payout_configuration.rb,
lib/inttegro/payment/billing_details_owner.rb,
lib/inttegro/payment/method_snapshot_owner.rb,
lib/inttegro/payment/next_action_authorize.rb,
lib/inttegro/payment/next_action_confirm_payment.rb,
lib/inttegro/payment/method_snapshot_bank_account.rb,
lib/inttegro/payment/method_snapshot_mobile_money.rb,
lib/inttegro/payment/next_action_request_confirmation.rb,
lib/inttegro/payment/payout_configuration_destination.rb,
lib/inttegro/payment/next_action_redirect_latest_visit.rb,
lib/inttegro/payment/next_action_confirm_payment_attempt.rb,
lib/inttegro/payment/next_action_confirm_payment_request.rb,
lib/inttegro/payment/next_action_request_confirmation_last_request.rb,
lib/inttegro/payment/method_snapshot_bank_account_ghana_bank_account.rb

Overview

Payment intent tied to this order

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.

Defined Under Namespace

Classes: AttemptStatus, BillingDetails, BillingDetailsOwner, ConfirmRequest, ConfirmationChannel, Customer, LatestAttempt, LatestAttemptError, LatestError, MethodSnapshotBankAccount, MethodSnapshotBankAccountGhanaBankAccount, MethodSnapshotMobileMoney, MethodSnapshotOwner, NextAction, NextActionAuthorize, NextActionConfirmPayment, NextActionConfirmPaymentAttempt, NextActionConfirmPaymentRequest, NextActionRedirect, NextActionRedirectLatestVisit, NextActionRequestConfirmation, NextActionRequestConfirmationLastRequest, NextActionType, PaymentMethod, PayoutConfiguration, PayoutConfigurationDestination, Result, ResultStatus, Status

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#amount ⇒ Inttegro::Money::Amount (readonly)

Value of the amount field in the Inttegro API payload.

Required in the API payload. Wire name: amount.



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#balance_transaction ⇒ Inttegro::BalanceTransaction? (readonly)

Merchant balance entry caused by a payment, refund, or payout. type is the discriminator and describes the semantic source rather than the direction.

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



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#billing_details ⇒ Inttegro::Payment::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.



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#canceled_at ⇒ Time? (readonly)

When payment was canceled

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

Returns:

  • (Time, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#customer ⇒ Inttegro::Payment::Customer? (readonly)

Value of the customer field in the Inttegro API payload.

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

Returns:



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#due_at ⇒ Time? (readonly)

When payment becomes overdue

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

Returns:

  • (Time, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#executed_at ⇒ Time? (readonly)

When payment execution started

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

Returns:

  • (Time, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#expired_at ⇒ Time? (readonly)

When payment expired

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

Returns:

  • (Time, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#failed_at ⇒ Time? (readonly)

When payment failed

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

Returns:

  • (Time, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#id ⇒ String (readonly)

Payment intent ID

Required in the API payload. Wire name: id.

Returns:

  • (String)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#initiated_at ⇒ Time (readonly)

When we kicked off the payment intent

Required in the API payload. Wire name: initiated_at.

Returns:

  • (Time)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#latest_attempt ⇒ Inttegro::Payment::LatestAttempt? (readonly)

Most recent payment attempt details

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



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#latest_error ⇒ Inttegro::Payment::LatestError? (readonly)

Value of the latest_error field in the Inttegro API payload.

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



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#next_action ⇒ Inttegro::Payment::NextAction? (readonly)

Next action required to complete a payment

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



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

When payment completed successfully

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

Returns:

  • (Time, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

Whether payment was recorded as received outside Inttegro

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

Returns:

  • (Boolean, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#payment_method ⇒ Inttegro::Payment::PaymentMethod? (readonly)

Value of the payment_method field in the Inttegro API payload.

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



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#payment_method_types ⇒ Array<String>? (readonly)

Value of the payment_method_types field in the Inttegro API payload.

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

Returns:

  • (Array<String>, nil)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#payout_configuration ⇒ Inttegro::Payment::PayoutConfiguration? (readonly)

Payout configuration for this payment

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



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#statement_descriptor ⇒ String (readonly)

Optional statement descriptor shown on the customer's bank statement

Required in the API payload. Wire name: statement_descriptor.

Returns:

  • (String)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

#status ⇒ Inttegro::Payment::Status (readonly)

Payment state

Required in the API payload. Wire name: status.



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/inttegro/payment/payment.rb', line 153

class Payment
  const :id, String
  const :status, Inttegro::Payment::Status
  const :statement_descriptor, String
  const :amount, Inttegro::Money::Amount
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
  const :payment_method, T.nilable(Inttegro::Payment::PaymentMethod), default: nil
  const :billing_details, T.nilable(Inttegro::Payment::BillingDetails), default: nil
  const :customer, T.nilable(Inttegro::Payment::Customer), default: nil
  const :latest_attempt, T.nilable(Inttegro::Payment::LatestAttempt), default: nil
  const :next_action, T.nilable(Inttegro::Payment::NextAction), default: nil
  const :latest_error, T.nilable(Inttegro::Payment::LatestError), default: nil
  const :initiated_at, Time
  const :executed_at, T.nilable(Time), default: nil
  const :paid_at, T.nilable(Time), default: nil
  const :canceled_at, T.nilable(Time), default: nil
  const :due_at, T.nilable(Time), default: nil
  const :expired_at, T.nilable(Time), default: nil
  const :failed_at, T.nilable(Time), default: nil
  const :paid_offline, T.nilable(T::Boolean), default: nil
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
  const :payout_configuration, T.nilable(Inttegro::Payment::PayoutConfiguration), default: nil
end

Instance Method Details

#paid? ⇒ Boolean

Determine whether the payment status is Status::PAID.

Returns:

  • (Boolean) —

    whether the payment is paid



12
13
14
# File 'lib/inttegro/payment/questions.rb', line 12

def paid?
  status == Inttegro::Payment::Status::PAID
end

#required_action ⇒ Inttegro::Payment::NextAction?

Return the next action only when the payment currently requires action.

Returns:



43
44
45
# File 'lib/inttegro/payment/questions.rb', line 43

def required_action
  requires_action? ? next_action : nil
end

#requires_action? ⇒ Boolean

Determine whether the payment is waiting for customer or merchant action.

Returns:

  • (Boolean) —

    whether the status is Status::REQUIRES_ACTION



20
21
22
# File 'lib/inttegro/payment/questions.rb', line 20

def requires_action?
  status == Inttegro::Payment::Status::REQUIRES_ACTION
end

#terminal? ⇒ Boolean

Determine whether the payment has reached an end state.

Paid, canceled, expired, and failed payments are terminal according to this local predicate.

Returns:

  • (Boolean) —

    whether the current status is terminal



30
31
32
33
34
35
36
37
# File 'lib/inttegro/payment/questions.rb', line 30

def terminal?
  [
    Inttegro::Payment::Status::PAID,
    Inttegro::Payment::Status::CANCELED,
    Inttegro::Payment::Status::EXPIRED,
    Inttegro::Payment::Status::FAILED
  ].include?(status)
end