braintree 2.80.1 → 2.81.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/lib/braintree.rb +4 -1
  3. data/lib/braintree/account_updater_daily_report.rb +1 -1
  4. data/lib/braintree/ach_mandate.rb +2 -1
  5. data/lib/braintree/address.rb +16 -3
  6. data/lib/braintree/amex_express_checkout_card.rb +14 -2
  7. data/lib/braintree/android_pay_card.rb +16 -3
  8. data/lib/braintree/apple_pay_card.rb +15 -3
  9. data/lib/braintree/bin_data.rb +9 -2
  10. data/lib/braintree/coinbase_account.rb +10 -1
  11. data/lib/braintree/connected_merchant_paypal_status_changed.rb +3 -1
  12. data/lib/braintree/connected_merchant_status_transitioned.rb +3 -1
  13. data/lib/braintree/credentials_parser.rb +5 -1
  14. data/lib/braintree/credit_card.rb +25 -10
  15. data/lib/braintree/credit_card_verification.rb +32 -14
  16. data/lib/braintree/customer.rb +24 -11
  17. data/lib/braintree/descriptor.rb +3 -1
  18. data/lib/braintree/disbursement.rb +9 -1
  19. data/lib/braintree/dispute.rb +1 -6
  20. data/lib/braintree/dispute/transaction_details.rb +2 -1
  21. data/lib/braintree/document_upload.rb +6 -7
  22. data/lib/braintree/error_codes.rb +30 -0
  23. data/lib/braintree/error_result.rb +8 -1
  24. data/lib/braintree/europe_bank_account.rb +3 -1
  25. data/lib/braintree/facilitated_details.rb +3 -1
  26. data/lib/braintree/facilitator_details.rb +2 -1
  27. data/lib/braintree/gateway.rb +4 -0
  28. data/lib/braintree/granted_payment_instrument_update.rb +5 -1
  29. data/lib/braintree/ideal_payment.rb +15 -2
  30. data/lib/braintree/masterpass_card.rb +26 -11
  31. data/lib/braintree/merchant.rb +8 -1
  32. data/lib/braintree/merchant_account.rb +8 -3
  33. data/lib/braintree/merchant_account/address_details.rb +4 -1
  34. data/lib/braintree/merchant_account/business_details.rb +4 -1
  35. data/lib/braintree/merchant_account/funding_details.rb +6 -1
  36. data/lib/braintree/merchant_account/individual_details.rb +7 -2
  37. data/lib/braintree/oauth_credentials.rb +4 -1
  38. data/lib/braintree/paginated_result.rb +3 -1
  39. data/lib/braintree/payment_method_nonce.rb +5 -1
  40. data/lib/braintree/paypal_account.rb +8 -1
  41. data/lib/braintree/plan.rb +4 -4
  42. data/lib/braintree/risk_data.rb +3 -1
  43. data/lib/braintree/settlement_batch_summary.rb +1 -0
  44. data/lib/braintree/subscription.rb +27 -17
  45. data/lib/braintree/subscription/status_details.rb +8 -1
  46. data/lib/braintree/successful_result.rb +19 -1
  47. data/lib/braintree/three_d_secure_info.rb +5 -1
  48. data/lib/braintree/transaction.rb +54 -48
  49. data/lib/braintree/transaction/address_details.rb +13 -4
  50. data/lib/braintree/transaction/amex_express_checkout_details.rb +9 -2
  51. data/lib/braintree/transaction/android_pay_details.rb +10 -3
  52. data/lib/braintree/transaction/apple_pay_details.rb +7 -2
  53. data/lib/braintree/transaction/coinbase_details.rb +4 -1
  54. data/lib/braintree/transaction/credit_card_details.rb +40 -6
  55. data/lib/braintree/transaction/customer_details.rb +8 -1
  56. data/lib/braintree/transaction/disbursement_details.rb +5 -1
  57. data/lib/braintree/transaction/ideal_payment_details.rb +5 -1
  58. data/lib/braintree/transaction/masterpass_card_details.rb +18 -4
  59. data/lib/braintree/transaction/paypal_details.rb +18 -4
  60. data/lib/braintree/transaction/status_details.rb +5 -1
  61. data/lib/braintree/transaction/subscription_details.rb +2 -1
  62. data/lib/braintree/transaction/us_bank_account_details.rb +8 -1
  63. data/lib/braintree/transaction/venmo_account_details.rb +5 -1
  64. data/lib/braintree/transaction/visa_checkout_card_details.rb +19 -4
  65. data/lib/braintree/transaction_gateway.rb +1 -0
  66. data/lib/braintree/transaction_line_item.rb +34 -0
  67. data/lib/braintree/transaction_line_item_gateway.rb +19 -0
  68. data/lib/braintree/unknown_payment_method.rb +2 -1
  69. data/lib/braintree/us_bank_account.rb +9 -1
  70. data/lib/braintree/util.rb +14 -0
  71. data/lib/braintree/validation_error.rb +3 -1
  72. data/lib/braintree/venmo_account.rb +10 -3
  73. data/lib/braintree/version.rb +2 -2
  74. data/lib/braintree/visa_checkout_card.rb +27 -11
  75. data/lib/braintree/webhook_notification.rb +9 -9
  76. data/spec/httpsd.pid +1 -0
  77. data/spec/integration/braintree/apple_pay_spec.rb +2 -31
  78. data/spec/integration/braintree/http_spec.rb +1 -1
  79. data/spec/integration/braintree/transaction_spec.rb +1142 -0
  80. metadata +205 -207
  81. data/README.rdoc +0 -102
