Class: LockstepSdk::PaymentModel

Inherits:
Object
  • Object
show all
Defined in:
lib/lockstep_sdk/models/payment_model.rb

Overview

A Payment represents money sent from one company to another. A single payment may contain payments for one or more invoices; it is also possible for payments to be made in advance of an invoice, for example, as a deposit. The creator of the Payment is identified by the `CustomerId` field, and the recipient of the Payment is identified by the `CompanyId` field. Most Payments are uniquely identified both by a Lockstep Platform ID number and a customer ERP “key” that was generated by the system that originated the Payment. Payments that have not been fully applied have a nonzero `UnappliedAmount` value, which represents a deposit that has been paid and not yet applied to an Invoice.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ PaymentModel

Initialize the PaymentModel using the provided prototype



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/lockstep_sdk/models/payment_model.rb', line 32

def initialize(params = {})
    @group_key = params.dig(:group_key)
    @payment_id = params.dig(:payment_id)
    @company_id = params.dig(:company_id)
    @erp_key = params.dig(:erp_key)
    @payment_type = params.dig(:payment_type)
    @tender_type = params.dig(:tender_type)
    @is_open = params.dig(:is_open)
    @memo_text = params.dig(:memo_text)
    @payment_date = params.dig(:payment_date)
    @post_date = params.dig(:post_date)
    @payment_amount = params.dig(:payment_amount)
    @unapplied_amount = params.dig(:unapplied_amount)
    @currency_code = params.dig(:currency_code)
    @reference_code = params.dig(:reference_code)
    @created = params.dig(:created)
    @created_user_id = params.dig(:created_user_id)
    @modified = params.dig(:modified)
    @modified_user_id = params.dig(:modified_user_id)
    @app_enrollment_id = params.dig(:app_enrollment_id)
    @is_voided = params.dig(:is_voided)
    @in_dispute = params.dig(:in_dispute)
    @applications = params.dig(:applications)
    @notes = params.dig(:notes)
    @attachments = params.dig(:attachments)
    @custom_field_definitions = params.dig(:custom_field_definitions)
    @custom_field_values = params.dig(:custom_field_values)
end

Instance Attribute Details

#app_enrollment_idUuid

Returns AppEnrollmentId for this record; used for mapping purposes.

Returns:

  • (Uuid)

    AppEnrollmentId for this record; used for mapping purposes.



98
99
100
# File 'lib/lockstep_sdk/models/payment_model.rb', line 98

def app_enrollment_id
  @app_enrollment_id
end

#applicationsPaymentAppliedModel

Returns All applications this payment is associated with. To retrieve this collection, specify `Applications` in the “Include” parameter for your query.

Returns:

  • (PaymentAppliedModel)

    All applications this payment is associated with. To retrieve this collection, specify `Applications` in the “Include” parameter for your query.



104
105
106
# File 'lib/lockstep_sdk/models/payment_model.rb', line 104

def applications
  @applications
end

#attachmentsAttachmentModel

Returns All attachments attached to this payment. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.

Returns:

  • (AttachmentModel)

    All attachments attached to this payment. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.



108
109
110
# File 'lib/lockstep_sdk/models/payment_model.rb', line 108

def attachments
  @attachments
end

#company_idUuid

Returns The ID of the company to which this payment belongs.

Returns:

  • (Uuid)

    The ID of the company to which this payment belongs.



66
67
68
# File 'lib/lockstep_sdk/models/payment_model.rb', line 66

def company_id
  @company_id
end

#createdDate-time

Returns The date on which this record was created.

Returns:

  • (Date-time)

    The date on which this record was created.



90
91
92
# File 'lib/lockstep_sdk/models/payment_model.rb', line 90

def created
  @created
end

#created_user_idUuid

Returns The ID of the user who created this payment.

Returns:

  • (Uuid)

    The ID of the user who created this payment.



92
93
94
# File 'lib/lockstep_sdk/models/payment_model.rb', line 92

def created_user_id
  @created_user_id
end

