Class: Braintree::Transaction

Inherits:
Object
  • Object
show all
Includes:
BaseModule, Util::IdEquality
Defined in:
lib/braintree/transaction.rb,
lib/braintree/transaction/installment.rb,
lib/braintree/transaction/paypal_details.rb,
lib/braintree/transaction/status_details.rb,
lib/braintree/transaction/address_details.rb,
lib/braintree/transaction/customer_details.rb,
lib/braintree/transaction/apple_pay_details.rb,
lib/braintree/transaction/google_pay_details.rb,
lib/braintree/transaction/credit_card_details.rb,
lib/braintree/transaction/paypal_here_details.rb,
lib/braintree/transaction/disbursement_details.rb,
lib/braintree/transaction/subscription_details.rb,
lib/braintree/transaction/local_payment_details.rb,
lib/braintree/transaction/venmo_account_details.rb,
lib/braintree/transaction/installment/adjustment.rb,
lib/braintree/transaction/us_bank_account_details.rb,
lib/braintree/transaction/samsung_pay_card_details.rb,
lib/braintree/transaction/visa_checkout_card_details.rb

Direct Known Subclasses

TestTransaction

Defined Under Namespace

Modules: AdditionalCharge, CreatedUsing, EscrowStatus, ExternalVault, GatewayRejectionReason, IndustryType, Source, Status, Type Classes: AddressDetails, ApplePayDetails, CreditCardDetails, CustomerDetails, DisbursementDetails, GooglePayDetails, Installment, LocalPaymentDetails, PayPalDetails, PayPalHereDetails, SamsungPayCardDetails, StatusDetails, SubscriptionDetails, UsBankAccountDetails, VenmoAccountDetails, VisaCheckoutCardDetails

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Util::IdEquality

#==

Methods included from BaseModule

included

Methods included from BaseModule::Methods

#copy_instance_variables_from_object, #return_object_or_raise, #set_instance_variables_from_hash, #singleton_class

Constructor Details

#initialize(gateway, attributes) ⇒ Transaction

:nodoc:


290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
# File 'lib/braintree/transaction.rb', line 290

def initialize(gateway, attributes) # :nodoc:
  @gateway = gateway
  set_instance_variables_from_hash(attributes)
  @amount = Util.to_big_decimal(amount)
  @credit_card_details = CreditCardDetails.new(@credit_card)
  @service_fee_amount = Util.to_big_decimal(service_fee_amount)
  @subscription_details = SubscriptionDetails.new(@subscription)
  @customer_details = CustomerDetails.new(@customer)
  @billing_details = AddressDetails.new(@billing)
  @disbursement_details = DisbursementDetails.new(@disbursement_details)
  @shipping_details = AddressDetails.new(@shipping)
  @status_history = attributes[:status_history] ? attributes[:status_history].map { |s| StatusDetails.new(s) } : []
  @tax_amount = Util.to_big_decimal(tax_amount)
  @descriptor = Descriptor.new(@descriptor)
  @local_payment_details = LocalPaymentDetails.new(@local_payment)
  @paypal_details = PayPalDetails.new(@paypal)
  @paypal_here_details = PayPalHereDetails.new(@paypal_here)
  @apple_pay_details = ApplePayDetails.new(@apple_pay)
  @google_pay_details = GooglePayDetails.new(@google_pay_card)
  @venmo_account_details = VenmoAccountDetails.new(@venmo_account)
  disputes.map! { |attrs| Dispute._new(attrs) } if disputes
  @custom_fields = attributes[:custom_fields].is_a?(Hash) ? attributes[:custom_fields] : {}
  add_ons.map! { |attrs| AddOn._new(attrs) } if add_ons
  discounts.map! { |attrs| Discount._new(attrs) } if discounts
  @payment_instrument_type = attributes[:payment_instrument_type]
  @risk_data = RiskData.new(attributes[:risk_data]) if attributes[:risk_data]
  @facilitated_details = FacilitatedDetails.new(attributes[:facilitated_details]) if attributes[:facilitated_details]
  @facilitator_details = FacilitatorDetails.new(attributes[:facilitator_details]) if attributes[:facilitator_details]
  @three_d_secure_info = ThreeDSecureInfo.new(attributes[:three_d_secure_info]) if attributes[:three_d_secure_info]
  @us_bank_account_details = UsBankAccountDetails.new(attributes[:us_bank_account]) if attributes[:us_bank_account]
  @visa_checkout_card_details = VisaCheckoutCardDetails.new(attributes[:visa_checkout_card])
  @samsung_pay_card_details = SamsungPayCardDetails.new(attributes[:samsung_pay_card])
  @sca_exemption_requested = attributes[:sca_exemption_requested]
  authorization_adjustments.map! { |attrs| AuthorizationAdjustment._new(attrs) } if authorization_adjustments

  installments.map! { |attrs| Installment.new(attrs) } if installments
  refunded_installments.map! { |attrs| Installment.new(attrs) } if refunded_installments