@@ -3,7 +3,14 @@ module Braintree
3
3
  class StatusDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :balance, :price, :status, :subscription_source, :timestamp, :user, :currency_iso_code, :plan_id
6
+ attr_reader :balance
7
+ attr_reader :price
8
+ attr_reader :status
9
+ attr_reader :subscription_source
10
+ attr_reader :timestamp
11
+ attr_reader :user
12
+ attr_reader :currency_iso_code
13
+ attr_reader :plan_id
7
14
 
8
15
  def initialize(attributes)
9
16
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -2,7 +2,25 @@ module Braintree
2
2
  class SuccessfulResult
3
3
  include BaseModule
4
4
 
5
- attr_reader :address, :credit_card, :customer, :document_upload, :merchant_account, :payment_method, :settlement_batch_summary, :subscription, :new_transaction, :transaction, :payment_method_nonce, :credentials, :merchant, :supported_networks, :paypal_account, :merchant_accounts, :disputes, :evidence, :apple_pay_options
5
+ attr_reader :address
6
+ attr_reader :apple_pay_options
7
+ attr_reader :credentials
8
+ attr_reader :credit_card
9
+ attr_reader :customer
10
+ attr_reader :disputes
11
+ attr_reader :document_upload
12
+ attr_reader :evidence
13
+ attr_reader :merchant
14
+ attr_reader :merchant_account
15
+ attr_reader :merchant_accounts
16
+ attr_reader :new_transaction
17
+ attr_reader :payment_method
18
+ attr_reader :payment_method_nonce
19
+ attr_reader :paypal_account
20
+ attr_reader :settlement_batch_summary
21
+ attr_reader :subscription
22
+ attr_reader :supported_networks
23
+ attr_reader :transaction
6
24
 
7
25
  def initialize(attributes = {}) # :nodoc:
8
26
  @attrs = attributes.keys
@@ -2,7 +2,11 @@ module Braintree
2
2
  class ThreeDSecureInfo # :nodoc:
3
3
  include BaseModule
4
4
 
5
- attr_reader :enrolled, :liability_shifted, :liability_shift_possible, :status
5
+ attr_reader :enrolled
6
+ attr_reader :liability_shifted
7
+ attr_reader :liability_shift_possible
8
+ attr_reader :status
9
+
6
10
  alias_method :liability_shifted?, :liability_shifted
7
11
  alias_method :liability_shift_possible?, :liability_shift_possible
8
12
 
@@ -1,6 +1,7 @@
1
1
  module Braintree
2
2
  class Transaction
3
3
  include BaseModule
4
+ include Braintree::Util::IdEquality
4
5
 
