braintree 4.9.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/braintree/apple_pay_card.rb +2 -0
- data/lib/braintree/credit_card_verification_gateway.rb +18 -5
- data/lib/braintree/customer.rb +4 -1
- data/lib/braintree/dispute.rb +9 -0
- data/lib/braintree/dispute_search.rb +1 -0
- data/lib/braintree/error_codes.rb +7 -0
- data/lib/braintree/gateway.rb +4 -0
- data/lib/braintree/payment_instrument_type.rb +7 -6
- data/lib/braintree/payment_method_gateway.rb +2 -0
- data/lib/braintree/payment_method_nonce_details.rb +3 -0
- data/lib/braintree/payment_method_parser.rb +2 -0
- data/lib/braintree/sepa_direct_debit_account.rb +60 -0
- data/lib/braintree/sepa_direct_debit_account_gateway.rb +25 -0
- data/lib/braintree/sepa_direct_debit_account_nonce_details.rb +28 -0
- data/lib/braintree/test/nonce.rb +2 -0
- data/lib/braintree/transaction/credit_card_details.rb +4 -0
- data/lib/braintree/transaction/sepa_direct_debit_account_details.rb +27 -0
- data/lib/braintree/transaction.rb +6 -0
- data/lib/braintree/transaction_gateway.rb +1 -1
- data/lib/braintree/transaction_search.rb +1 -0
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification.rb +1 -0
- data/lib/braintree/webhook_testing_gateway.rb +76 -0
- data/lib/braintree.rb +4 -0
- data/spec/integration/braintree/credit_card_spec.rb +0 -60
- data/spec/integration/braintree/credit_card_verification_spec.rb +124 -1
- data/spec/integration/braintree/customer_spec.rb +1 -32
- data/spec/integration/braintree/dispute_search_spec.rb +28 -19
- data/spec/integration/braintree/dispute_spec.rb +27 -0
- data/spec/integration/braintree/http_spec.rb +1 -1
- data/spec/integration/braintree/paypal_account_spec.rb +2 -2
- data/spec/integration/braintree/sepa_direct_debit_account_spec.rb +196 -0
- data/spec/integration/braintree/subscription_spec.rb +1 -1
- data/spec/integration/braintree/transaction_search_spec.rb +34 -2
- data/spec/integration/braintree/transaction_spec.rb +107 -101
- data/spec/integration/spec_helper.rb +6 -0
- data/spec/unit/braintree/apple_pay_card_spec.rb +99 -11
- data/spec/unit/braintree/credit_card_verification_gateway_spec.rb +51 -0
- data/spec/unit/braintree/customer_spec.rb +11 -1
- data/spec/unit/braintree/dispute_search_spec.rb +1 -0
- data/spec/unit/braintree/dispute_spec.rb +8 -0
- data/spec/unit/braintree/payment_method_nonce_details_spec.rb +9 -1
- data/spec/unit/braintree/sepa_debit_account_nonce_details_spec.rb +29 -0
- data/spec/unit/braintree/sepa_debit_account_spec.rb +86 -0
- data/spec/unit/braintree/transaction/credit_card_details_spec.rb +16 -0
- data/spec/unit/braintree/transaction/deposit_details_spec.rb +1 -1
- data/spec/unit/braintree/transaction/sepa_direct_debit_account_details_spec.rb +33 -0
- data/spec/unit/braintree/transaction_gateway_spec.rb +111 -0
- data/spec/unit/braintree/transaction_spec.rb +72 -0
- data/spec/unit/braintree/webhook_notification_spec.rb +16 -0
- metadata +13 -3
@@ -0,0 +1,86 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::SepaDirectDebitAccount do
|
4
|
+
describe "self.new" do
|
5
|
+
subject do
|
6
|
+
-> { described_class.new }
|
7
|
+
end
|
8
|
+
|
9
|
+
it "is protected" do
|
10
|
+
is_expected.to raise_error(NoMethodError, /protected method .new/)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "self._new" do
|
15
|
+
let(:params) do
|
16
|
+
{
|
17
|
+
bank_reference_token: "a-reference-token",
|
18
|
+
created_at: Time.now,
|
19
|
+
customer_global_id: "a-customer-global-id",
|
20
|
+
customer_id: "a-customer-id",
|
21
|
+
default: true,
|
22
|
+
global_id: "a-global-id",
|
23
|
+
image_url: "a-image-url",
|
24
|
+
last_4: "4321",
|
25
|
+
mandate_type: "ONE_OFF",
|
26
|
+
merchant_or_partner_customer_id: "a-mp-customer-id",
|
27
|
+
subscriptions: [{price: "10.00"}],
|
28
|
+
token: "a-token",
|
29
|
+
updated_at: Time.now,
|
30
|
+
view_mandate_url: "a-view-mandate-url",
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
subject do
|
35
|
+
described_class._new(:gateway, params)
|
36
|
+
end
|
37
|
+
|
38
|
+
it "initializes the object with the appropriate attributes set" do
|
39
|
+
is_expected.to have_attributes(**params)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "self.find" do
|
44
|
+
let(:token) { "token" }
|
45
|
+
|
46
|
+
subject do
|
47
|
+
described_class.find(token)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "calls gateway find" do
|
51
|
+
expect_any_instance_of(Braintree::SepaDirectDebitAccountGateway).to receive(:find).with(token)
|
52
|
+
subject
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "self.delete" do
|
57
|
+
let(:token) { "token" }
|
58
|
+
|
59
|
+
subject do
|
60
|
+
described_class.delete(token)
|
61
|
+
end
|
62
|
+
|
63
|
+
it "calls gateway delete" do
|
64
|
+
expect_any_instance_of(Braintree::SepaDirectDebitAccountGateway).to receive(:delete).with(token)
|
65
|
+
subject
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
describe "default?" do
|
70
|
+
subject do
|
71
|
+
described_class._new(:gateway, :default => default).default?
|
72
|
+
end
|
73
|
+
|
74
|
+
context "when sepa debit account is the default payment method for the customer" do
|
75
|
+
let(:default) { true }
|
76
|
+
|
77
|
+
it { is_expected.to be true }
|
78
|
+
end
|
79
|
+
|
80
|
+
context "when sepa debit account is not the default payment method for the customer" do
|
81
|
+
let(:default) { false }
|
82
|
+
|
83
|
+
it { is_expected.to be false }
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -46,4 +46,20 @@ describe Braintree::Transaction::CreditCardDetails do
|
|
46
46
|
details.masked_number.should == "510510******5100"
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
describe "is_network_tokenized" do
|
51
|
+
it "returns true if is_network_tokenized is true" do
|
52
|
+
details = Braintree::Transaction::CreditCardDetails.new(
|
53
|
+
:is_network_tokenized => true,
|
54
|
+
)
|
55
|
+
details.is_network_tokenized?.should == true
|
56
|
+
end
|
57
|
+
|
58
|
+
it "returns false if is_network_tokenized is false" do
|
59
|
+
details = Braintree::Transaction::CreditCardDetails.new(
|
60
|
+
:is_network_tokenized => false,
|
61
|
+
)
|
62
|
+
details.is_network_tokenized?.should == false
|
63
|
+
end
|
64
|
+
end
|
49
65
|
end
|
@@ -4,7 +4,7 @@ describe Braintree::Transaction::DisbursementDetails do
|
|
4
4
|
describe "valid?" do
|
5
5
|
it "returns true if disbursement details are initialized" do
|
6
6
|
details = Braintree::Transaction::DisbursementDetails.new(
|
7
|
-
:disbursement_date => Date.new(2013, 4, 1),
|
7
|
+
:disbursement_date => Date.new(2013, 4, 1).to_s,
|
8
8
|
)
|
9
9
|
details.valid?.should == true
|
10
10
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::Transaction::SepaDirectDebitAccountDetails do
|
4
|
+
describe "initialize" do
|
5
|
+
let(:params) do
|
6
|
+
{
|
7
|
+
bank_reference_token: "a-reference-token",
|
8
|
+
capture_id: "a-capture-id",
|
9
|
+
debug_id: "a-debug-id",
|
10
|
+
global_id: "a-global-id",
|
11
|
+
last_4: "1234",
|
12
|
+
mandate_type: "ONE_OFF",
|
13
|
+
merchant_or_partner_customer_id: "12312312343",
|
14
|
+
paypal_v2_order_id: "a-paypal-v2-order-id",
|
15
|
+
refund_from_transaction_fee_amount: "2.34",
|
16
|
+
refund_from_transaction_fee_currency_iso_code: "EUR",
|
17
|
+
refund_id: "a-refund-id",
|
18
|
+
settlement_type: "INSTANT",
|
19
|
+
token: "a-token",
|
20
|
+
transaction_fee_amount: "12.34",
|
21
|
+
transaction_fee_currency_iso_code: "EUR",
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
subject do
|
26
|
+
described_class.new(params)
|
27
|
+
end
|
28
|
+
|
29
|
+
it "sets all fields" do
|
30
|
+
is_expected.to have_attributes(**params)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::TransactionGateway do
|
4
|
+
describe "Transaction Gateway" do
|
5
|
+
let(:gateway) do
|
6
|
+
config = Braintree::Configuration.new(
|
7
|
+
:merchant_id => "merchant_id",
|
8
|
+
:public_key => "public_key",
|
9
|
+
:private_key => "private_key",
|
10
|
+
)
|
11
|
+
Braintree::Gateway.new(config)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "creates a transactionGateway gateway" do
|
15
|
+
result = Braintree::TransactionGateway.new(gateway)
|
16
|
+
|
17
|
+
result.inspect.should include("merchant_id")
|
18
|
+
result.inspect.should include("public_key")
|
19
|
+
result.inspect.should include("private_key")
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "self.create" do
|
23
|
+
it "raises an exception if attributes contain an invalid key" do
|
24
|
+
expect do
|
25
|
+
transaction = Braintree::TransactionGateway.new(gateway)
|
26
|
+
transaction.create(:invalid_key => "val")
|
27
|
+
end.to raise_error(ArgumentError, "invalid keys: invalid_key")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
it "creates a transaction gateway signature" do
|
32
|
+
expect(Braintree::TransactionGateway._create_signature).to match([
|
33
|
+
:amount, :billing_address_id, :channel, :customer_id, :device_data, :discount_amount,
|
34
|
+
:merchant_account_id, :order_id, :payment_method_nonce, :payment_method_token,
|
35
|
+
:product_sku, :purchase_order_number, :service_fee_amount, :shared_billing_address_id,
|
36
|
+
:shared_customer_id, :shared_payment_method_nonce, :shared_payment_method_token,
|
37
|
+
:shared_shipping_address_id, :shipping_address_id, :shipping_amount,
|
38
|
+
:ships_from_postal_code, :tax_amount, :tax_exempt, :three_d_secure_authentication_id,
|
39
|
+
:three_d_secure_token, :transaction_source, :type, :venmo_sdk_payment_method_code,
|
40
|
+
:sca_exemption, :currency_iso_code, :exchange_rate_quote_id,
|
41
|
+
{:line_items => [:quantity, :name, :description, :kind, :unit_amount, :unit_tax_amount, :total_amount, :discount_amount, :tax_amount, :unit_of_measure, :product_code, :commodity_code, :url]},
|
42
|
+
{:risk_data => [:customer_browser, :customer_device_id, :customer_ip, :customer_location_zip, :customer_tenure]},
|
43
|
+
{:credit_card => [:token, :cardholder_name, :cvv, :expiration_date, :expiration_month, :expiration_year, :number, {:payment_reader_card_details => [:encrypted_card_data, :key_serial_number]}, {:network_tokenization_attributes => [:cryptogram, :ecommerce_indicator, :token_requestor_id]}]},
|
44
|
+
{:customer => [:id, :company, :email, :fax, :first_name, :last_name, :phone, :website]},
|
45
|
+
{
|
46
|
+
:billing => Braintree::AddressGateway._shared_signature
|
47
|
+
},
|
48
|
+
{
|
49
|
+
:shipping => Braintree::AddressGateway._shared_signature + [:shipping_method],
|
50
|
+
},
|
51
|
+
{
|
52
|
+
:three_d_secure_pass_thru => [
|
53
|
+
:eci_flag,
|
54
|
+
:cavv,
|
55
|
+
:xid,
|
56
|
+
:three_d_secure_version,
|
57
|
+
:authentication_response,
|
58
|
+
:directory_response,
|
59
|
+
:cavv_algorithm,
|
60
|
+
:ds_transaction_id,
|
61
|
+
]
|
62
|
+
},
|
63
|
+
{:options => [
|
64
|
+
:hold_in_escrow,
|
65
|
+
:store_in_vault,
|
66
|
+
:store_in_vault_on_success,
|
67
|
+
:submit_for_settlement,
|
68
|
+
:add_billing_address_to_payment_method,
|
69
|
+
:store_shipping_address_in_vault,
|
70
|
+
:venmo_sdk_session,
|
71
|
+
:payee_id,
|
72
|
+
:payee_email,
|
73
|
+
:skip_advanced_fraud_checking,
|
74
|
+
:skip_avs,
|
75
|
+
:skip_cvv,
|
76
|
+
{:paypal => [:custom_field, :payee_id, :payee_email, :description, {:supplementary_data => :_any_key_}]},
|
77
|
+
{:three_d_secure => [:required]},
|
78
|
+
{:amex_rewards => [:request_id, :points, :currency_amount, :currency_iso_code]},
|
79
|
+
{:venmo => [:profile_id]},
|
80
|
+
{:credit_card => [:account_type]},
|
81
|
+
]
|
82
|
+
},
|
83
|
+
{:external_vault => [
|
84
|
+
:status,
|
85
|
+
:previous_network_transaction_id,
|
86
|
+
]},
|
87
|
+
{:custom_fields => :_any_key_},
|
88
|
+
{:descriptor => [:name, :phone, :url]},
|
89
|
+
{:paypal_account => [:email, :token, :paypal_data, :payee_id, :payee_email, :payer_id, :payment_id]},
|
90
|
+
{:industry => [
|
91
|
+
:industry_type,
|
92
|
+
{:data => [
|
93
|
+
:folio_number, :check_in_date, :check_out_date, :travel_package, :lodging_check_in_date, :lodging_check_out_date, :departure_date, :lodging_name, :room_rate, :room_tax,
|
94
|
+
:passenger_first_name, :passenger_last_name, :passenger_middle_initial, :passenger_title, :issued_date, :travel_agency_name, :travel_agency_code, :ticket_number,
|
95
|
+
:issuing_carrier_code, :customer_code, :fare_amount, :fee_amount, :tax_amount, :restricted_ticket, :no_show, :advanced_deposit, :fire_safe, :property_phone,
|
96
|
+
{:legs => [
|
97
|
+
:conjunction_ticket, :exchange_ticket, :coupon_number, :service_class, :carrier_code, :fare_basis_code, :flight_number, :departure_date, :departure_airport_code, :departure_time,
|
98
|
+
:arrival_airport_code, :arrival_time, :stopover_permitted, :fare_amount, :fee_amount, :tax_amount, :endorsement_or_restrictions,
|
99
|
+
]},
|
100
|
+
{:additional_charges => [
|
101
|
+
:kind, :amount,
|
102
|
+
]},
|
103
|
+
]},
|
104
|
+
]},
|
105
|
+
{:apple_pay_card => [:number, :cardholder_name, :cryptogram, :expiration_month, :expiration_year, :eci_indicator]},
|
106
|
+
{:google_pay_card => [:number, :cryptogram, :google_transaction_id, :expiration_month, :expiration_year, :source_card_type, :source_card_last_four, :eci_indicator]},
|
107
|
+
{:installments => [:count]},
|
108
|
+
])
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -147,6 +147,48 @@ describe Braintree::Transaction do
|
|
147
147
|
transaction.credit_card_details.issuing_bank.should == "Mr Tumnus"
|
148
148
|
end
|
149
149
|
|
150
|
+
it "sets up network token attributes in network_token_details" do
|
151
|
+
transaction = Braintree::Transaction._new(
|
152
|
+
:gateway,
|
153
|
+
:network_token => {
|
154
|
+
:token => "mzg2",
|
155
|
+
:bin => "411111",
|
156
|
+
:last_4 => "1111",
|
157
|
+
:card_type => "Visa",
|
158
|
+
:expiration_month => "08",
|
159
|
+
:expiration_year => "2009",
|
160
|
+
:customer_location => "US",
|
161
|
+
:prepaid => "Yes",
|
162
|
+
:healthcare => "Yes",
|
163
|
+
:durbin_regulated => "Yes",
|
164
|
+
:debit => "Yes",
|
165
|
+
:commercial => "No",
|
166
|
+
:payroll => "Unknown",
|
167
|
+
:product_id => "Unknown",
|
168
|
+
:country_of_issuance => "Narnia",
|
169
|
+
:issuing_bank => "Mr Tumnus",
|
170
|
+
:is_network_tokenized => true
|
171
|
+
},
|
172
|
+
)
|
173
|
+
transaction.network_token_details.token.should == "mzg2"
|
174
|
+
transaction.network_token_details.bin.should == "411111"
|
175
|
+
transaction.network_token_details.last_4.should == "1111"
|
176
|
+
transaction.network_token_details.card_type.should == "Visa"
|
177
|
+
transaction.network_token_details.expiration_month.should == "08"
|
178
|
+
transaction.network_token_details.expiration_year.should == "2009"
|
179
|
+
transaction.network_token_details.customer_location.should == "US"
|
180
|
+
transaction.network_token_details.prepaid.should == Braintree::CreditCard::Prepaid::Yes
|
181
|
+
transaction.network_token_details.healthcare.should == Braintree::CreditCard::Healthcare::Yes
|
182
|
+
transaction.network_token_details.durbin_regulated.should == Braintree::CreditCard::DurbinRegulated::Yes
|
183
|
+
transaction.network_token_details.debit.should == Braintree::CreditCard::Debit::Yes
|
184
|
+
transaction.network_token_details.commercial.should == Braintree::CreditCard::Commercial::No
|
185
|
+
transaction.network_token_details.payroll.should == Braintree::CreditCard::Payroll::Unknown
|
186
|
+
transaction.network_token_details.product_id.should == Braintree::CreditCard::ProductId::Unknown
|
187
|
+
transaction.network_token_details.country_of_issuance.should == "Narnia"
|
188
|
+
transaction.network_token_details.issuing_bank.should == "Mr Tumnus"
|
189
|
+
transaction.network_token_details.is_network_tokenized?.should == true
|
190
|
+
end
|
191
|
+
|
150
192
|
it "sets up three_d_secure_info" do
|
151
193
|
transaction = Braintree::Transaction._new(
|
152
194
|
:gateway,
|
@@ -255,6 +297,29 @@ describe Braintree::Transaction do
|
|
255
297
|
expect(transaction.network_response_code).to eq("00")
|
256
298
|
expect(transaction.network_response_text).to eq("Successful approval/completion or V.I.P. PIN verification is successful")
|
257
299
|
end
|
300
|
+
|
301
|
+
it "accepts sepa_direct_debit_return_code" do
|
302
|
+
transaction = Braintree::Transaction._new(
|
303
|
+
:gateway,
|
304
|
+
:sepa_direct_debit_return_code => "AM04",
|
305
|
+
)
|
306
|
+
expect(transaction.sepa_direct_debit_return_code).to eq("AM04")
|
307
|
+
end
|
308
|
+
|
309
|
+
it "accepts sepa_direct_debit_account_details" do
|
310
|
+
transaction = Braintree::Transaction._new(
|
311
|
+
:gateway,
|
312
|
+
:id => "123",
|
313
|
+
:type => "sale",
|
314
|
+
:amount => "12.34",
|
315
|
+
:status => "settled",
|
316
|
+
:sepa_debit_account_detail => {
|
317
|
+
:token => "1234",
|
318
|
+
},
|
319
|
+
)
|
320
|
+
details = transaction.sepa_direct_debit_account_details
|
321
|
+
details.token.should == "1234"
|
322
|
+
end
|
258
323
|
end
|
259
324
|
|
260
325
|
describe "inspect" do
|
@@ -390,4 +455,11 @@ describe Braintree::Transaction do
|
|
390
455
|
transaction.processed_with_network_token?.should == false
|
391
456
|
end
|
392
457
|
end
|
458
|
+
|
459
|
+
describe "gateway rejection reason" do
|
460
|
+
it "verifies excessive_retry mapping" do
|
461
|
+
transaction = Braintree::Transaction._new(:gateway, :gateway_rejection_reason => "excessive_retry")
|
462
|
+
transaction.gateway_rejection_reason.should == Braintree::Transaction::GatewayRejectionReason::ExcessiveRetry
|
463
|
+
end
|
464
|
+
end
|
393
465
|
end
|
@@ -200,6 +200,22 @@ describe Braintree::WebhookNotification do
|
|
200
200
|
dispute.kind.should == Braintree::Dispute::Kind::Chargeback
|
201
201
|
end
|
202
202
|
|
203
|
+
it "builds a sample notification for a dispute auto_accepted webhook" do
|
204
|
+
sample_notification = Braintree::WebhookTesting.sample_notification(
|
205
|
+
Braintree::WebhookNotification::Kind::DisputeAutoAccepted,
|
206
|
+
dispute_id,
|
207
|
+
)
|
208
|
+
|
209
|
+
notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
|
210
|
+
|
211
|
+
notification.kind.should == Braintree::WebhookNotification::Kind::DisputeAutoAccepted
|
212
|
+
|
213
|
+
dispute = notification.dispute
|
214
|
+
dispute.status.should == Braintree::Dispute::Status::AutoAccepted
|
215
|
+
dispute.id.should == dispute_id
|
216
|
+
dispute.kind.should == Braintree::Dispute::Kind::Chargeback
|
217
|
+
end
|
218
|
+
|
203
219
|
it "builds a sample notification for a dispute disputed webhook" do
|
204
220
|
sample_notification = Braintree::WebhookTesting.sample_notification(
|
205
221
|
Braintree::WebhookNotification::Kind::DisputeDisputed,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: braintree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Braintree
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -146,6 +146,9 @@ files:
|
|
146
146
|
- lib/braintree/risk_data.rb
|
147
147
|
- lib/braintree/risk_data/liability_shift.rb
|
148
148
|
- lib/braintree/samsung_pay_card.rb
|
149
|
+
- lib/braintree/sepa_direct_debit_account.rb
|
150
|
+
- lib/braintree/sepa_direct_debit_account_gateway.rb
|
151
|
+
- lib/braintree/sepa_direct_debit_account_nonce_details.rb
|
149
152
|
- lib/braintree/settlement_batch_summary.rb
|
150
153
|
- lib/braintree/settlement_batch_summary_gateway.rb
|
151
154
|
- lib/braintree/sha256_digest.rb
|
@@ -177,6 +180,7 @@ files:
|
|
177
180
|
- lib/braintree/transaction/paypal_details.rb
|
178
181
|
- lib/braintree/transaction/paypal_here_details.rb
|
179
182
|
- lib/braintree/transaction/samsung_pay_card_details.rb
|
183
|
+
- lib/braintree/transaction/sepa_direct_debit_account_details.rb
|
180
184
|
- lib/braintree/transaction/status_details.rb
|
181
185
|
- lib/braintree/transaction/subscription_details.rb
|
182
186
|
- lib/braintree/transaction/us_bank_account_details.rb
|
@@ -245,6 +249,7 @@ files:
|
|
245
249
|
- spec/integration/braintree/paypal_account_spec.rb
|
246
250
|
- spec/integration/braintree/plan_spec.rb
|
247
251
|
- spec/integration/braintree/samsung_pay_card_spec.rb
|
252
|
+
- spec/integration/braintree/sepa_direct_debit_account_spec.rb
|
248
253
|
- spec/integration/braintree/settlement_batch_summary_spec.rb
|
249
254
|
- spec/integration/braintree/subscription_spec.rb
|
250
255
|
- spec/integration/braintree/test/transaction_amounts_spec.rb
|
@@ -272,6 +277,7 @@ files:
|
|
272
277
|
- spec/unit/braintree/configuration_spec.rb
|
273
278
|
- spec/unit/braintree/credentials_parser_spec.rb
|
274
279
|
- spec/unit/braintree/credit_card_spec.rb
|
280
|
+
- spec/unit/braintree/credit_card_verification_gateway_spec.rb
|
275
281
|
- spec/unit/braintree/credit_card_verification_search_spec.rb
|
276
282
|
- spec/unit/braintree/credit_card_verification_spec.rb
|
277
283
|
- spec/unit/braintree/customer_spec.rb
|
@@ -303,6 +309,8 @@ files:
|
|
303
309
|
- spec/unit/braintree/resource_collection_spec.rb
|
304
310
|
- spec/unit/braintree/risk_data/liability_shift.rb
|
305
311
|
- spec/unit/braintree/risk_data_spec.rb
|
312
|
+
- spec/unit/braintree/sepa_debit_account_nonce_details_spec.rb
|
313
|
+
- spec/unit/braintree/sepa_debit_account_spec.rb
|
306
314
|
- spec/unit/braintree/sha256_digest_spec.rb
|
307
315
|
- spec/unit/braintree/signature_service_spec.rb
|
308
316
|
- spec/unit/braintree/subscription_search_spec.rb
|
@@ -314,6 +322,8 @@ files:
|
|
314
322
|
- spec/unit/braintree/transaction/deposit_details_spec.rb
|
315
323
|
- spec/unit/braintree/transaction/installment_spec.rb
|
316
324
|
- spec/unit/braintree/transaction/paypal_details_spec.rb
|
325
|
+
- spec/unit/braintree/transaction/sepa_direct_debit_account_details_spec.rb
|
326
|
+
- spec/unit/braintree/transaction_gateway_spec.rb
|
317
327
|
- spec/unit/braintree/transaction_search_spec.rb
|
318
328
|
- spec/unit/braintree/transaction_spec.rb
|
319
329
|
- spec/unit/braintree/unknown_payment_method_spec.rb
|
@@ -354,7 +364,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
354
364
|
- !ruby/object:Gem::Version
|
355
365
|
version: '0'
|
356
366
|
requirements: []
|
357
|
-
rubygems_version: 3.
|
367
|
+
rubygems_version: 3.4.10
|
358
368
|
signing_key:
|
359
369
|
specification_version: 4
|
360
370
|
summary: Braintree Ruby Server SDK
|