#currency_codeString

Returns Currency of the payment. This will be validated by the /api/v1/currencies data set.

Returns:

  • (String)

    Currency of the payment. This will be validated by the /api/v1/currencies data set



86
87
88
# File 'lib/lockstep_sdk/models/payment_model.rb', line 86

def currency_code
  @currency_code
end

#custom_field_definitionsCustomFieldDefinitionModel

Returns All definitions attached to this payment. To retrieve this collection, specify `CustomFieldValues` in the “Include” parameter for your query.

Returns:

  • (CustomFieldDefinitionModel)

    All definitions attached to this payment. To retrieve this collection, specify `CustomFieldValues` in the “Include” parameter for your query.



110
111
112
# File 'lib/lockstep_sdk/models/payment_model.rb', line 110

def custom_field_definitions
  @custom_field_definitions
end

#custom_field_valuesCustomFieldValueModel

Returns All values attached to this payment. To retrieve this collection, specify `CustomFieldValues` in the “Include” parameter for your query.

Returns:

  • (CustomFieldValueModel)

    All values attached to this payment. To retrieve this collection, specify `CustomFieldValues` in the “Include” parameter for your query.



112
113
114
# File 'lib/lockstep_sdk/models/payment_model.rb', line 112

def custom_field_values
  @custom_field_values
end

#erp_keyString

Returns The unique ID of this record as it was known in its originating financial system. If this company record was imported from a financial system, it will have the value `ErpKey` set to the original primary key number of the record as it was known in the originating financial system. If this record was not imported, this value will be `null`. For more information, see [Identity Columns](developer.lockstep.io/docs/identity-columns).

Returns:

  • (String)

    The unique ID of this record as it was known in its originating financial system. If this company record was imported from a financial system, it will have the value `ErpKey` set to the original primary key number of the record as it was known in the originating financial system. If this record was not imported, this value will be `null`. For more information, see [Identity Columns](developer.lockstep.io/docs/identity-columns).



68
69
70
# File 'lib/lockstep_sdk/models/payment_model.rb', line 68

def erp_key
  @erp_key
end

#group_keyUuid

Returns The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).

Returns:

  • (Uuid)

    The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).



62
63
64
# File 'lib/lockstep_sdk/models/payment_model.rb', line 62

def group_key
  @group_key
end

#in_disputeBoolean

Returns Is the payment in dispute?.

Returns:

  • (Boolean)

    Is the payment in dispute?



102
103
104
# File 'lib/lockstep_sdk/models/payment_model.rb', line 102

def in_dispute
  @in_dispute
end

#is_openBoolean

Returns Has the payment been fully applied?.

Returns:

  • (Boolean)

    Has the payment been fully applied?



74
75
76
# File 'lib/lockstep_sdk/models/payment_model.rb', line 74

def is_open
  @is_open
end

#is_voidedBoolean

Returns Is the payment voided?.

Returns:

  • (Boolean)

    Is the payment voided?



100
101
102
# File 'lib/lockstep_sdk/models/payment_model.rb', line 100

def is_voided
  @is_voided
end

#memo_textString

Returns Memo or reference text (ex. memo field on a check).

Returns:

  • (String)

    Memo or reference text (ex. memo field on a check).



76
77
78
# File 'lib/lockstep_sdk/models/payment_model.rb', line 76

def memo_text
  @memo_text
end

#modifiedDate-time

Returns The date on which this record was last modified.

Returns:

  • (Date-time)

    The date on which this record was last modified.



94
95
96
# File 'lib/lockstep_sdk/models/payment_model.rb', line 94

def modified
  @modified
end

#modified_user_idUuid

Returns The ID of the user who last modified this payment.

Returns:

  • (Uuid)

    The ID of the user who last modified this payment.



96
97
98
# File 'lib/lockstep_sdk/models/payment_model.rb', line 96

def modified_user_id
  @modified_user_id
end

#notesNoteModel

Returns All notes attached to this payment. To retrieve this collection, specify `Notes` in the “Include” parameter for your query.