5
6
  module CreatedUsing
6
7
  FullInformation = 'full_information'
@@ -68,69 +69,72 @@ module Braintree
68
69
  All = constants.map { |c| const_get(c) }
69
70
  end
70
71
 
71
- attr_reader :avs_error_response_code, :avs_postal_code_response_code, :avs_street_address_response_code
72
- attr_reader :amount, :created_at, :credit_card_details, :customer_details, :subscription_details, :service_fee_amount, :id
72
+ attr_reader :add_ons
73
+ attr_reader :additional_processor_response # The raw response from the processor.
74
+ attr_reader :amex_express_checkout_details
75
+ attr_reader :amount
76
+ attr_reader :android_pay_details
77
+ attr_reader :apple_pay_details
78
+ attr_reader :authorization_adjustments
79
+ attr_reader :authorized_transaction_id
80
+ attr_reader :avs_error_response_code
81
+ attr_reader :avs_postal_code_response_code
82
+ attr_reader :avs_street_address_response_code
83
+ attr_reader :billing_details
84
+ attr_reader :channel
85
+ attr_reader :coinbase_details
86
+ attr_reader :created_at
87
+ attr_reader :credit_card_details
73
88
  attr_reader :currency_iso_code
74
89
  attr_reader :custom_fields
90
+ attr_reader :customer_details
75
91
  attr_reader :cvv_response_code
92
+ attr_reader :descriptor
76
93
  attr_reader :disbursement_details
94
+ attr_reader :discount_amount
95
+ attr_reader :discounts
77
96
  attr_reader :disputes
78
- attr_reader :descriptor
79
97
  attr_reader :escrow_status
98
+ attr_reader :facilitated_details
99
+ attr_reader :facilitator_details
80
100
  attr_reader :gateway_rejection_reason
101
+ attr_reader :id
102
+ attr_reader :ideal_payment_details
103
+ attr_reader :masterpass_card_details
81
104
  attr_reader :merchant_account_id
82
105
  attr_reader :order_id
83
- attr_reader :channel
84
- attr_reader :billing_details, :shipping_details
106
+ attr_reader :partial_settlement_transaction_ids
107
+ attr_reader :payment_instrument_type
85
108
  attr_reader :paypal_details
86
- attr_reader :apple_pay_details
87
- attr_reader :android_pay_details
88
- attr_reader :amex_express_checkout_details
89
- attr_reader :venmo_account_details
90
- attr_reader :coinbase_details
91
109
  attr_reader :plan_id
92
- # The authorization code from the processor.
93
- attr_reader :processor_authorization_code
94
- # The response code from the processor.
95
- attr_reader :processor_response_code
96
- # The response text from the processor.
97
- attr_reader :processor_response_text
98
- # The raw response from the processor.
99
- attr_reader :additional_processor_response
100
- # The settlement response code from the processor.
101
- attr_reader :processor_settlement_response_code
102
- # The settlement response text from the processor.
103
- attr_reader :processor_settlement_response_text
104
- attr_reader :voice_referral_number
110
+ attr_reader :processor_authorization_code # Authorization code from the processor.
111
+ attr_reader :processor_response_code # Response code from the processor.
112
+ attr_reader :processor_response_text # Response text from the processor.
113
+ attr_reader :processor_settlement_response_code # Settlement response code from the processor.
114
+ attr_reader :processor_settlement_response_text # Settlement response text from the processor.
105
115
  attr_reader :purchase_order_number
106
116
  attr_reader :recurring
107
- attr_reader :refund_ids, :refunded_transaction_id
117
+ attr_reader :refund_ids
118
+ attr_reader :refunded_transaction_id
119
+ attr_reader :risk_data
120
+ attr_reader :service_fee_amount
108
121
  attr_reader :settlement_batch_id
109
- attr_reader :authorized_transaction_id
110
- attr_reader :partial_settlement_transaction_ids
111
- # See Transaction::Status
112
- attr_reader :status
122
+ attr_reader :shipping_amount
123
+ attr_reader :shipping_details
124
+ attr_reader :ships_from_postal_code
125
+ attr_reader :status # See Transaction::Status
113
126
  attr_reader :status_history
