braintree 4.3.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47a154939f137c75bb981bb87bc53531502190ebd6dc8541e6df267c4692f520
4
- data.tar.gz: 8acb4e0255f8b0ae61bcf7749f05b93bb4f09aa451fb5f1951d7605ce2b1f6b5
3
+ metadata.gz: d7279d06aef254f1954bf7b8801e4717aa258f7413f05f1c076fbb6f1e2258c5
4
+ data.tar.gz: 9b136fbc93fa3f251972a44b0728244f746ef1868507cb40385780cd2137ff22
5
5
  SHA512:
6
- metadata.gz: a00d9aa6efeaf3e218f01470941c218fbcd3f3551f8259af0b2e4acdb55349c9c17ac36fd4e4163216e3569e2fbf6b3e247ba49ecdfea853dc63b9387b921ff9
7
- data.tar.gz: 85d512a9b6b445d7a0e17c48b020a9ccbf1491f067ab7d845f7bc554bb9597aea1cd62d965396b86b9f45f06fd2c5707acbb17a848b699ca7500772bcff97656
6
+ metadata.gz: d611127df5091cb248b434285a2cd2c5080749515d60beba2a00af28809106dca11a4b5607f8774ac111d8115e5bbc85965817ba8fb45e309bbb2ecb8b8e4382
7
+ data.tar.gz: c7f547f0a2b62aa36b94e2f410e3375d1b4a2d3d7e76c570f3c9d387c15299a8ed858237db461de7f1889b5552e4c85dd1cedd42ce741c2360eeb38b71ef87c3
data/lib/braintree.rb CHANGED
@@ -73,6 +73,8 @@ require "braintree/graphql_client"
73
73
  require "braintree/google_pay_card"
74
74
  require "braintree/local_payment_completed"
75
75
  require "braintree/local_payment_reversed"
76
+ require "braintree/local_payment_expired"
77
+ require "braintree/local_payment_funded"
76
78
  require "braintree/transaction/local_payment_details"
77
79
  require "braintree/merchant"
78
80
  require "braintree/merchant_gateway"
@@ -188,6 +188,7 @@ module Braintree
188
188
  formatted_xml = input_xml.gsub(/^/, "[Braintree] ")
189
189
  formatted_xml = formatted_xml.gsub(/<number>(.{6}).+?(.{4})<\/number>/m, '<number>\1******\2</number>')
190
190
  formatted_xml = formatted_xml.gsub(/<cvv>.+?<\/cvv>/m, "<cvv>***</cvv>")
191
+ formatted_xml = formatted_xml.gsub(/<encrypted-card-data>.+?<\/encrypted-card-data>/m, "<encrypted-card-data>***</encrypted-card-data>")
191
192
  formatted_xml
192
193
  end
193
194
 
@@ -0,0 +1,21 @@
1
+ module Braintree
2
+ class LocalPaymentExpired
3
+ include BaseModule
4
+
5
+ attr_reader :payment_id
6
+ attr_reader :payment_context_id
7
+
8
+ def initialize(attributes) # :nodoc:
9
+ set_instance_variables_from_hash(attributes)
10
+ end
11
+
12
+ class << self
13
+ protected :new
14
+ end
15
+
16
+ def self._new(*args) # :nodoc:
17
+ self.new(*args)
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,22 @@
1
+ module Braintree
2
+ class LocalPaymentFunded
3
+ include BaseModule
4
+
5
+ attr_reader :payment_id
6
+ attr_reader :payment_context_id
7
+ attr_reader :transaction
8
+
9
+ def initialize(attributes) # :nodoc:
10
+ set_instance_variables_from_hash(attributes)
11
+ @transaction = Transaction._new(Configuration.gateway, transaction)
12
+ end
13
+
14
+ class << self
15
+ protected :new
16
+ end
17
+
18
+ def self._new(*args) # :nodoc:
19
+ self.new(*args)
20
+ end
21
+ end
22
+ end
@@ -1,7 +1,7 @@
1
1
  module Braintree