end

Instance Attribute Details

#ach_return_codeObject (readonly)

Returns the value of attribute ach_return_code.


94
95
96
# File 'lib/braintree/transaction.rb', line 94

def ach_return_code
  @ach_return_code
end

#acquirer_reference_numberObject (readonly)

Returns the value of attribute acquirer_reference_number.


93
94
95
# File 'lib/braintree/transaction.rb', line 93

def acquirer_reference_number
  @acquirer_reference_number
end

#add_onsObject (readonly)

Returns the value of attribute add_ons.


95
96
97
# File 'lib/braintree/transaction.rb', line 95

def add_ons
  @add_ons
end

#additional_processor_responseObject (readonly)

The raw response from the processor.


96
97
98
# File 'lib/braintree/transaction.rb', line 96

def additional_processor_response
  @additional_processor_response
end

#amountObject (readonly)

Returns the value of attribute amount.


97
98
99
# File 'lib/braintree/transaction.rb', line 97

def amount
  @amount
end

#apple_pay_detailsObject (readonly)

Returns the value of attribute apple_pay_details.


98
99
100
# File 'lib/braintree/transaction.rb', line 98

def apple_pay_details
  @apple_pay_details
end

#authorization_adjustmentsObject (readonly)

Returns the value of attribute authorization_adjustments.


99
100
101
# File 'lib/braintree/transaction.rb', line 99

def authorization_adjustments
  @authorization_adjustments
end

#authorization_expires_atObject (readonly)

Returns the value of attribute authorization_expires_at.


100
101
102
# File 'lib/braintree/transaction.rb', line 100

def authorization_expires_at
  @authorization_expires_at
end

#authorized_transaction_idObject (readonly)

Returns the value of attribute authorized_transaction_id.


101
102
103
# File 'lib/braintree/transaction.rb', line 101

def authorized_transaction_id
  @authorized_transaction_id
end

#avs_error_response_codeObject (readonly)

Returns the value of attribute avs_error_response_code.


102
103
104
# File 'lib/braintree/transaction.rb', line 102

def avs_error_response_code
  @avs_error_response_code
end

#avs_postal_code_response_codeObject (readonly)

Returns the value of attribute avs_postal_code_response_code.


103
104
105
# File 'lib/braintree/transaction.rb', line 103

def avs_postal_code_response_code
  @avs_postal_code_response_code
end

#avs_street_address_response_codeObject (readonly)

Returns the value of attribute avs_street_address_response_code.


104
105
106
# File 'lib/braintree/transaction.rb', line 104

def avs_street_address_response_code
  @avs_street_address_response_code
end

#billing_detailsObject (readonly)

Returns the value of attribute billing_details.


105
106
107
# File 'lib/braintree/transaction.rb', line 105

def billing_details
  @billing_details
end

#channelObject (readonly)

Returns the value of attribute channel.


106
107
108
# File 'lib/braintree/transaction.rb', line 106

def channel
  @channel
end

#created_atObject (readonly)

Returns the value of attribute created_at.


107
108
109
# File 'lib/braintree/transaction.rb', line 107

def created_at
  @created_at
end

#credit_card_detailsObject (readonly)

Returns the value of attribute credit_card_details.


108
109
110
# File 'lib/braintree/transaction.rb', line 108

def credit_card_details
  @credit_card_details
end

#currency_iso_codeObject (readonly)

Returns the value of attribute currency_iso_code.


109
110
111
# File 'lib/braintree/transaction.rb', line 109

def currency_iso_code
  @currency_iso_code
end

#custom_fieldsObject (readonly)

Returns the value of attribute custom_fields.


110
111
112
# File 'lib/braintree/transaction.rb', line 110

def custom_fields
  @custom_fields
end

#customer_detailsObject (readonly)

Returns the value of attribute customer_details.