127
+ attr_reader :subscription_details
114
128
  attr_reader :subscription_id
115
129
  attr_reader :tax_amount
116
130
  attr_reader :tax_exempt
117
- attr_reader :shipping_amount
118
- attr_reader :discount_amount
119
- attr_reader :ships_from_postal_code
120
- # Will either be "sale" or "credit"
121
- attr_reader :type
122
- attr_reader :updated_at
123
- attr_reader :add_ons, :discounts
124
- attr_reader :payment_instrument_type
125
- attr_reader :risk_data
126
- attr_reader :facilitated_details
127
- attr_reader :facilitator_details
128
131
  attr_reader :three_d_secure_info
132
+ attr_reader :type # Will either be "sale" or "credit"
133
+ attr_reader :updated_at
129
134
  attr_reader :us_bank_account_details
130
- attr_reader :ideal_payment_details
135
+ attr_reader :venmo_account_details
131
136
  attr_reader :visa_checkout_card_details
132
- attr_reader :masterpass_card_details
133
- attr_reader :authorization_adjustments
137
+ attr_reader :voice_referral_number
134
138
 
135
139
  def self.create(attributes)
136
140
  Configuration.gateway.transaction.create(attributes)
@@ -180,6 +184,10 @@ module Braintree
180
184
  Configuration.gateway.transaction.find(id)
181
185
  end
182
186
 
187
+ def self.line_items(id)
188
+ Configuration.gateway.transaction_line_item.find_all(id)
189
+ end
190
+
183
191
  def self.hold_in_escrow(id)
184
192
  Configuration.gateway.transaction.hold_in_escrow(id)
185
193
  end
@@ -284,12 +292,6 @@ module Braintree
284
292
  authorization_adjustments.map! { |attrs| AuthorizationAdjustment._new(attrs) } if authorization_adjustments
285
293
  end
286
294
 
287
- # True if <tt>other</tt> is a Braintree::Transaction with the same id.
288
- def ==(other)
289
- return false unless other.is_a?(Transaction)
290
- id == other.id
291
- end
292
-
293
295
  def inspect # :nodoc:
294
296
  first = [:id, :type, :amount, :status]
295
297
  order = first + (self.class._attributes - first)
@@ -303,6 +305,10 @@ module Braintree
303
305
  "#<#{self.class} #{nice_attributes.join(', ')}>"
304
306
  end
305
307
 
308
+ def line_items
309
+ @gateway.transaction_line_item.find_all(id)
310
+ end
311
+
306
312
  # Deprecated. Use Braintree::Transaction.refund
307
313
  def refund(amount = nil)
308
314
  warn "[DEPRECATED] refund as an instance method is deprecated. Please use Transaction.refund"
@@ -3,10 +3,19 @@ module Braintree
3
3
  class AddressDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :id, :first_name, :last_name, :company,
7
- :street_address, :extended_address, :locality, :region,
8
- :postal_code, :country_code_alpha2, :country_code_alpha3,
9
- :country_code_numeric, :country_name
6
+ attr_reader :company
7
+ attr_reader :country_code_alpha2
8
+ attr_reader :country_code_alpha3
9
+ attr_reader :country_code_numeric
10
+ attr_reader :country_name
11
+ attr_reader :extended_address
12
+ attr_reader :first_name
13
+ attr_reader :id
14
+ attr_reader :last_name
15
+ attr_reader :locality
16
+ attr_reader :postal_code
17
+ attr_reader :region
18
+ attr_reader :street_address
10
19
 
11
20
  def initialize(attributes)
12
21
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,8 +3,15 @@ module Braintree
3
3
  class AmexExpressCheckoutDetails
4
4
  include BaseModule
5
5
 
6
- attr_reader :card_type, :token, :bin, :expiration_month, :expiration_year,
7
- :card_member_number, :card_member_expiry_date, :image_url, :source_description
6
+ attr_reader :bin
7
+ attr_reader :card_member_expiry_date
8
+ attr_reader :card_member_number
9
+ attr_reader :card_type
10
+ attr_reader :expiration_month
11
+ attr_reader :expiration_year
12
+ attr_reader :image_url
13
+ attr_reader :source_description
14
+ attr_reader :token
8
15
 