2
2
  module Version
3
3
  Major = 4
4
- Minor = 3
4
+ Minor = 4
5
5
  Tiny = 0
6
6
 
7
7
  String = "#{Major}.#{Minor}.#{Tiny}"
@@ -28,6 +28,8 @@ module Braintree
28
28
  GrantedPaymentMethodRevoked = "granted_payment_method_revoked"
29
29
 
30
30
  LocalPaymentCompleted = "local_payment_completed"
31
+ LocalPaymentExpired = "local_payment_expired"
32
+ LocalPaymentFunded = "local_payment_funded"
31
33
  LocalPaymentReversed = "local_payment_reversed"
32
34
 
33
35
  OAuthAccessRevoked = "oauth_access_revoked"
@@ -65,6 +67,8 @@ module Braintree
65
67
  attr_reader :revoked_payment_method_metadata
66
68
  attr_reader :kind
67
69
  attr_reader :local_payment_completed
70
+ attr_reader :local_payment_expired
71
+ attr_reader :local_payment_funded
68
72
  attr_reader :local_payment_reversed
69
73
  attr_reader :oauth_access_revocation
70
74
  attr_reader :partner_merchant
@@ -98,6 +102,8 @@ module Braintree
98
102
  @granted_payment_instrument_update = GrantedPaymentInstrumentUpdate._new(@subject[:granted_payment_instrument_update]) if @subject.has_key?(:granted_payment_instrument_update)
99
103
  @revoked_payment_method_metadata = RevokedPaymentMethodMetadata._new(gateway, @subject) if [Kind::GrantedPaymentInstrumentRevoked, Kind::PaymentMethodRevokedByCustomer, Kind::GrantedPaymentMethodRevoked].include?(@kind)
100
104
  @local_payment_completed = LocalPaymentCompleted._new(@subject[:local_payment]) if @subject.has_key?(:local_payment) && Kind::LocalPaymentCompleted == @kind
105
+ @local_payment_expired = LocalPaymentExpired._new(@subject[:local_payment_expired]) if @subject.has_key?(:local_payment_expired) && Kind::LocalPaymentExpired == @kind
106
+ @local_payment_funded = LocalPaymentFunded._new(@subject[:local_payment_funded]) if @subject.has_key?(:local_payment_funded) && Kind::LocalPaymentFunded == @kind
101
107
  @local_payment_reversed = LocalPaymentReversed._new(@subject[:local_payment_reversed]) if @subject.has_key?(:local_payment_reversed) && Kind::LocalPaymentReversed == @kind
102
108
  end
103
109
 
@@ -88,8 +88,12 @@ module Braintree
88
88
  _payment_method_revoked_by_customer_sample_xml(id)
89
89
  when Braintree::WebhookNotification::Kind::LocalPaymentCompleted
90
90
  _local_payment_completed_sample_xml(id)
91
+ when Braintree::WebhookNotification::Kind::LocalPaymentExpired
92
+ _local_payment_expired_sample_xml
93
+ when Braintree::WebhookNotification::Kind::LocalPaymentFunded
94
+ _local_payment_funded_sample_xml(id)
91
95
  when Braintree::WebhookNotification::Kind::LocalPaymentReversed
92
- _local_payment_reversed_sample_xml(id)
96
+ _local_payment_reversed_sample_xml
93
97
  else
94
98
  _subscription_sample_xml(id)
95
99
  end
@@ -935,10 +939,35 @@ module Braintree
935
939
  XML
936
940
  end
937
941
 