111
112
113
# File 'lib/braintree/transaction.rb', line 111

def customer_details
  @customer_details
end

#cvv_response_codeObject (readonly)

Returns the value of attribute cvv_response_code.


112
113
114
# File 'lib/braintree/transaction.rb', line 112

def cvv_response_code
  @cvv_response_code
end

#descriptorObject (readonly)

Returns the value of attribute descriptor.


113
114
115
# File 'lib/braintree/transaction.rb', line 113

def descriptor
  @descriptor
end

#disbursement_detailsObject (readonly)

Returns the value of attribute disbursement_details.


114
115
116
# File 'lib/braintree/transaction.rb', line 114

def disbursement_details
  @disbursement_details
end

#discount_amountObject (readonly)

Returns the value of attribute discount_amount.


115
116
117
# File 'lib/braintree/transaction.rb', line 115

def discount_amount
  @discount_amount
end

#discountsObject (readonly)

Returns the value of attribute discounts.


116
117
118
# File 'lib/braintree/transaction.rb', line 116

def discounts
  @discounts
end

#disputesObject (readonly)

Returns the value of attribute disputes.


117
118
119
# File 'lib/braintree/transaction.rb', line 117

def disputes
  @disputes
end

#escrow_statusObject (readonly)

Returns the value of attribute escrow_status.


118
119
120
# File 'lib/braintree/transaction.rb', line 118

def escrow_status
  @escrow_status
end

#facilitated_detailsObject (readonly)

Returns the value of attribute facilitated_details.


119
120
121
# File 'lib/braintree/transaction.rb', line 119

def facilitated_details
  @facilitated_details
end

#facilitator_detailsObject (readonly)

Returns the value of attribute facilitator_details.


120
121
122
# File 'lib/braintree/transaction.rb', line 120

def facilitator_details
  @facilitator_details
end

#gateway_rejection_reasonObject (readonly)

Returns the value of attribute gateway_rejection_reason.


121
122
123
# File 'lib/braintree/transaction.rb', line 121

def gateway_rejection_reason
  @gateway_rejection_reason
end

#google_pay_detailsObject (readonly)

Returns the value of attribute google_pay_details.


122
123
124
# File 'lib/braintree/transaction.rb', line 122

def google_pay_details
  @google_pay_details
end

#graphql_idObject (readonly)

Returns the value of attribute graphql_id.


123
124
125
# File 'lib/braintree/transaction.rb', line 123

def graphql_id
  @graphql_id
end

#idObject (readonly)

Returns the value of attribute id.


124
125
126
# File 'lib/braintree/transaction.rb', line 124

def id
  @id
end

#installment_countObject (readonly)

Returns the value of attribute installment_count.


125
126
127
# File 'lib/braintree/transaction.rb', line 125

def installment_count
  @installment_count
end

#installmentsObject (readonly)

Returns the value of attribute installments.


126
127
128
# File 'lib/braintree/transaction.rb', line 126

def installments
  @installments
end

#local_payment_detailsObject (readonly)

Returns the value of attribute local_payment_details.


127
128
129
# File 'lib/braintree/transaction.rb', line 127

def local_payment_details
  @local_payment_details
end

#merchant_account_idObject (readonly)

Returns the value of attribute merchant_account_id.


128
129
130
# File 'lib/braintree/transaction.rb', line 128

def 
  @merchant_account_id
end

#network_response_codeObject (readonly)

Response code from the card network


129
130
131
# File 'lib/braintree/transaction.rb', line 129

def network_response_code
  @network_response_code
end

#network_response_textObject (readonly)

Response text from the card network


130
131
132
# File 'lib/braintree/transaction.rb', line 130

def network_response_text
  @network_response_text
end

#network_transaction_idObject (readonly)

Returns the value of attribute network_transaction_id.


131
132
133
# File 'lib/braintree/transaction.rb', line 131

def network_transaction_id
  @network_transaction_id
end

#order_idObject (readonly)

Returns the value of attribute order_id.


132
133
134
# File 'lib/braintree/transaction.rb', line 132

def order_id
  @order_id
end

#partial_settlement_transaction_idsObject (readonly)

Returns the value of attribute partial_settlement_transaction_ids.


133
134
135
# File 'lib/braintree/transaction.rb', line 133

def partial_settlement_transaction_ids
  @partial_settlement_transaction_ids
end

#payment_instrument_typeObject (readonly)

Returns the value of attribute payment_instrument_type.