9
16
  def initialize(attributes)
10
17
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,9 +3,16 @@ module Braintree
3
3
  class AndroidPayDetails
4
4
  include BaseModule
5
5
 
6
- attr_reader :card_type, :last_4, :expiration_month, :expiration_year,
7
- :google_transaction_id, :virtual_card_type, :virtual_card_last_4,
8
- :source_card_type, :source_card_last_4, :source_description
6
+ attr_reader :card_type
7
+ attr_reader :expiration_month
8
+ attr_reader :expiration_year
9
+ attr_reader :google_transaction_id
10
+ attr_reader :last_4
11
+ attr_reader :source_card_last_4
12
+ attr_reader :source_card_type
13
+ attr_reader :source_description
14
+ attr_reader :virtual_card_last_4
15
+ attr_reader :virtual_card_type
9
16
 
10
17
  def initialize(attributes)
11
18
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,8 +3,13 @@ module Braintree
3
3
  class ApplePayDetails
4
4
  include BaseModule
5
5
 
6
- attr_reader :card_type, :last_4, :expiration_month, :expiration_year,
7
- :cardholder_name, :payment_instrument_name, :source_description
6
+ attr_reader :card_type
7
+ attr_reader :cardholder_name
8
+ attr_reader :expiration_month
9
+ attr_reader :expiration_year
10
+ attr_reader :last_4
11
+ attr_reader :payment_instrument_name
12
+ attr_reader :source_description
8
13
 
9
14
  def initialize(attributes)
10
15
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,7 +3,10 @@ module Braintree
3
3
  class CoinbaseDetails
4
4
  include BaseModule
5
5
 
6
- attr_reader :user_id, :user_name, :user_email, :token
6
+ attr_reader :user_id
7
+ attr_reader :user_email
8
+ attr_reader :user_name
9
+ attr_reader :token
7
10
 
8
11
  def initialize(attributes)
9
12
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,10 +3,25 @@ module Braintree
3
3
  class CreditCardDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :bin, :card_type, :cardholder_name, :commercial, :country_of_issuance,
7
- :customer_location, :debit, :durbin_regulated, :expiration_month, :expiration_year,
8
- :healthcare, :image_url, :issuing_bank, :last_4, :payroll, :prepaid, :product_id,
9
- :token, :unique_number_identifier
6
+ attr_reader :bin
7
+ attr_reader :card_type
8
+ attr_reader :cardholder_name
9
+ attr_reader :commercial
10
+ attr_reader :country_of_issuance
11
+ attr_reader :customer_location
12
+ attr_reader :debit
13
+ attr_reader :durbin_regulated
14
+ attr_reader :expiration_month
15
+ attr_reader :expiration_year
16
+ attr_reader :healthcare
17
+ attr_reader :image_url
18
+ attr_reader :issuing_bank
19
+ attr_reader :last_4
20
+ attr_reader :payroll
21
+ attr_reader :prepaid
22
+ attr_reader :product_id
23
+ attr_reader :token
24
+ attr_reader :unique_number_identifier
10
25
 
11
26
  def initialize(attributes)
12
27
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -17,8 +32,27 @@ module Braintree
17
32
  end
18
33
 
19
34
  def inspect
20
- attr_order = [:token, :bin, :last_4, :card_type, :expiration_date, :cardholder_name, :customer_location, :prepaid,
21
- :healthcare, :durbin_regulated, :debit, :commercial, :payroll, :product_id, :country_of_issuance, :issuing_bank, :image_url, :unique_number_identifier]
35
+ attr_order = [
36
+ :token,
37
+ :bin,
38
+ :last_4,
39
+ :card_type,
40
+ :expiration_date,
41
+ :cardholder_name,
42
+ :customer_location,
43
+ :prepaid,
44
+ :healthcare,
45
+ :durbin_regulated,
46
+ :debit,
47
+ :commercial,
48
+ :payroll,
49
+ :product_id,
50
+ :country_of_issuance,
51
+ :issuing_bank,
52
+ :image_url,
53
+ :unique_number_identifier,
54
+ ]
55
+
22
56
  formatted_attrs = attr_order.map do |attr|
