Merge pull request #442 from stripe/ob-3ds

Added support for 3D Secure
This commit is contained in:
Brandur 2016-07-12 10:11:29 -07:00 committed by GitHub
commit 5d31fc1e1b
5 changed files with 46 additions and 0 deletions

View File

@ -55,6 +55,7 @@ require 'stripe/sku'
require 'stripe/order'
require 'stripe/order_return'
require 'stripe/alipay_account'
require 'stripe/three_d_secure'
# Errors
require 'stripe/errors/stripe_error'

View File

@ -0,0 +1,13 @@
module Stripe
class ThreeDSecure < APIResource
extend Stripe::APIOperations::Create
def self.resource_url
"/v1/3d_secure"
end
def self.retrieve(id, opts=nil)
raise NotImplementedError.new("3D Secure objects cannot be retrieved")
end
end
end

View File

@ -53,6 +53,7 @@ module Stripe
'sku' => SKU,
'order' => Order,
'order_return' => OrderReturn,
'three_d_secure' => ThreeDSecure,
}
end

View File

@ -0,0 +1,16 @@
require File.expand_path('../../test_helper', __FILE__)
module Stripe
class ThreeDSecureTest < Test::Unit::TestCase
should "create should return a new 3D Secure object" do
@mock.expects(:post).once.returns(make_response(make_three_d_secure))
tds = Stripe::ThreeDSecure.create(
:card => "tok_test",
:amount => 1500,
:currency => "usd",
:return_url => "https://example.org/3d-secure-result"
)
assert_equal "tdsrc_test", tds.id
end
end
end

View File

@ -833,5 +833,20 @@ module Stripe
]
}
end
def make_three_d_secure(params={})
{
:id => 'tdsrc_test',
:object => 'three_d_secure',
:amount => 1500,
:authenticate => true,
:card => make_card,
:created => 1456908210,
:currency => 'usd',
:livemode => false,
:redirect_url => nil,
:status => 'succeeded',
}.merge(params)
end
end
end