134
135
136
# File 'lib/braintree/transaction.rb', line 134

def payment_instrument_type
  @payment_instrument_type
end

#paypal_detailsObject (readonly)

Returns the value of attribute paypal_details.


135
136
137
# File 'lib/braintree/transaction.rb', line 135

def paypal_details
  @paypal_details
end

#paypal_here_detailsObject (readonly)

Returns the value of attribute paypal_here_details.


136
137
138
# File 'lib/braintree/transaction.rb', line 136

def paypal_here_details
  @paypal_here_details
end

#plan_idObject (readonly)

Returns the value of attribute plan_id.


137
138
139
# File 'lib/braintree/transaction.rb', line 137

def plan_id
  @plan_id
end

#processor_authorization_codeObject (readonly)

Authorization code from the processor.


138
139
140
# File 'lib/braintree/transaction.rb', line 138

def processor_authorization_code
  @processor_authorization_code
end

#processor_response_codeObject (readonly)

Response code from the processor.


139
140
141
# File 'lib/braintree/transaction.rb', line 139

def processor_response_code
  @processor_response_code
end

#processor_response_textObject (readonly)

Response text from the processor.


140
141
142
# File 'lib/braintree/transaction.rb', line 140

def processor_response_text
  @processor_response_text
end

#processor_response_typeObject (readonly)

Response type from the processor.


141
142
143
# File 'lib/braintree/transaction.rb', line 141

def processor_response_type
  @processor_response_type
end

#processor_settlement_response_codeObject (readonly)

Settlement response code from the processor.


142
143
144
# File 'lib/braintree/transaction.rb', line 142

def processor_settlement_response_code
  @processor_settlement_response_code
end

#processor_settlement_response_textObject (readonly)

Settlement response text from the processor.


143
144
145
# File 'lib/braintree/transaction.rb', line 143

def processor_settlement_response_text
  @processor_settlement_response_text
end

#product_skuObject (readonly)

Returns the value of attribute product_sku.


144
145
146
# File 'lib/braintree/transaction.rb', line 144

def product_sku
  @product_sku
end

#purchase_order_numberObject (readonly)

Returns the value of attribute purchase_order_number.


145
146
147
# File 'lib/braintree/transaction.rb', line 145

def purchase_order_number
  @purchase_order_number
end

#recurringObject (readonly)

Returns the value of attribute recurring.


146
147
148
# File 'lib/braintree/transaction.rb', line 146

def recurring
  @recurring
end

#refund_idsObject (readonly)

Returns the value of attribute refund_ids.


147
148
149
# File 'lib/braintree/transaction.rb', line 147

def refund_ids
  @refund_ids
end

#refunded_installmentsObject (readonly)

Returns the value of attribute refunded_installments.


149
150
151
# File 'lib/braintree/transaction.rb', line 149

def refunded_installments
  @refunded_installments
end

#refunded_transaction_idObject (readonly)

Returns the value of attribute refunded_transaction_id.


148
149
150
# File 'lib/braintree/transaction.rb', line 148

def refunded_transaction_id
  @refunded_transaction_id
end

#retriedObject (readonly)

Returns the value of attribute retried.


150
151
152
# File 'lib/braintree/transaction.rb', line 150

def retried
  @retried
end

#retrieval_reference_numberObject (readonly)

Returns the value of attribute retrieval_reference_number.


151
152
153
# File 'lib/braintree/transaction.rb', line 151

def retrieval_reference_number
  @retrieval_reference_number
end

#risk_dataObject (readonly)

Returns the value of attribute risk_data.


152
153
154
# File 'lib/braintree/transaction.rb', line 152

def risk_data
  @risk_data
end

#samsung_pay_card_detailsObject (readonly)

Returns the value of attribute samsung_pay_card_details.


153
154
155
# File 'lib/braintree/transaction.rb', line 153

def samsung_pay_card_details
  @samsung_pay_card_details
end

#sca_exemption_requestedObject (readonly)

Returns the value of attribute sca_exemption_requested.


154
155
156
# File 'lib/braintree/transaction.rb', line 154

def sca_exemption_requested
  @sca_exemption_requested
end

#service_fee_amountObject (readonly)

Returns the value of attribute service_fee_amount.


155
156
157
# File 'lib/braintree/transaction.rb', line 155

def service_fee_amount
  @service_fee_amount
end

#settlement_batch_idObject (readonly)