23
57
  "#{attr}: #{send(attr).inspect}"
24
58
  end
@@ -3,7 +3,14 @@ module Braintree
3
3
  class CustomerDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :company, :email, :fax, :first_name, :id, :last_name, :phone, :website
6
+ attr_reader :company
7
+ attr_reader :email
8
+ attr_reader :fax
9
+ attr_reader :first_name
10
+ attr_reader :id
11
+ attr_reader :last_name
12
+ attr_reader :phone
13
+ attr_reader :website
7
14
 
8
15
  def initialize(attributes)
9
16
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,7 +3,11 @@ module Braintree
3
3
  class DisbursementDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :disbursement_date, :settlement_amount, :settlement_currency_iso_code, :settlement_currency_exchange_rate, :success
6
+ attr_reader :disbursement_date
7
+ attr_reader :settlement_amount
8
+ attr_reader :settlement_currency_exchange_rate
9
+ attr_reader :settlement_currency_iso_code
10
+ attr_reader :success
7
11
 
8
12
  alias_method :success?, :success
9
13
 
@@ -3,7 +3,11 @@ module Braintree
3
3
  class IdealPaymentDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :ideal_payment_id, :ideal_transaction_id, :masked_iban, :bic, :image_url
6
+ attr_reader :bic
7
+ attr_reader :ideal_payment_id
8
+ attr_reader :ideal_transaction_id
9
+ attr_reader :image_url
10
+ attr_reader :masked_iban
7
11
 
8
12
  def initialize(attributes)
9
13
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,10 +3,24 @@ module Braintree
3
3
  class MasterpassCardDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :bin, :card_type, :cardholder_name, :commercial, :country_of_issuance,
7
- :customer_location, :debit, :durbin_regulated, :expiration_month, :expiration_year,
8
- :healthcare, :image_url, :issuing_bank, :last_4, :payroll, :prepaid, :product_id,
9
- :token
6
+ attr_reader :bin
7
+ attr_reader :card_type
8
+ attr_reader :cardholder_name
9
+ attr_reader :commercial
10
+ attr_reader :country_of_issuance
11
+ attr_reader :customer_location
12
+ attr_reader :debit
13
+ attr_reader :durbin_regulated
14
+ attr_reader :expiration_month
15
+ attr_reader :expiration_year
16
+ attr_reader :healthcare
17
+ attr_reader :image_url
18
+ attr_reader :issuing_bank
19
+ attr_reader :last_4
20
+ attr_reader :payroll
21
+ attr_reader :prepaid
22
+ attr_reader :product_id
23
+ attr_reader :token
10
24
 
11
25
  def initialize(attributes)
12
26
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -3,10 +3,24 @@ module Braintree
3
3
  class PayPalDetails
4
4
  include BaseModule
5
5
 
6
- attr_reader :custom_field, :payer_email, :payment_id, :authorization_id, :token,
7
- :image_url, :debug_id, :payee_email, :payer_id, :payer_first_name, :payer_last_name,
8
- :payer_status, :seller_protection_status, :capture_id, :refund_id, :transaction_fee_amount,
9
- :transaction_fee_currency_iso_code, :description
6
+ attr_reader :authorization_id
7
+ attr_reader :capture_id
8
+ attr_reader :custom_field
9
+ attr_reader :debug_id
10
+ attr_reader :description
11
+ attr_reader :image_url
12
+ attr_reader :payee_email
13
+ attr_reader :payer_email
14
+ attr_reader :payer_first_name
15
+ attr_reader :payer_id
16
+ attr_reader :payer_last_name
17
+ attr_reader :payer_status
18
+ attr_reader :payment_id
19
+ attr_reader :refund_id
20
+ attr_reader :seller_protection_status
21
+ attr_reader :token
22
+ attr_reader :transaction_fee_amount
23
+ attr_reader :transaction_fee_currency_iso_code
10
24
 
11
25
  def initialize(attributes)
12
26
  set_instance_variables_from_hash attributes unless attributes.nil?