braintree 2.49.0 → 2.50.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/braintree.rb +1 -0
- data/lib/braintree/credit_card.rb +5 -1
- data/lib/braintree/credit_card_gateway.rb +14 -0
- data/lib/braintree/error_codes.rb +2 -0
- data/lib/braintree/facilitator_details.rb +19 -0
- data/lib/braintree/gateway.rb +4 -4
- data/lib/braintree/merchant.rb +4 -0
- data/lib/braintree/merchant_gateway.rb +11 -0
- data/lib/braintree/payment_method_gateway.rb +1 -0
- data/lib/braintree/payment_method_nonce.rb +2 -2
- data/lib/braintree/successful_result.rb +1 -1
- data/lib/braintree/transaction.rb +8 -0
- data/lib/braintree/transaction_gateway.rb +9 -1
- data/lib/braintree/transaction_search.rb +1 -5
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification.rb +6 -0
- data/lib/braintree/webhook_testing_gateway.rb +9 -0
- data/spec/httpsd.pid +1 -0
- data/spec/integration/braintree/credit_card_spec.rb +102 -0
- data/spec/integration/braintree/merchant_spec.rb +56 -1
- data/spec/integration/braintree/payment_method_nonce_spec.rb +2 -3
- data/spec/integration/braintree/payment_method_spec.rb +53 -1
- data/spec/integration/braintree/transaction_spec.rb +204 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/unit/braintree/credit_card_spec.rb +27 -0
- data/spec/unit/braintree/webhook_notification_spec.rb +24 -0
- metadata +165 -159
- checksums.yaml +0 -7
@@ -42,14 +42,13 @@ describe Braintree::PaymentMethodNonce do
|
|
42
42
|
|
43
43
|
describe "self.find" do
|
44
44
|
it "finds and returns the nonce if one was found" do
|
45
|
-
result = Braintree::PaymentMethodNonce.find("
|
45
|
+
result = Braintree::PaymentMethodNonce.find("fake-valid-nonce")
|
46
46
|
|
47
47
|
nonce = result.payment_method_nonce
|
48
48
|
|
49
49
|
result.should be_success
|
50
|
-
nonce.nonce.should == "
|
50
|
+
nonce.nonce.should == "fake-valid-nonce"
|
51
51
|
nonce.type.should == "CreditCard"
|
52
|
-
nonce.three_d_secure_info.liability_shifted.should == true
|
53
52
|
end
|
54
53
|
|
55
54
|
it "returns null 3ds_info if there isn't any" do
|
@@ -737,6 +737,47 @@ describe Braintree::PaymentMethod do
|
|
737
737
|
end
|
738
738
|
|
739
739
|
describe "self.delete" do
|
740
|
+
it "deletes an android pay card" do
|
741
|
+
customer = Braintree::Customer.create!
|
742
|
+
|
743
|
+
create_result = Braintree::PaymentMethod.create(
|
744
|
+
:payment_method_nonce => Braintree::Test::Nonce::AndroidPayDiscover,
|
745
|
+
:customer_id => customer.id
|
746
|
+
)
|
747
|
+
|
748
|
+
token = create_result.payment_method.token
|
749
|
+
|
750
|
+
android_card = Braintree::PaymentMethod.find(token)
|
751
|
+
android_card.should be_a(Braintree::AndroidPayCard)
|
752
|
+
|
753
|
+
delete_result = Braintree::PaymentMethod.delete(token)
|
754
|
+
delete_result.success?.should == true
|
755
|
+
|
756
|
+
expect do
|
757
|
+
Braintree::PaymentMethod.find(token)
|
758
|
+
end.to raise_error(Braintree::NotFoundError)
|
759
|
+
end
|
760
|
+
|
761
|
+
it "deletes an apple pay card" do
|
762
|
+
customer = Braintree::Customer.create!
|
763
|
+
|
764
|
+
create_result = Braintree::PaymentMethod.create(
|
765
|
+
:payment_method_nonce => Braintree::Test::Nonce::ApplePayAmEx,
|
766
|
+
:customer_id => customer.id
|
767
|
+
)
|
768
|
+
token = create_result.payment_method.token
|
769
|
+
|
770
|
+
apple_pay_card = Braintree::PaymentMethod.find(token)
|
771
|
+
apple_pay_card.should be_a(Braintree::ApplePayCard)
|
772
|
+
|
773
|
+
delete_result = Braintree::PaymentMethod.delete(token)
|
774
|
+
delete_result.success?.should == true
|
775
|
+
|
776
|
+
expect do
|
777
|
+
Braintree::PaymentMethod.find(token)
|
778
|
+
end.to raise_error(Braintree::NotFoundError)
|
779
|
+
end
|
780
|
+
|
740
781
|
it "deletes a paypal account" do
|
741
782
|
customer = Braintree::Customer.create!
|
742
783
|
paypal_account_token = "PAYPAL_ACCOUNT_TOKEN_#{rand(36**3).to_s(36)}"
|
@@ -753,6 +794,7 @@ describe Braintree::PaymentMethod do
|
|
753
794
|
paypal_account.should be_a(Braintree::PayPalAccount)
|
754
795
|
|
755
796
|
result = Braintree::PaymentMethod.delete(paypal_account_token)
|
797
|
+
result.success?.should == true
|
756
798
|
|
757
799
|
expect do
|
758
800
|
Braintree::PaymentMethod.find(paypal_account_token)
|
@@ -777,12 +819,22 @@ describe Braintree::PaymentMethod do
|
|
777
819
|
:customer_id => customer.id
|
778
820
|
)
|
779
821
|
|
780
|
-
Braintree::PaymentMethod.delete(token)
|
822
|
+
result = Braintree::PaymentMethod.delete(token)
|
823
|
+
result.success?.should == true
|
781
824
|
|
782
825
|
expect do
|
783
826
|
Braintree::PaymentMethod.find(token)
|
784
827
|
end.to raise_error(Braintree::NotFoundError, "payment method with token \"#{token}\" not found")
|
785
828
|
end
|
829
|
+
|
830
|
+
it "raises a NotFoundError exception if payment method cannot be found" do
|
831
|
+
token = "CREDIT_CARD_#{rand(36**3).to_s(36)}"
|
832
|
+
customer = Braintree::Customer.create!
|
833
|
+
|
834
|
+
expect do
|
835
|
+
Braintree::PaymentMethod.delete(token)
|
836
|
+
end.to raise_error(Braintree::NotFoundError)
|
837
|
+
end
|
786
838
|
end
|
787
839
|
|
788
840
|
describe "self.update" do
|
@@ -2306,11 +2306,27 @@ describe Braintree::Transaction do
|
|
2306
2306
|
result.errors.for(:transaction).on(:amount)[0].code.should == Braintree::ErrorCodes::Transaction::AmountIsRequired
|
2307
2307
|
end
|
2308
2308
|
|
2309
|
+
it "works with Apple Pay params" do
|
2310
|
+
params = {
|
2311
|
+
:amount => "3.12",
|
2312
|
+
:apple_pay_card => {
|
2313
|
+
:number => "370295001292109",
|
2314
|
+
:cardholder_name => "JANE SMITH",
|
2315
|
+
:cryptogram => "AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw==",
|
2316
|
+
:expiration_month => "10",
|
2317
|
+
:expiration_year => "14",
|
2318
|
+
}
|
2319
|
+
}
|
2320
|
+
result = Braintree::Transaction.sale(params)
|
2321
|
+
result.success?.should == true
|
2322
|
+
end
|
2323
|
+
|
2309
2324
|
context "Amex Pay with Points" do
|
2310
2325
|
context "transaction creation" do
|
2311
2326
|
it "succeeds when submit_for_settlement is true" do
|
2312
2327
|
result = Braintree::Transaction.sale(
|
2313
2328
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2329
|
+
:merchant_account_id => SpecHelper::FakeAmexDirectMerchantAccountId,
|
2314
2330
|
:credit_card => {
|
2315
2331
|
:number => Braintree::Test::CreditCardNumbers::AmexPayWithPoints::Success,
|
2316
2332
|
:expiration_date => "05/2009"
|
@@ -2332,6 +2348,7 @@ describe Braintree::Transaction do
|
|
2332
2348
|
it "succeeds even if the card is ineligible" do
|
2333
2349
|
result = Braintree::Transaction.sale(
|
2334
2350
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2351
|
+
:merchant_account_id => SpecHelper::FakeAmexDirectMerchantAccountId,
|
2335
2352
|
:credit_card => {
|
2336
2353
|
:number => Braintree::Test::CreditCardNumbers::AmexPayWithPoints::IneligibleCard,
|
2337
2354
|
:expiration_date => "05/2009"
|
@@ -2353,6 +2370,7 @@ describe Braintree::Transaction do
|
|
2353
2370
|
it "succeeds even if the card's balance is insufficient" do
|
2354
2371
|
result = Braintree::Transaction.sale(
|
2355
2372
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2373
|
+
:merchant_account_id => SpecHelper::FakeAmexDirectMerchantAccountId,
|
2356
2374
|
:credit_card => {
|
2357
2375
|
:number => Braintree::Test::CreditCardNumbers::AmexPayWithPoints::InsufficientPoints,
|
2358
2376
|
:expiration_date => "05/2009"
|
@@ -2376,6 +2394,7 @@ describe Braintree::Transaction do
|
|
2376
2394
|
it "succeeds" do
|
2377
2395
|
result = Braintree::Transaction.sale(
|
2378
2396
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2397
|
+
:merchant_account_id => SpecHelper::FakeAmexDirectMerchantAccountId,
|
2379
2398
|
:credit_card => {
|
2380
2399
|
:number => Braintree::Test::CreditCardNumbers::AmexPayWithPoints::Success,
|
2381
2400
|
:expiration_date => "05/2009"
|
@@ -2399,6 +2418,7 @@ describe Braintree::Transaction do
|
|
2399
2418
|
it "succeeds even if the card is ineligible" do
|
2400
2419
|
result = Braintree::Transaction.sale(
|
2401
2420
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2421
|
+
:merchant_account_id => SpecHelper::FakeAmexDirectMerchantAccountId,
|
2402
2422
|
:credit_card => {
|
2403
2423
|
:number => Braintree::Test::CreditCardNumbers::AmexPayWithPoints::IneligibleCard,
|
2404
2424
|
:expiration_date => "05/2009"
|
@@ -2423,6 +2443,7 @@ describe Braintree::Transaction do
|
|
2423
2443
|
it "succeeds even if the card's balance is insufficient" do
|
2424
2444
|
result = Braintree::Transaction.sale(
|
2425
2445
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2446
|
+
:merchant_account_id => SpecHelper::FakeAmexDirectMerchantAccountId,
|
2426
2447
|
:credit_card => {
|
2427
2448
|
:number => Braintree::Test::CreditCardNumbers::AmexPayWithPoints::IneligibleCard,
|
2428
2449
|
:expiration_date => "05/2009"
|
@@ -2582,6 +2603,107 @@ describe Braintree::Transaction do
|
|
2582
2603
|
end
|
2583
2604
|
end
|
2584
2605
|
|
2606
|
+
|
2607
|
+
describe "submit for partial settlement" do
|
2608
|
+
it "successfully submits multiple times for partial settlement" do
|
2609
|
+
authorized_transaction = Braintree::Transaction.sale!(
|
2610
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2611
|
+
:merchant_account_id => SpecHelper::DefaultMerchantAccountId,
|
2612
|
+
:credit_card => {
|
2613
|
+
:number => Braintree::Test::CreditCardNumbers::Visa,
|
2614
|
+
:expiration_date => "06/2009"
|
2615
|
+
}
|
2616
|
+
)
|
2617
|
+
|
2618
|
+
result = Braintree::Transaction.submit_for_partial_settlement(authorized_transaction.id, 100)
|
2619
|
+
result.success?.should == true
|
2620
|
+
partial_settlement_transaction1 = result.transaction
|
2621
|
+
partial_settlement_transaction1.amount.should == 100
|
2622
|
+
partial_settlement_transaction1.type.should == Braintree::Transaction::Type::Sale
|
2623
|
+
partial_settlement_transaction1.status.should == Braintree::Transaction::Status::SubmittedForSettlement
|
2624
|
+
partial_settlement_transaction1.authorized_transaction_id.should == authorized_transaction.id
|
2625
|
+
|
2626
|
+
refreshed_authorized_transaction = Braintree::Transaction.find(authorized_transaction.id)
|
2627
|
+
refreshed_authorized_transaction.status.should == Braintree::Transaction::Status::SettlementPending
|
2628
|
+
refreshed_authorized_transaction.partial_settlement_transaction_ids.should == [partial_settlement_transaction1.id]
|
2629
|
+
|
2630
|
+
result = Braintree::Transaction.submit_for_partial_settlement(authorized_transaction.id, 800)
|
2631
|
+
result.success?.should == true
|
2632
|
+
partial_settlement_transaction2 = result.transaction
|
2633
|
+
partial_settlement_transaction2.amount.should == 800
|
2634
|
+
partial_settlement_transaction2.type.should == Braintree::Transaction::Type::Sale
|
2635
|
+
partial_settlement_transaction2.status.should == Braintree::Transaction::Status::SubmittedForSettlement
|
2636
|
+
partial_settlement_transaction2.authorized_transaction_id.should == authorized_transaction.id
|
2637
|
+
|
2638
|
+
refreshed_authorized_transaction = Braintree::Transaction.find(authorized_transaction.id)
|
2639
|
+
refreshed_authorized_transaction.status.should == Braintree::Transaction::Status::SettlementPending
|
2640
|
+
refreshed_authorized_transaction.partial_settlement_transaction_ids.sort.should == [partial_settlement_transaction1.id, partial_settlement_transaction2.id].sort
|
2641
|
+
end
|
2642
|
+
|
2643
|
+
it "returns an error with an unsupported processor" do
|
2644
|
+
authorized_transaction = Braintree::Transaction.sale!(
|
2645
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2646
|
+
:merchant_account_id => SpecHelper::FakeAmexDirectMerchantAccountId,
|
2647
|
+
:credit_card => {
|
2648
|
+
:number => Braintree::Test::CreditCardNumbers::AmexPayWithPoints::Success,
|
2649
|
+
:expiration_date => "05/2009"
|
2650
|
+
}
|
2651
|
+
)
|
2652
|
+
|
2653
|
+
result = Braintree::Transaction.submit_for_partial_settlement(authorized_transaction.id, 100)
|
2654
|
+
result.success?.should == false
|
2655
|
+
result.errors.for(:transaction).on(:base)[0].code.should == Braintree::ErrorCodes::Transaction::ProcessorDoesNotSupportPartialSettlement
|
2656
|
+
end
|
2657
|
+
|
2658
|
+
it "returns an error with an invalid payment instrument type" do
|
2659
|
+
authorized_transaction = Braintree::Transaction.sale!(
|
2660
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2661
|
+
:merchant_account_id => SpecHelper::DefaultMerchantAccountId,
|
2662
|
+
:payment_method_nonce => Braintree::Test::Nonce::ApplePayAmEx
|
2663
|
+
)
|
2664
|
+
|
2665
|
+
result = Braintree::Transaction.submit_for_partial_settlement(authorized_transaction.id, 100)
|
2666
|
+
result.success?.should == false
|
2667
|
+
result.errors.for(:transaction).on(:base)[0].code.should == Braintree::ErrorCodes::Transaction::PaymentInstrumentTypeIsNotAccepted
|
2668
|
+
end
|
2669
|
+
|
2670
|
+
it "returns an error result if settlement amount greater than authorized amount" do
|
2671
|
+
authorized_transaction = Braintree::Transaction.sale!(
|
2672
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2673
|
+
:merchant_account_id => SpecHelper::DefaultMerchantAccountId,
|
2674
|
+
:credit_card => {
|
2675
|
+
:number => Braintree::Test::CreditCardNumbers::Visa,
|
2676
|
+
:expiration_date => "06/2009"
|
2677
|
+
}
|
2678
|
+
)
|
2679
|
+
|
2680
|
+
result = Braintree::Transaction.submit_for_partial_settlement(authorized_transaction.id, 100)
|
2681
|
+
result.success?.should == true
|
2682
|
+
|
2683
|
+
result = Braintree::Transaction.submit_for_partial_settlement(authorized_transaction.id, 901)
|
2684
|
+
result.success?.should == false
|
2685
|
+
result.errors.for(:transaction).on(:amount)[0].code.should == Braintree::ErrorCodes::Transaction::SettlementAmountIsTooLarge
|
2686
|
+
end
|
2687
|
+
|
2688
|
+
it "returns an error result if status is not authorized" do
|
2689
|
+
authorized_transaction = Braintree::Transaction.sale!(
|
2690
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2691
|
+
:merchant_account_id => SpecHelper::DefaultMerchantAccountId,
|
2692
|
+
:credit_card => {
|
2693
|
+
:number => Braintree::Test::CreditCardNumbers::Visa,
|
2694
|
+
:expiration_date => "06/2009"
|
2695
|
+
}
|
2696
|
+
)
|
2697
|
+
|
2698
|
+
result = Braintree::Transaction.void(authorized_transaction.id)
|
2699
|
+
result.success?.should == true
|
2700
|
+
|
2701
|
+
result = Braintree::Transaction.submit_for_partial_settlement(authorized_transaction.id, 100)
|
2702
|
+
result.success?.should == false
|
2703
|
+
result.errors.for(:transaction).on(:base)[0].code.should == Braintree::ErrorCodes::Transaction::CannotSubmitForSettlement
|
2704
|
+
end
|
2705
|
+
end
|
2706
|
+
|
2585
2707
|
describe "self.release_from_escrow" do
|
2586
2708
|
it "returns the transaction if successful" do
|
2587
2709
|
original_transaction = create_escrowed_transcation
|
@@ -3696,4 +3818,86 @@ describe Braintree::Transaction do
|
|
3696
3818
|
end
|
3697
3819
|
end
|
3698
3820
|
end
|
3821
|
+
|
3822
|
+
context "shared payment method" do
|
3823
|
+
before(:each) do
|
3824
|
+
partner_merchant_gateway = Braintree::Gateway.new(
|
3825
|
+
:merchant_id => "integration_merchant_public_id",
|
3826
|
+
:public_key => "oauth_app_partner_user_public_key",
|
3827
|
+
:private_key => "oauth_app_partner_user_private_key",
|
3828
|
+
:environment => :development,
|
3829
|
+
:logger => Logger.new("/dev/null")
|
3830
|
+
)
|
3831
|
+
@customer = partner_merchant_gateway.customer.create(
|
3832
|
+
:first_name => "Joe",
|
3833
|
+
:last_name => "Brown",
|
3834
|
+
:company => "ExampleCo",
|
3835
|
+
:email => "joe@example.com",
|
3836
|
+
:phone => "312.555.1234",
|
3837
|
+
:fax => "614.555.5678",
|
3838
|
+
:website => "www.example.com"
|
3839
|
+
).customer
|
3840
|
+
@address = partner_merchant_gateway.address.create(
|
3841
|
+
:customer_id => @customer.id,
|
3842
|
+
:first_name => "Testy",
|
3843
|
+
:last_name => "McTesterson"
|
3844
|
+
).address
|
3845
|
+
@credit_card = partner_merchant_gateway.credit_card.create(
|
3846
|
+
:customer_id => @customer.id,
|
3847
|
+
:cardholder_name => "Adam Davis",
|
3848
|
+
:number => Braintree::Test::CreditCardNumbers::Visa,
|
3849
|
+
:expiration_date => "05/2009"
|
3850
|
+
).credit_card
|
3851
|
+
|
3852
|
+
oauth_gateway = Braintree::Gateway.new(
|
3853
|
+
:client_id => "client_id$development$integration_client_id",
|
3854
|
+
:client_secret => "client_secret$development$integration_client_secret",
|
3855
|
+
:logger => Logger.new("/dev/null")
|
3856
|
+
)
|
3857
|
+
access_token = Braintree::OAuthTestHelper.create_token(oauth_gateway, {
|
3858
|
+
:merchant_public_id => "integration_merchant_id",
|
3859
|
+
:scope => "grant_payment_method,shared_vault_transactions"
|
3860
|
+
}).credentials.access_token
|
3861
|
+
|
3862
|
+
@granting_gateway = Braintree::Gateway.new(
|
3863
|
+
:access_token => access_token,
|
3864
|
+
:logger => Logger.new("/dev/null")
|
3865
|
+
)
|
3866
|
+
end
|
3867
|
+
|
3868
|
+
it "oauth app details are returned on transaction created via nonce granting" do
|
3869
|
+
grant_result = @granting_gateway.credit_card.grant(@credit_card.token, false)
|
3870
|
+
|
3871
|
+
result = Braintree::Transaction.sale(
|
3872
|
+
:payment_method_nonce => grant_result.nonce,
|
3873
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize
|
3874
|
+
)
|
3875
|
+
result.transaction.facilitator_details.should_not == nil
|
3876
|
+
result.transaction.facilitator_details.oauth_application_client_id.should == "client_id$development$integration_client_id"
|
3877
|
+
result.transaction.facilitator_details.oauth_application_name.should == "PseudoShop"
|
3878
|
+
end
|
3879
|
+
|
3880
|
+
it "allows transactions to be created with a shared payment method, customer, billing and shipping addresses" do
|
3881
|
+
result = @granting_gateway.transaction.sale(
|
3882
|
+
:shared_payment_method_token => @credit_card.token,
|
3883
|
+
:shared_customer_id => @customer.id,
|
3884
|
+
:shared_shipping_address_id => @address.id,
|
3885
|
+
:shared_billing_address_id => @address.id,
|
3886
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize
|
3887
|
+
)
|
3888
|
+
result.success?.should == true
|
3889
|
+
result.transaction.shipping_details.first_name.should == @address.first_name
|
3890
|
+
result.transaction.billing_details.first_name.should == @address.first_name
|
3891
|
+
end
|
3892
|
+
|
3893
|
+
it "oauth app details are returned on transaction created via a shared_payment_method_token" do
|
3894
|
+
result = @granting_gateway.transaction.sale(
|
3895
|
+
:shared_payment_method_token => @credit_card.token,
|
3896
|
+
:amount => Braintree::Test::TransactionAmounts::Authorize
|
3897
|
+
)
|
3898
|
+
result.transaction.facilitator_details.should_not == nil
|
3899
|
+
result.transaction.facilitator_details.oauth_application_client_id.should == "client_id$development$integration_client_id"
|
3900
|
+
result.transaction.facilitator_details.oauth_application_name.should == "PseudoShop"
|
3901
|
+
end
|
3902
|
+
end
|
3699
3903
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -37,6 +37,7 @@ unless defined?(SPEC_HELPER_LOADED)
|
|
37
37
|
NonDefaultMerchantAccountId = "sandbox_credit_card_non_default"
|
38
38
|
NonDefaultSubMerchantAccountId = "sandbox_sub_merchant_account"
|
39
39
|
ThreeDSecureMerchantAccountId = "three_d_secure_merchant_account"
|
40
|
+
FakeAmexDirectMerchantAccountId = "fake_amex_direct_usd"
|
40
41
|
|
41
42
|
TrialPlan = {
|
42
43
|
:description => "Plan for integration tests -- with trial",
|
@@ -156,6 +156,33 @@ describe Braintree::CreditCard do
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
|
+
describe "self.grant" do
|
160
|
+
it "raises error if passed empty string" do
|
161
|
+
expect do
|
162
|
+
Braintree::CreditCard.grant("", false)
|
163
|
+
end.to raise_error(ArgumentError)
|
164
|
+
end
|
165
|
+
|
166
|
+
it "raises error if passed invalid string" do
|
167
|
+
expect do
|
168
|
+
Braintree::CreditCard.grant("\t", false)
|
169
|
+
end.to raise_error(ArgumentError)
|
170
|
+
end
|
171
|
+
|
172
|
+
it "raises error if passed nil" do
|
173
|
+
expect do
|
174
|
+
Braintree::CreditCard.grant(nil, false)
|
175
|
+
end.to raise_error(ArgumentError)
|
176
|
+
end
|
177
|
+
|
178
|
+
it "does not raise an error if token does not respond to strip" do
|
179
|
+
Braintree::Http.stub(:new).and_return double.as_null_object
|
180
|
+
expect do
|
181
|
+
Braintree::CreditCard.grant(8675309, false)
|
182
|
+
end.to_not raise_error
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
159
186
|
describe "inspect" do
|
160
187
|
it "includes the token first" do
|
161
188
|
output = Braintree::CreditCard._new(:gateway, :token => "cc123").inspect
|
@@ -304,6 +304,30 @@ describe Braintree::WebhookNotification do
|
|
304
304
|
end
|
305
305
|
end
|
306
306
|
|
307
|
+
describe "check?" do
|
308
|
+
it "returns true for check webhook kinds" do
|
309
|
+
sample_notification = Braintree::WebhookTesting.sample_notification(
|
310
|
+
Braintree::WebhookNotification::Kind::Check,
|
311
|
+
nil
|
312
|
+
)
|
313
|
+
|
314
|
+
notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload].rstrip)
|
315
|
+
|
316
|
+
notification.check?.should == true
|
317
|
+
end
|
318
|
+
|
319
|
+
it "returns false for non-check webhook kinds" do
|
320
|
+
sample_notification = Braintree::WebhookTesting.sample_notification(
|
321
|
+
Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
|
322
|
+
nil
|
323
|
+
)
|
324
|
+
|
325
|
+
notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload].rstrip)
|
326
|
+
|
327
|
+
notification.check?.should == false
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
307
331
|
describe "self.verify" do
|
308
332
|
it "creates a verification string" do
|
309
333
|
response = Braintree::WebhookNotification.verify("20f9f8ed05f77439fe955c977e4c8a53")
|
metadata
CHANGED
@@ -1,27 +1,30 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: braintree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.50.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Braintree
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2015-09
|
12
|
+
date: 2015-10-09 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: builder
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 2.0.0
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 2.0.0
|
27
30
|
description: Ruby library for integrating with the Braintree Gateway
|
@@ -33,222 +36,225 @@ files:
|
|
33
36
|
- README.rdoc
|
34
37
|
- LICENSE
|
35
38
|
- lib/braintree.rb
|
36
|
-
- lib/braintree/address.rb
|
37
|
-
- lib/braintree/webhook_notification.rb
|
38
|
-
- lib/braintree/subscription.rb
|
39
|
-
- lib/braintree/add_on.rb
|
40
|
-
- lib/braintree/xml/rexml.rb
|
41
|
-
- lib/braintree/xml/libxml.rb
|
42
|
-
- lib/braintree/xml/generator.rb
|
43
|
-
- lib/braintree/xml/parser.rb
|
44
|
-
- lib/braintree/validation_error.rb
|
45
|
-
- lib/braintree/oauth_gateway.rb
|
46
|
-
- lib/braintree/apple_pay_card.rb
|
47
|
-
- lib/braintree/successful_result.rb
|
48
|
-
- lib/braintree/version.rb
|
49
|
-
- lib/braintree/payment_instrument_type.rb
|
50
|
-
- lib/braintree/client_token.rb
|
51
|
-
- lib/braintree/webhook_testing_gateway.rb
|
52
|
-
- lib/braintree/xml.rb
|
53
|
-
- lib/braintree/paypal_account_gateway.rb
|
54
|
-
- lib/braintree/signature_service.rb
|
55
|
-
- lib/braintree/settlement_batch_summary_gateway.rb
|
56
|
-
- lib/braintree/credit_card_verification_search.rb
|
57
|
-
- lib/braintree/base_module.rb
|
58
|
-
- lib/braintree/plan.rb
|
59
39
|
- lib/braintree/transaction_gateway.rb
|
60
|
-
- lib/braintree/credit_card_verification_gateway.rb
|
61
|
-
- lib/braintree/subscription_search.rb
|
62
|
-
- lib/braintree/webhook_testing.rb
|
63
|
-
- lib/braintree/merchant_account/funding_details.rb
|
64
|
-
- lib/braintree/merchant_account/individual_details.rb
|
65
|
-
- lib/braintree/merchant_account/address_details.rb
|
66
|
-
- lib/braintree/merchant_account/business_details.rb
|
67
|
-
- lib/braintree/risk_data.rb
|
68
|
-
- lib/braintree/customer_search.rb
|
69
|
-
- lib/braintree/discount_gateway.rb
|
70
|
-
- lib/braintree/payment_method_nonce.rb
|
71
|
-
- lib/braintree/validation_error_collection.rb
|
72
|
-
- lib/braintree/credit_card.rb
|
73
|
-
- lib/braintree/customer.rb
|
74
|
-
- lib/braintree/digest.rb
|
75
|
-
- lib/braintree/settlement_batch_summary.rb
|
76
|
-
- lib/braintree/testing_gateway.rb
|
77
|
-
- lib/braintree/unknown_payment_method.rb
|
78
40
|
- lib/braintree/credit_card_verification.rb
|
41
|
+
- lib/braintree/transparent_redirect_gateway.rb
|
42
|
+
- lib/braintree/resource_collection.rb
|
43
|
+
- lib/braintree/subscription.rb
|
44
|
+
- lib/braintree/dispute/transaction_details.rb
|
79
45
|
- lib/braintree/address/country_names.rb
|
80
|
-
- lib/braintree/
|
81
|
-
- lib/braintree/
|
82
|
-
- lib/braintree/client_token_gateway.rb
|
83
|
-
- lib/braintree/settlement_batch.rb
|
84
|
-
- lib/braintree/dispute.rb
|
46
|
+
- lib/braintree/subscription/status_details.rb
|
47
|
+
- lib/braintree/credit_card_verification_search.rb
|
85
48
|
- lib/braintree/merchant_account_gateway.rb
|
86
|
-
- lib/braintree/
|
87
|
-
- lib/braintree/
|
88
|
-
- lib/braintree/
|
89
|
-
- lib/braintree/gateway.rb
|
49
|
+
- lib/braintree/util.rb
|
50
|
+
- lib/braintree/paypal_account_gateway.rb
|
51
|
+
- lib/braintree/address_gateway.rb
|
90
52
|
- lib/braintree/webhook_notification_gateway.rb
|
91
|
-
- lib/braintree/
|
92
|
-
- lib/braintree/
|
93
|
-
- lib/braintree/configuration.rb
|
94
|
-
- lib/braintree/transaction/customer_details.rb
|
95
|
-
- lib/braintree/transaction/paypal_details.rb
|
96
|
-
- lib/braintree/transaction/disbursement_details.rb
|
53
|
+
- lib/braintree/transaction/android_pay_details.rb
|
54
|
+
- lib/braintree/transaction/apple_pay_details.rb
|
97
55
|
- lib/braintree/transaction/subscription_details.rb
|
98
56
|
- lib/braintree/transaction/status_details.rb
|
99
|
-
- lib/braintree/transaction/
|
100
|
-
- lib/braintree/transaction/apple_pay_details.rb
|
101
|
-
- lib/braintree/transaction/android_pay_details.rb
|
102
|
-
- lib/braintree/transaction/coinbase_details.rb
|
57
|
+
- lib/braintree/transaction/disbursement_details.rb
|
103
58
|
- lib/braintree/transaction/address_details.rb
|
104
|
-
- lib/braintree/
|
105
|
-
- lib/braintree/
|
59
|
+
- lib/braintree/transaction/coinbase_details.rb
|
60
|
+
- lib/braintree/transaction/customer_details.rb
|
61
|
+
- lib/braintree/transaction/paypal_details.rb
|
62
|
+
- lib/braintree/transaction/credit_card_details.rb
|
63
|
+
- lib/braintree/errors.rb
|
64
|
+
- lib/braintree/transaction_search.rb
|
65
|
+
- lib/braintree/validation_error_collection.rb
|
66
|
+
- lib/braintree/webhook_testing_gateway.rb
|
106
67
|
- lib/braintree/payment_method_gateway.rb
|
107
|
-
- lib/braintree/
|
108
|
-
- lib/braintree/
|
109
|
-
- lib/braintree/three_d_secure_info.rb
|
110
|
-
- lib/braintree/merchant_gateway.rb
|
111
|
-
- lib/braintree/subscription_gateway.rb
|
112
|
-
- lib/braintree/add_on_gateway.rb
|
113
|
-
- lib/braintree/merchant_account.rb
|
114
|
-
- lib/braintree/transaction.rb
|
115
|
-
- lib/braintree/error_result.rb
|
116
|
-
- lib/braintree/test_transaction.rb
|
68
|
+
- lib/braintree/discount.rb
|
69
|
+
- lib/braintree/credit_card.rb
|
117
70
|
- lib/braintree/credentials_parser.rb
|
118
|
-
- lib/braintree/
|
119
|
-
- lib/braintree/
|
120
|
-
- lib/braintree/payment_method_nonce_gateway.rb
|
121
|
-
- lib/braintree/transaction_search.rb
|
71
|
+
- lib/braintree/version.rb
|
72
|
+
- lib/braintree/disbursement.rb
|
122
73
|
- lib/braintree/paypal_account.rb
|
74
|
+
- lib/braintree/subscription_search.rb
|
123
75
|
- lib/braintree/exceptions.rb
|
124
|
-
- lib/braintree/
|
76
|
+
- lib/braintree/settlement_batch_summary.rb
|
77
|
+
- lib/braintree/coinbase_account.rb
|
78
|
+
- lib/braintree/europe_bank_account.rb
|
79
|
+
- lib/braintree/transaction.rb
|
80
|
+
- lib/braintree/discount_gateway.rb
|
81
|
+
- lib/braintree/android_pay_card.rb
|
82
|
+
- lib/braintree/gateway.rb
|
125
83
|
- lib/braintree/merchant.rb
|
126
|
-
- lib/braintree/europe_bank_account_gateway.rb
|
127
|
-
- lib/braintree/errors.rb
|
128
|
-
- lib/braintree/address_gateway.rb
|
129
|
-
- lib/braintree/credit_card_gateway.rb
|
130
84
|
- lib/braintree/advanced_search.rb
|
131
|
-
- lib/braintree/
|
132
|
-
- lib/braintree/
|
85
|
+
- lib/braintree/oauth_gateway.rb
|
86
|
+
- lib/braintree/add_on_gateway.rb
|
87
|
+
- lib/braintree/payment_method.rb
|
88
|
+
- lib/braintree/settlement_batch.rb
|
89
|
+
- lib/braintree/payment_method_nonce.rb
|
90
|
+
- lib/braintree/customer_search.rb
|
91
|
+
- lib/braintree/transparent_redirect.rb
|
92
|
+
- lib/braintree/payment_instrument_type.rb
|
93
|
+
- lib/braintree/digest.rb
|
94
|
+
- lib/braintree/customer.rb
|
95
|
+
- lib/braintree/subscription_gateway.rb
|
96
|
+
- lib/braintree/client_token_gateway.rb
|
97
|
+
- lib/braintree/customer_gateway.rb
|
98
|
+
- lib/braintree/signature_service.rb
|
133
99
|
- lib/braintree/test/credit_card.rb
|
134
100
|
- lib/braintree/test/transaction_amounts.rb
|
101
|
+
- lib/braintree/test/nonce.rb
|
135
102
|
- lib/braintree/test/merchant_account.rb
|
136
|
-
- lib/braintree/
|
137
|
-
- lib/braintree/dispute
|
103
|
+
- lib/braintree/test/venmo_sdk.rb
|
104
|
+
- lib/braintree/dispute.rb
|
105
|
+
- lib/braintree/testing_gateway.rb
|
106
|
+
- lib/braintree/error_result.rb
|
107
|
+
- lib/braintree/risk_data.rb
|
108
|
+
- lib/braintree/successful_result.rb
|
109
|
+
- lib/braintree/xml/generator.rb
|
110
|
+
- lib/braintree/xml/libxml.rb
|
111
|
+
- lib/braintree/xml/parser.rb
|
112
|
+
- lib/braintree/xml/rexml.rb
|
113
|
+
- lib/braintree/webhook_notification.rb
|
138
114
|
- lib/braintree/error_codes.rb
|
139
|
-
- lib/braintree/
|
140
|
-
- lib/braintree/
|
141
|
-
- lib/braintree/
|
142
|
-
- lib/
|
115
|
+
- lib/braintree/base_module.rb
|
116
|
+
- lib/braintree/credit_card_verification_gateway.rb
|
117
|
+
- lib/braintree/three_d_secure_info.rb
|
118
|
+
- lib/braintree/client_token.rb
|
119
|
+
- lib/braintree/add_on.rb
|
120
|
+
- lib/braintree/webhook_testing.rb
|
121
|
+
- lib/braintree/configuration.rb
|
122
|
+
- lib/braintree/http.rb
|
123
|
+
- lib/braintree/unknown_payment_method.rb
|
124
|
+
- lib/braintree/xml.rb
|
125
|
+
- lib/braintree/credit_card_gateway.rb
|
126
|
+
- lib/braintree/apple_pay_card.rb
|
127
|
+
- lib/braintree/europe_bank_account_gateway.rb
|
128
|
+
- lib/braintree/merchant_account/funding_details.rb
|
129
|
+
- lib/braintree/merchant_account/individual_details.rb
|
130
|
+
- lib/braintree/merchant_account/address_details.rb
|
131
|
+
- lib/braintree/merchant_account/business_details.rb
|
132
|
+
- lib/braintree/plan_gateway.rb
|
133
|
+
- lib/braintree/payment_method_nonce_gateway.rb
|
134
|
+
- lib/braintree/settlement_batch_summary_gateway.rb
|
135
|
+
- lib/braintree/address.rb
|
136
|
+
- lib/braintree/plan.rb
|
137
|
+
- lib/braintree/merchant_gateway.rb
|
138
|
+
- lib/braintree/merchant_account.rb
|
139
|
+
- lib/braintree/sha256_digest.rb
|
140
|
+
- lib/braintree/descriptor.rb
|
141
|
+
- lib/braintree/oauth_credentials.rb
|
142
|
+
- lib/braintree/facilitator_details.rb
|
143
|
+
- lib/braintree/validation_error.rb
|
144
|
+
- lib/braintree/modification.rb
|
145
|
+
- lib/braintree/test_transaction.rb
|
143
146
|
- lib/ssl/www_braintreegateway_com.ca.crt
|
144
|
-
- lib/ssl/
|
147
|
+
- lib/ssl/api_braintreegateway_com.ca.crt
|
145
148
|
- lib/ssl/securetrust_ca.crt
|
146
|
-
-
|
147
|
-
- spec/ssl/privateKey.key
|
148
|
-
- spec/ssl/certificate.crt
|
149
|
-
- spec/script/httpsd.rb
|
150
|
-
- spec/oauth_test_helper.rb
|
149
|
+
- lib/ssl/sandbox_braintreegateway_com.ca.crt
|
151
150
|
- spec/unit/braintree_spec.rb
|
152
151
|
- spec/unit/spec_helper.rb
|
153
|
-
- spec/unit/braintree/
|
152
|
+
- spec/unit/braintree/resource_collection_spec.rb
|
153
|
+
- spec/unit/braintree/transaction/credit_card_details_spec.rb
|
154
|
+
- spec/unit/braintree/transaction/customer_details_spec.rb
|
155
|
+
- spec/unit/braintree/transaction/deposit_details_spec.rb
|
154
156
|
- spec/unit/braintree/base_module_spec.rb
|
157
|
+
- spec/unit/braintree/transaction_search_spec.rb
|
158
|
+
- spec/unit/braintree/disbursement_spec.rb
|
159
|
+
- spec/unit/braintree/risk_data_spec.rb
|
160
|
+
- spec/unit/braintree/credit_card_verification_search_spec.rb
|
161
|
+
- spec/unit/braintree/util_spec.rb
|
162
|
+
- spec/unit/braintree/three_d_secure_info_spec.rb
|
163
|
+
- spec/unit/braintree/payment_method_spec.rb
|
164
|
+
- spec/unit/braintree/address_spec.rb
|
165
|
+
- spec/unit/braintree/transaction_spec.rb
|
166
|
+
- spec/unit/braintree/subscription_search_spec.rb
|
167
|
+
- spec/unit/braintree/client_token_spec.rb
|
168
|
+
- spec/unit/braintree/validation_error_collection_spec.rb
|
169
|
+
- spec/unit/braintree/merchant_account_spec.rb
|
170
|
+
- spec/unit/braintree/apple_pay_card_spec.rb
|
171
|
+
- spec/unit/braintree/credentials_parser_spec.rb
|
172
|
+
- spec/unit/braintree/sha256_digest_spec.rb
|
173
|
+
- spec/unit/braintree/signature_service_spec.rb
|
174
|
+
- spec/unit/braintree/digest_spec.rb
|
175
|
+
- spec/unit/braintree/credit_card_verification_spec.rb
|
176
|
+
- spec/unit/braintree/xml_spec.rb
|
177
|
+
- spec/unit/braintree/http_spec.rb
|
178
|
+
- spec/unit/braintree/configuration_spec.rb
|
179
|
+
- spec/unit/braintree/customer_spec.rb
|
155
180
|
- spec/unit/braintree/xml/parser_spec.rb
|
156
181
|
- spec/unit/braintree/xml/rexml_spec.rb
|
157
182
|
- spec/unit/braintree/xml/libxml_spec.rb
|
158
|
-
- spec/unit/braintree/
|
159
|
-
- spec/unit/braintree/resource_collection_spec.rb
|
160
|
-
- spec/unit/braintree/disbursement_spec.rb
|
161
|
-
- spec/unit/braintree/credit_card_verification_spec.rb
|
162
|
-
- spec/unit/braintree/apple_pay_card_spec.rb
|
163
|
-
- spec/unit/braintree/client_token_spec.rb
|
183
|
+
- spec/unit/braintree/paypal_account_spec.rb
|
164
184
|
- spec/unit/braintree/subscription_spec.rb
|
165
|
-
- spec/unit/braintree/
|
166
|
-
- spec/unit/braintree/
|
167
|
-
- spec/unit/braintree/credit_card_verification_search_spec.rb
|
185
|
+
- spec/unit/braintree/transparent_redirect_spec.rb
|
186
|
+
- spec/unit/braintree/validation_error_spec.rb
|
168
187
|
- spec/unit/braintree/webhook_notification_spec.rb
|
169
|
-
- spec/unit/braintree/three_d_secure_info_spec.rb
|
170
|
-
- spec/unit/braintree/errors_spec.rb
|
171
188
|
- spec/unit/braintree/dispute_spec.rb
|
172
|
-
- spec/unit/braintree/
|
173
|
-
- spec/unit/braintree/
|
189
|
+
- spec/unit/braintree/credit_card_spec.rb
|
190
|
+
- spec/unit/braintree/error_result_spec.rb
|
191
|
+
- spec/unit/braintree/unknown_payment_method_spec.rb
|
174
192
|
- spec/unit/braintree/modification_spec.rb
|
175
|
-
- spec/unit/braintree/
|
176
|
-
- spec/unit/braintree/http_spec.rb
|
193
|
+
- spec/unit/braintree/errors_spec.rb
|
177
194
|
- spec/unit/braintree/successful_result_spec.rb
|
178
|
-
- spec/unit/braintree/transparent_redirect_spec.rb
|
179
|
-
- spec/unit/braintree/unknown_payment_method_spec.rb
|
180
|
-
- spec/unit/braintree/transaction/customer_details_spec.rb
|
181
|
-
- spec/unit/braintree/transaction/credit_card_details_spec.rb
|
182
|
-
- spec/unit/braintree/transaction/deposit_details_spec.rb
|
183
|
-
- spec/unit/braintree/digest_spec.rb
|
184
|
-
- spec/unit/braintree/sha256_digest_spec.rb
|
185
|
-
- spec/unit/braintree/merchant_account_spec.rb
|
186
|
-
- spec/unit/braintree/address_spec.rb
|
187
|
-
- spec/unit/braintree/validation_error_spec.rb
|
188
|
-
- spec/unit/braintree/xml_spec.rb
|
189
|
-
- spec/unit/braintree/subscription_search_spec.rb
|
190
|
-
- spec/unit/braintree/transaction_search_spec.rb
|
191
|
-
- spec/unit/braintree/paypal_account_spec.rb
|
192
|
-
- spec/unit/braintree/risk_data_spec.rb
|
193
|
-
- spec/unit/braintree/transaction_spec.rb
|
194
|
-
- spec/unit/braintree/credentials_parser_spec.rb
|
195
|
-
- spec/unit/braintree/customer_spec.rb
|
196
|
-
- spec/spec.opts
|
197
|
-
- spec/hacks/tcp_socket.rb
|
198
|
-
- spec/spec_helper.rb
|
199
195
|
- spec/integration/spec_helper.rb
|
200
|
-
- spec/integration/braintree/
|
201
|
-
- spec/integration/braintree/
|
196
|
+
- spec/integration/braintree/plan_spec.rb
|
197
|
+
- spec/integration/braintree/transaction_search_spec.rb
|
202
198
|
- spec/integration/braintree/disbursement_spec.rb
|
203
|
-
- spec/integration/braintree/coinbase_spec.rb
|
204
|
-
- spec/integration/braintree/credit_card_verification_spec.rb
|
205
|
-
- spec/integration/braintree/subscription_spec.rb
|
206
|
-
- spec/integration/braintree/payment_method_spec.rb
|
207
|
-
- spec/integration/braintree/credit_card_spec.rb
|
208
199
|
- spec/integration/braintree/credit_card_verification_search_spec.rb
|
200
|
+
- spec/integration/braintree/payment_method_spec.rb
|
201
|
+
- spec/integration/braintree/address_spec.rb
|
202
|
+
- spec/integration/braintree/transaction_spec.rb
|
209
203
|
- spec/integration/braintree/payment_method_nonce_spec.rb
|
210
|
-
- spec/integration/braintree/error_codes_spec.rb
|
211
|
-
- spec/integration/braintree/http_spec.rb
|
212
|
-
- spec/integration/braintree/oauth_spec.rb
|
213
|
-
- spec/integration/braintree/transparent_redirect_spec.rb
|
214
204
|
- spec/integration/braintree/customer_search_spec.rb
|
215
|
-
- spec/integration/braintree/merchant_account_spec.rb
|
216
|
-
- spec/integration/braintree/address_spec.rb
|
217
205
|
- spec/integration/braintree/settlement_batch_summary_spec.rb
|
218
|
-
- spec/integration/braintree/transaction_search_spec.rb
|
219
|
-
- spec/integration/braintree/paypal_account_spec.rb
|
220
206
|
- spec/integration/braintree/discount_spec.rb
|
221
|
-
- spec/integration/braintree/
|
207
|
+
- spec/integration/braintree/oauth_spec.rb
|
222
208
|
- spec/integration/braintree/merchant_spec.rb
|
209
|
+
- spec/integration/braintree/merchant_account_spec.rb
|
210
|
+
- spec/integration/braintree/test_transaction_spec.rb
|
211
|
+
- spec/integration/braintree/credit_card_verification_spec.rb
|
223
212
|
- spec/integration/braintree/test/transaction_amounts_spec.rb
|
213
|
+
- spec/integration/braintree/http_spec.rb
|
214
|
+
- spec/integration/braintree/add_on_spec.rb
|
215
|
+
- spec/integration/braintree/customer_spec.rb
|
216
|
+
- spec/integration/braintree/paypal_account_spec.rb
|
217
|
+
- spec/integration/braintree/subscription_spec.rb
|
218
|
+
- spec/integration/braintree/transparent_redirect_spec.rb
|
224
219
|
- spec/integration/braintree/advanced_search_spec.rb
|
225
|
-
- spec/integration/braintree/
|
220
|
+
- spec/integration/braintree/credit_card_spec.rb
|
226
221
|
- spec/integration/braintree/client_api/client_token_spec.rb
|
227
222
|
- spec/integration/braintree/client_api/spec_helper.rb
|
228
|
-
- spec/integration/braintree/
|
223
|
+
- spec/integration/braintree/error_codes_spec.rb
|
224
|
+
- spec/integration/braintree/coinbase_spec.rb
|
225
|
+
- spec/oauth_test_helper.rb
|
226
|
+
- spec/spec_helper.rb
|
227
|
+
- spec/spec.opts
|
228
|
+
- spec/hacks/tcp_socket.rb
|
229
|
+
- spec/ssl/geotrust_global.crt
|
230
|
+
- spec/ssl/certificate.crt
|
231
|
+
- spec/ssl/privateKey.key
|
232
|
+
- spec/script/httpsd.rb
|
233
|
+
- spec/httpsd.pid
|
229
234
|
- braintree.gemspec
|
230
235
|
homepage: http://www.braintreepayments.com/
|
231
236
|
licenses:
|
232
237
|
- MIT
|
233
|
-
metadata: {}
|
234
238
|
post_install_message:
|
235
239
|
rdoc_options: []
|
236
240
|
require_paths:
|
237
241
|
- lib
|
238
242
|
required_ruby_version: !ruby/object:Gem::Requirement
|
243
|
+
none: false
|
239
244
|
requirements:
|
240
|
-
- - '>='
|
245
|
+
- - ! '>='
|
241
246
|
- !ruby/object:Gem::Version
|
242
247
|
version: '0'
|
243
248
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
244
250
|
requirements:
|
245
|
-
- - '>='
|
251
|
+
- - ! '>='
|
246
252
|
- !ruby/object:Gem::Version
|
247
253
|
version: '0'
|
248
254
|
requirements: []
|
249
255
|
rubyforge_project: braintree
|
250
|
-
rubygems_version:
|
256
|
+
rubygems_version: 1.8.25
|
251
257
|
signing_key:
|
252
|
-
specification_version:
|
258
|
+
specification_version: 3
|
253
259
|
summary: Braintree Gateway Ruby Client Library
|
254
260
|
test_files: []
|