Returns the value of attribute settlement_batch_id.


156
157
158
# File 'lib/braintree/transaction.rb', line 156

def settlement_batch_id
  @settlement_batch_id
end

#shipping_amountObject (readonly)

Returns the value of attribute shipping_amount.


157
158
159
# File 'lib/braintree/transaction.rb', line 157

def shipping_amount
  @shipping_amount
end

#shipping_detailsObject (readonly)

Returns the value of attribute shipping_details.


158
159
160
# File 'lib/braintree/transaction.rb', line 158

def shipping_details
  @shipping_details
end

#ships_from_postal_codeObject (readonly)

Returns the value of attribute ships_from_postal_code.


159
160
161
# File 'lib/braintree/transaction.rb', line 159

def ships_from_postal_code
  @ships_from_postal_code
end

#statusObject (readonly)

See Transaction::Status


160
161
162
# File 'lib/braintree/transaction.rb', line 160

def status
  @status
end

#status_historyObject (readonly)

Returns the value of attribute status_history.


161
162
163
# File 'lib/braintree/transaction.rb', line 161

def status_history
  @status_history
end

#subscription_detailsObject (readonly)

Returns the value of attribute subscription_details.


162
163
164
# File 'lib/braintree/transaction.rb', line 162

def subscription_details
  @subscription_details
end

#subscription_idObject (readonly)

Returns the value of attribute subscription_id.


163
164
165
# File 'lib/braintree/transaction.rb', line 163

def subscription_id
  @subscription_id
end

#tax_amountObject (readonly)

Returns the value of attribute tax_amount.


164
165
166
# File 'lib/braintree/transaction.rb', line 164

def tax_amount
  @tax_amount
end

#tax_exemptObject (readonly)

Returns the value of attribute tax_exempt.


165
166
167
# File 'lib/braintree/transaction.rb', line 165

def tax_exempt
  @tax_exempt
end

#three_d_secure_infoObject (readonly)

Returns the value of attribute three_d_secure_info.


166
167
168
# File 'lib/braintree/transaction.rb', line 166

def three_d_secure_info
  @three_d_secure_info
end

#typeObject (readonly)

Will either be “sale” or “credit”


167
168
169
# File 'lib/braintree/transaction.rb', line 167

def type
  @type
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.


168
169
170
# File 'lib/braintree/transaction.rb', line 168

def updated_at
  @updated_at
end

#us_bank_account_detailsObject (readonly)

Returns the value of attribute us_bank_account_details.


169
170
171
# File 'lib/braintree/transaction.rb', line 169

def 
  @us_bank_account_details
end

#venmo_account_detailsObject (readonly)

Returns the value of attribute venmo_account_details.


170
171
172
# File 'lib/braintree/transaction.rb', line 170

def 
  @venmo_account_details
end

#visa_checkout_card_detailsObject (readonly)

Returns the value of attribute visa_checkout_card_details.


171
172
173
# File 'lib/braintree/transaction.rb', line 171

def visa_checkout_card_details
  @visa_checkout_card_details
end

#voice_referral_numberObject (readonly)

Returns the value of attribute voice_referral_number.


172
173
174
# File 'lib/braintree/transaction.rb', line 172

def voice_referral_number
  @voice_referral_number
end

Class Method Details

._attributesObject

:nodoc:


403
404
405
# File 'lib/braintree/transaction.rb', line 403

def self._attributes # :nodoc:
  [:amount, :created_at, :credit_card_details, :customer_details, :id, :status, :subscription_details, :type, :updated_at, :processed_with_network_token?]
end

._new(*args) ⇒ Object

:nodoc:


398
399
400
# File 'lib/braintree/transaction.rb', line 398

def _new(*args) # :nodoc:
  self.new(*args)
end

.adjust_authorization(*args) ⇒ Object


174
175
176
# File 'lib/braintree/transaction.rb', line 174

def self.adjust_authorization(*args)
  Configuration.gateway.transaction.adjust_authorization(*args)
end

.adjust_authorization!(*args) ⇒ Object


178
179
180
# File 'lib/braintree/transaction.rb', line 178

def self.adjust_authorization!(*args)
  Configuration.gateway.transaction.adjust_authorization!(*args)
end

.cancel_release(*args) ⇒ Object


190
191
192
# File 'lib/braintree/transaction.rb', line 190

def self.cancel_release(*args)
  Configuration.gateway.transaction.cancel_release(*args)