938
- def _local_payment_reversed_sample_xml(id)
942
+ def _local_payment_expired_sample_xml
943
+ <<-XML
944
+ <local-payment-expired>
945
+ <payment-id>PAY-XYZ123</payment-id>
946
+ <payment-context-id>cG5b=</payment-context-id>
947
+ </local-payment-expired>
948
+ XML
949
+ end
950
+
951
+ def _local_payment_funded_sample_xml(id)
952
+ <<-XML
953
+ <local-payment-funded>
954
+ <payment-id>PAY-XYZ123</payment-id>
955
+ <payment-context-id>cG5b=</payment-context-id>
956
+ <transaction>
957
+ <id>#{id}</id>
958
+ <status>settled</status>
959
+ <amount>49.99</amount>
960
+ <order-id>order4567</order-id>
961
+ </transaction>
962
+ </local-payment-funded>
963
+ XML
964
+ end
965
+
966
+ def _local_payment_reversed_sample_xml
939
967
  <<-XML
940
968
  <local-payment-reversed>
941
969
  <payment-id>PAY-XYZ123</payment-id>
970
+ <payment-context-id>cG5b=</payment-context-id>
942
971
  </local-payment-reversed>
943
972
  XML
944
973
  end
@@ -25,6 +25,7 @@ END
25
25
  <last-name>Doe</last-name>
26
26
  <number>1234560000001234</number>
27
27
  <cvv>123</cvv>
28
+ <encrypted-card-data>8F34DFB312DC79C24FD5320622F3E11682D79E6B0C0FD881</encrypted-card-data>
28
29
  </customer>
29
30
  END
30
31
 
@@ -34,6 +35,7 @@ END
34
35
  [Braintree] <last-name>Doe</last-name>
35
36
  [Braintree] <number>123456******1234</number>
36
37
  [Braintree] <cvv>***</cvv>
38
+ [Braintree] <encrypted-card-data>***</encrypted-card-data>
37
39
  [Braintree] </customer>
38
40
  END
39
41
  Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml).should == expected_xml
@@ -0,0 +1,24 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Braintree::LocalPaymentExpired do
4
+ describe "self.new" do
5
+ it "is protected" do
6
+ expect do
7
+ Braintree::LocalPaymentExpired.new
8
+ end.to raise_error(NoMethodError, /protected method .new/)
9
+ end
10
+ end
11
+
12
+ describe "self._new" do
13
+ it "initializes the object with the appropriate attributes set" do
14
+ params = {
15
+ payment_id: "a-payment-id",
16
+ payment_context_id: "a-payment-context-id",
17
+ }
18
+ local_payment_expired = Braintree::LocalPaymentExpired._new(params)
19
+
20
+ local_payment_expired.payment_id.should eq("a-payment-id")
21
+ local_payment_expired.payment_context_id.should eq("a-payment-context-id")
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,34 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Braintree::LocalPaymentFunded do
4
+ describe "self.new" do
5
+ it "is protected" do
6
+ expect do
7
+ Braintree::LocalPaymentFunded.new
8
+ end.to raise_error(NoMethodError, /protected method .new/)
9
+ end
10
+ end
11
+
12
+ describe "self._new" do
13
+ it "initializes the object with the appropriate attributes set" do
14
+ params = {
15
+ payment_id: "a-payment-id",
16
+ payment_context_id: "a-payment-context-id",
17
+ transaction: {
18
+ id: "a-transaction-id",
19
+ amount: "31.00",
20
+ order_id: "an-order-id",
21
+ status: Braintree::Transaction::Status::Settled,
22
+ },
23
+ }
24
+ local_payment_funded = Braintree::LocalPaymentFunded._new(params)
25
+
26
+ local_payment_funded.payment_id.should eq("a-payment-id")
27
+ local_payment_funded.payment_context_id.should eq("a-payment-context-id")
28
+ local_payment_funded.transaction.id.should eq("a-transaction-id")
29
+ local_payment_funded.transaction.amount.should eq(31.0)
30
+ local_payment_funded.transaction.order_id.should eq("an-order-id")
31
+ local_payment_funded.transaction.status.should eq(Braintree::Transaction::Status::Settled)
32
+ end
33
+ end
34
+ end
@@ -668,6 +668,40 @@ describe Braintree::WebhookNotification do
668
668
  end
