StripeMock似乎總是產生相同的fingerprint
即使last4
和exp_year
是不同的:
StripeMock.start
card_token = StripeMock.generate_card_token(last4: "919#{rand 9}", exp_year: "199#{rand 9}".to_i)
cus = Stripe::Customer.create(source: card_token)
cus.sources.data.first.last4 # => "9192"
cus.sources.data.first.fingerprint # => "wXWJT135mEK107G8"
card_token = StripeMock.generate_card_token(last4: "919#{rand 9}", exp_year: "199#{rand 9}".to_i)
cus = Stripe::Customer.create(source: card_token)
cus.sources.data.first.last4 # => "9198"
cus.sources.data.first.fingerprint # => "wXWJT135mEK107G8"
正如你可以看到,即使我得到了相同的指紋,你。事實上,StripeMock有指紋值硬編碼:https://github.com/rebelidealist/stripe-ruby-mock/blob/master/lib/stripe_mock/data.rb#L228
def self.mock_card(params={})
StripeMock::Util.card_merge({
id: "test_cc_default",
object: "card",
last4: "4242",
type: "Visa",
brand: "Visa",
funding: "credit",
exp_month: 4,
exp_year: 2016,
fingerprint: "wXWJT135mEK107G8", # see?
customer: "test_cus_default",
country: "US",
name: "Johnny App",
address_line1: nil,
address_line2: nil,
address_city: nil,
address_state: nil,
address_zip: nil,
address_country: nil,
cvc_check: nil,
address_line1_check: nil,
address_zip_check: nil
}, params)
end
你可以只通過在自己的指紋:
card_token = StripeMock.generate_card_token(fingerprint: "anything you want")
cus = Stripe::Customer.create(source: card_token)
cus.sources.data.first.fingerprint # => "anything you want"
感謝確認我的懷疑! –