end

.cancel_release!(*args) ⇒ Object


194
195
196
# File 'lib/braintree/transaction.rb', line 194

def self.cancel_release!(*args)
  Configuration.gateway.transaction.cancel_release!(*args)
end

.clone_transaction(*args) ⇒ Object


198
199
200
# File 'lib/braintree/transaction.rb', line 198

def self.clone_transaction(*args)
  Configuration.gateway.transaction.clone_transaction(*args)
end

.clone_transaction!(*args) ⇒ Object


202
203
204
# File 'lib/braintree/transaction.rb', line 202

def self.clone_transaction!(*args)
  Configuration.gateway.transaction.clone_transaction!(*args)
end

.create(*args) ⇒ Object


182
183
184
# File 'lib/braintree/transaction.rb', line 182

def self.create(*args)
  Configuration.gateway.transaction.create(*args)
end

.create!(*args) ⇒ Object


186
187
188
# File 'lib/braintree/transaction.rb', line 186

def self.create!(*args)
  return_object_or_raise(:transaction) { create(*args) }
end

.credit(*args) ⇒ Object


206
207
208
# File 'lib/braintree/transaction.rb', line 206

def self.credit(*args)
  Configuration.gateway.transaction.credit(*args)
end

.credit!(*args) ⇒ Object


210
211
212
# File 'lib/braintree/transaction.rb', line 210

def self.credit!(*args)
  Configuration.gateway.transaction.credit!(*args)
end

.find(*args) ⇒ Object


214
215
216
# File 'lib/braintree/transaction.rb', line 214

def self.find(*args)
  Configuration.gateway.transaction.find(*args)
end

.hold_in_escrow(*args) ⇒ Object


222
223
224
# File 'lib/braintree/transaction.rb', line 222

def self.hold_in_escrow(*args)
  Configuration.gateway.transaction.hold_in_escrow(*args)
end

.hold_in_escrow!(*args) ⇒ Object


226
227
228
# File 'lib/braintree/transaction.rb', line 226

def self.hold_in_escrow!(*args)
  Configuration.gateway.transaction.hold_in_escrow!(*args)
end

.line_items(*args) ⇒ Object


218
219
220
# File 'lib/braintree/transaction.rb', line 218

def self.line_items(*args)
  Configuration.gateway.transaction_line_item.find_all(*args)
end

.refund(*args) ⇒ Object


230
231
232
# File 'lib/braintree/transaction.rb', line 230

def self.refund(*args)
  Configuration.gateway.transaction.refund(*args)
end

.refund!(*args) ⇒ Object


234
235
236
# File 'lib/braintree/transaction.rb', line 234

def self.refund!(*args)
  Configuration.gateway.transaction.refund!(*args)
end

.release_from_escrow(*args) ⇒ Object


250
251
252
# File 'lib/braintree/transaction.rb', line 250

def self.release_from_escrow(*args)
  Configuration.gateway.transaction.release_from_escrow(*args)
end

.release_from_escrow!(*args) ⇒ Object


254
255
256
# File 'lib/braintree/transaction.rb', line 254

def self.release_from_escrow!(*args)
  Configuration.gateway.transaction.release_from_escrow!(*args)
end

.sale(*args) ⇒ Object


238
239
240
# File 'lib/braintree/transaction.rb', line 238

def self.sale(*args)
  Configuration.gateway.transaction.sale(*args)
end

.sale!(*args) ⇒ Object


242
243
244
# File 'lib/braintree/transaction.rb', line 242

def self.sale!(*args)
  Configuration.gateway.transaction.sale!(*args)
end

.search(&block) ⇒ Object


246
247
248
# File 'lib/braintree/transaction.rb', line 246

def self.search(&block)
  Configuration.gateway.transaction.search(&block)
end

.submit_for_partial_settlement(*args) ⇒ Object


274
275
276
# File 'lib/braintree/transaction.rb', line 274

def self.submit_for_partial_settlement(*args)
  Configuration.gateway.transaction.submit_for_partial_settlement(*args)
end

.submit_for_partial_settlement!(*args) ⇒ Object


278
279
280
# File 'lib/braintree/transaction.rb', line 278

def self.submit_for_partial_settlement!(*args)
  Configuration.gateway.transaction.submit_for_partial_settlement!(*args)
end

.submit_for_settlement(*args) ⇒ Object