669
669
  end
670
670
 
671
+ context "local_payment_expired" do
672
+ it "builds a sample notification for a local_payment_expired webhook" do
673
+ sample_notification = Braintree::WebhookTesting.sample_notification(
674
+ Braintree::WebhookNotification::Kind::LocalPaymentExpired,
675
+ "my_id",
676
+ )
677
+
678
+ notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
679
+ notification.kind.should == Braintree::WebhookNotification::Kind::LocalPaymentExpired
680
+
681
+ local_payment_expired = notification.local_payment_expired
682
+ local_payment_expired.payment_id.should == "PAY-XYZ123"
683
+ local_payment_expired.payment_context_id.should == "cG5b="
684
+ end
685
+ end
686
+
687
+ context "local_payment_funded" do
688
+ it "builds a sample notification for a local_payment_funded webhook" do
689
+ sample_notification = Braintree::WebhookTesting.sample_notification(
690
+ Braintree::WebhookNotification::Kind::LocalPaymentFunded,
691
+ "my_id",
692
+ )
693
+ notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
694
+ notification.kind.should == Braintree::WebhookNotification::Kind::LocalPaymentFunded
695
+
696
+ local_payment_funded = notification.local_payment_funded
697
+ local_payment_funded.payment_id.should == "PAY-XYZ123"
698
+ local_payment_funded.payment_context_id.should == "cG5b="
699
+ local_payment_funded.transaction.id.should == "my_id"
700
+ local_payment_funded.transaction.status.should == Braintree::Transaction::Status::Settled
701
+ local_payment_funded.transaction.amount.should == 49.99
702
+ local_payment_funded.transaction.order_id.should == "order4567"
703
+ end
704
+ end
671
705
 
672
706
  context "local_payment_reversed" do
673
707
  it "builds a sample notification for a local_payment webhook" do
@@ -675,7 +709,6 @@ describe Braintree::WebhookNotification do
675
709
  Braintree::WebhookNotification::Kind::LocalPaymentReversed,
676
710
  "my_id",
677
711
  )
678
-
679
712
  notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
680
713
  notification.kind.should == Braintree::WebhookNotification::Kind::LocalPaymentReversed
681
714
 
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.3.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Braintree
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-15 00:00:00.000000000 Z
11
+ date: 2021-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -104,6 +104,8 @@ files:
104
104
  - lib/braintree/graphql_client.rb
105
105
  - lib/braintree/http.rb
106
106
  - lib/braintree/local_payment_completed.rb
107
+ - lib/braintree/local_payment_expired.rb
108
+ - lib/braintree/local_payment_funded.rb
107
109
  - lib/braintree/local_payment_reversed.rb
108
110
  - lib/braintree/merchant.rb
109
111
  - lib/braintree/merchant_account.rb
@@ -270,6 +272,8 @@ files:
270
272
  - spec/unit/braintree/errors_spec.rb
271
273
  - spec/unit/braintree/http_spec.rb
272
274
  - spec/unit/braintree/local_payment_completed_spec.rb
275
+ - spec/unit/braintree/local_payment_expired_spec.rb
276
+ - spec/unit/braintree/local_payment_funded_spec.rb
273
277
  - spec/unit/braintree/merchant_account_spec.rb
274
278
  - spec/unit/braintree/modification_spec.rb
275
279
  - spec/unit/braintree/payment_method_nonce_details_payer_info_spec.rb
@@ -329,7 +333,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
329
333
  - !ruby/object:Gem::Version
330
334
  version: '0'
331
335
  requirements: []
332
- rubygems_version: 3.2.24
336
+ rubygems_version: 3.2.25
333
337
  signing_key:
334
338
  specification_version: 4
335
339
  summary: Braintree Ruby Server SDK