Returns:

  • (NoteModel)

    All notes attached to this payment. To retrieve this collection, specify `Notes` in the “Include” parameter for your query.



106
107
108
# File 'lib/lockstep_sdk/models/payment_model.rb', line 106

def notes
  @notes
end

#payment_amountDouble

Returns Total amount of this payment.

Returns:

  • (Double)

    Total amount of this payment.



82
83
84
# File 'lib/lockstep_sdk/models/payment_model.rb', line 82

def payment_amount
  @payment_amount
end

#payment_dateDate

Returns The date of this payment.

Returns:

  • (Date)

    The date of this payment.



78
79
80
# File 'lib/lockstep_sdk/models/payment_model.rb', line 78

def payment_date
  @payment_date
end

#payment_idUuid

Returns The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform. For the ID of this record in its originating financial system, see `ErpKey`.

Returns:

  • (Uuid)

    The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform. For the ID of this record in its originating financial system, see `ErpKey`.



64
65
66
# File 'lib/lockstep_sdk/models/payment_model.rb', line 64

def payment_id
  @payment_id
end

#payment_typeString

Returns The type of payment, cash or check.

Returns:

  • (String)

    The type of payment, cash or check.



70
71
72
# File 'lib/lockstep_sdk/models/payment_model.rb', line 70

def payment_type
  @payment_type
end

#post_dateDate

Returns Payment post date.

Returns:

  • (Date)

    Payment post date.



80
81
82
# File 'lib/lockstep_sdk/models/payment_model.rb', line 80

def 
  @post_date
end

#reference_codeString

Returns Reference code for the payment for the given Erp system.

Returns:

  • (String)

    Reference code for the payment for the given Erp system.



88
89
90
# File 'lib/lockstep_sdk/models/payment_model.rb', line 88

def reference_code
  @reference_code
end

#tender_typeString

Returns Cash, check, credit card, wire transfer.

Returns:

  • (String)

    Cash, check, credit card, wire transfer.



72
73
74
# File 'lib/lockstep_sdk/models/payment_model.rb', line 72

def tender_type
  @tender_type
end

#unapplied_amountDouble

Returns Unapplied balance of this payment.

Returns:

  • (Double)

    Unapplied balance of this payment.



84
85
86
# File 'lib/lockstep_sdk/models/payment_model.rb', line 84

def unapplied_amount
  @unapplied_amount
end

Instance Method Details

#as_json(options = {}) ⇒ object

Returns This object as a JSON key-value structure.

Returns:

  • (object)

    This object as a JSON key-value structure



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/lockstep_sdk/models/payment_model.rb', line 115

def as_json(options={})
    {
        'groupKey' => @group_key,
        'paymentId' => @payment_id,
        'companyId' => @company_id,
        'erpKey' => @erp_key,
        'paymentType' => @payment_type,
        'tenderType' => @tender_type,
        'isOpen' => @is_open,
        'memoText' => @memo_text,
        'paymentDate' => @payment_date,
        'postDate' => @post_date,
        'paymentAmount' => @payment_amount,
        'unappliedAmount' => @unapplied_amount,
        'currencyCode' => @currency_code,
        'referenceCode' => @reference_code,
        'created' => @created,
        'createdUserId' => @created_user_id,
        'modified' => @modified,
        'modifiedUserId' => @modified_user_id,
        'appEnrollmentId' => @app_enrollment_id,
        'isVoided' => @is_voided,
        'inDispute' => @in_dispute,
        'applications' => @applications,
        'notes' => @notes,
        'attachments' => @attachments,
        'customFieldDefinitions' => @custom_field_definitions,
        'customFieldValues' => @custom_field_values,
    }
end

#to_json(*options) ⇒ String

Returns This object converted to a JSON string.

Returns:

  • (String)

    This object converted to a JSON string



147
148
149
# File 'lib/lockstep_sdk/models/payment_model.rb', line 147

def to_json(*options)
    "[#{as_json(*options).to_json(*options)}]"
end