258
259
260
# File 'lib/braintree/transaction.rb', line 258

def self.submit_for_settlement(*args)
  Configuration.gateway.transaction.submit_for_settlement(*args)
end

.submit_for_settlement!(*args) ⇒ Object


262
263
264
# File 'lib/braintree/transaction.rb', line 262

def self.submit_for_settlement!(*args)
  Configuration.gateway.transaction.submit_for_settlement!(*args)
end

.update_details(*args) ⇒ Object


266
267
268
# File 'lib/braintree/transaction.rb', line 266

def self.update_details(*args)
  Configuration.gateway.transaction.update_details(*args)
end

.update_details!(*args) ⇒ Object


270
271
272
# File 'lib/braintree/transaction.rb', line 270

def self.update_details!(*args)
  return_object_or_raise(:transaction) { update_details(*args) }
end

.void(*args) ⇒ Object


282
283
284
# File 'lib/braintree/transaction.rb', line 282

def self.void(*args)
  Configuration.gateway.transaction.void(*args)
end

.void!(*args) ⇒ Object


286
287
288
# File 'lib/braintree/transaction.rb', line 286

def self.void!(*args)
  Configuration.gateway.transaction.void!(*args)
end

Instance Method Details

#disbursed?Boolean

Returns true if the transaction has been disbursed. False otherwise.

Returns:

  • (Boolean)

352
353
354
# File 'lib/braintree/transaction.rb', line 352

def disbursed?
  @disbursement_details.valid?
end

#inspectObject

:nodoc:


329
330
331
332
333
334
335
336
337
338
339
340
# File 'lib/braintree/transaction.rb', line 329

def inspect # :nodoc:
  first = [:id, :type, :amount, :status]
  order = first + (self.class._attributes - first)
  nice_attributes = order.map do |attr|
    if attr == :amount
      Util.inspect_amount(self.amount)
    else
      "#{attr}: #{send(attr).inspect}"
    end
  end
  "#<#{self.class} #{nice_attributes.join(', ')}>"
end

#line_itemsObject


342
343
344
# File 'lib/braintree/transaction.rb', line 342

def line_items
  @gateway.transaction_line_item.find_all(id)
end

#processed_with_network_token?Boolean

Returns:

  • (Boolean)

392
393
394
# File 'lib/braintree/transaction.rb', line 392

def processed_with_network_token?
  @processed_with_network_token
end

#refunded?Boolean

Returns true if the transaction has been refunded. False otherwise.

Returns:

  • (Boolean)

347
348
349
# File 'lib/braintree/transaction.rb', line 347

def refunded?
  !@refund_id.nil?
end

#vault_billing_addressObject

If this transaction was stored in the vault, or created from vault records, vault_billing_address will return the associated Braintree::Address. Because the vault billing address can be updated after the transaction was created, the attributes on vault_billing_address may not match the attributes on billing_details.


360
361
362
363
# File 'lib/braintree/transaction.rb', line 360

def vault_billing_address
  return nil if billing_details.id.nil?
  @gateway.address.find(customer_details.id, billing_details.id)
end

#vault_credit_cardObject

If this transaction was stored in the vault, or created from vault records, vault_credit_card will return the associated Braintree::CreditCard. Because the vault credit card can be updated after the transaction was created, the attributes on vault_credit_card may not match the attributes on credit_card_details.


369
370
371
372
# File 'lib/braintree/transaction.rb', line 369

def vault_credit_card
  return nil if credit_card_details.token.nil?
  @gateway.credit_card.find(credit_card_details.token)
end

#vault_customerObject

If this transaction was stored in the vault, or created from vault records, vault_customer will return the associated Braintree::Customer. Because the vault customer can be updated after the transaction was created, the attributes on vault_customer may not match the attributes on customer_details.


378
379
380
381
# File 'lib/braintree/transaction.rb', line 378

def vault_customer
  return nil if customer_details.id.nil?
  @gateway.customer.find(customer_details.id)
end

#vault_shipping_addressObject

If this transaction was stored in the vault, or created from vault records, vault_shipping_address will return the associated Braintree::Address. Because the vault shipping address can be updated after the transaction was created, the attributes on vault_shipping_address may not match the attributes on shipping_details.


387
388
389
390
# File 'lib/braintree/transaction.rb', line 387

def vault_shipping_address
  return nil if shipping_details.id.nil?
  @gateway.address.find(customer_details.id, shipping_details.id)
end