Skip to content

Commit

Permalink
Accept token string as replacement for payment details
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Salzberg committed Nov 26, 2015
1 parent 32e7fd0 commit f6a1fa0
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 11 deletions.
26 changes: 15 additions & 11 deletions lib/active_merchant/billing/gateways/komoju.rb
Expand Up @@ -51,17 +51,21 @@ def store(payment, options = {})
private

def add_payment_details(post, payment, options)
details = {}

details[:type] = 'credit_card'
details[:number] = payment.number
details[:month] = payment.month
details[:year] = payment.year
details[:verification_value] = payment.verification_value
details[:given_name] = payment.first_name
details[:family_name] = payment.last_name
details[:email] = options[:email] if options[:email]

case payment
when CreditCard
details = {}

details[:type] = 'credit_card'
details[:number] = payment.number
details[:month] = payment.month
details[:year] = payment.year
details[:verification_value] = payment.verification_value
details[:given_name] = payment.first_name
details[:family_name] = payment.last_name
details[:email] = options[:email] if options[:email]
else
details = payment
end
post[:payment_details] = details
end

Expand Down
10 changes: 10 additions & 0 deletions test/unit/gateways/komoju_test.rb
@@ -1,6 +1,8 @@
require 'test_helper'

class KomojuTest < Test::Unit::TestCase
include CommStub

def setup
@gateway = KomojuGateway.new(:login => 'login')

Expand Down Expand Up @@ -29,6 +31,14 @@ def test_successful_credit_card_purchase
assert response.test?
end

def test_successful_credit_card_purchase_with_token
response = stub_comms(@gateway, :ssl_request) do
@gateway.purchase(@amount, "tok_xxx", @options)
end.check_request do |method, endpoint, data, headers|
assert_match('"payment_details":"tok_xxx"', data)
end.respond_with(JSON.generate(successful_credit_card_purchase_response))
end

def test_failed_purchase
raw_response = mock
raw_response.expects(:body).returns(JSON.generate(failed_purchase_response))
Expand Down

0 comments on commit f6a1fa0

Please sign in to comment.