alpha_card 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +4 -4
- data/CHANGELOG.md +21 -3
- data/Gemfile +0 -2
- data/Gemfile.lock +6 -24
- data/README.md +115 -85
- data/ROADMAP.md +13 -9
- data/alpha_card.gemspec +3 -4
- data/lib/alpha_card.rb +44 -72
- data/lib/alpha_card/account.rb +51 -0
- data/lib/alpha_card/attribute.rb +337 -0
- data/lib/alpha_card/data/credit_card_codes.yml +54 -54
- data/lib/alpha_card/errors/invalid_attribute_format.rb +14 -0
- data/lib/alpha_card/errors/invalid_attribute_type.rb +14 -0
- data/lib/alpha_card/errors/invalid_attribute_value.rb +14 -0
- data/lib/alpha_card/errors/{invalid_object_error.rb → validation_error.rb} +1 -1
- data/lib/alpha_card/{alpha_card_object.rb → resource.rb} +14 -28
- data/lib/alpha_card/resources/billing.rb +29 -0
- data/lib/alpha_card/{objects → resources}/order.rb +8 -8
- data/lib/alpha_card/{objects → resources}/shipping.rb +15 -13
- data/lib/alpha_card/{alpha_card_response.rb → response.rb} +21 -6
- data/lib/alpha_card/transaction.rb +30 -0
- data/lib/alpha_card/transactions/auth.rb +18 -0
- data/lib/alpha_card/transactions/capture.rb +32 -0
- data/lib/alpha_card/transactions/credit.rb +18 -0
- data/lib/alpha_card/{objects → transactions}/refund.rb +9 -2
- data/lib/alpha_card/transactions/sale.rb +91 -0
- data/lib/alpha_card/transactions/update.rb +61 -0
- data/lib/alpha_card/transactions/validate.rb +21 -0
- data/lib/alpha_card/transactions/void.rb +26 -0
- data/lib/alpha_card/version.rb +1 -1
- data/spec/alpha_card/attribute_spec.rb +126 -0
- data/spec/alpha_card/response_spec.rb +8 -4
- data/spec/alpha_card/transactions/auth_spec.rb +43 -0
- data/spec/alpha_card/{objects → transactions}/capture_spec.rb +11 -12
- data/spec/alpha_card/transactions/credit_spec.rb +102 -0
- data/spec/alpha_card/{objects → transactions}/refund_spec.rb +4 -4
- data/spec/alpha_card/{objects → transactions}/sale_spec.rb +42 -41
- data/spec/alpha_card/{objects → transactions}/update_spec.rb +4 -4
- data/spec/alpha_card/transactions/validate_spec.rb +100 -0
- data/spec/alpha_card/{objects → transactions}/void_spec.rb +11 -11
- data/spec/spec_helper.rb +4 -0
- metadata +36 -47
- data/lib/alpha_card/errors/alpha_card_error.rb +0 -29
- data/lib/alpha_card/objects/account.rb +0 -48
- data/lib/alpha_card/objects/billing.rb +0 -31
- data/lib/alpha_card/objects/capture.rb +0 -51
- data/lib/alpha_card/objects/sale.rb +0 -82
- data/lib/alpha_card/objects/update.rb +0 -54
- data/lib/alpha_card/objects/void.rb +0 -45
- data/spec/alpha_card/objects/account_spec.rb +0 -20
- data/spec/alpha_card/objects/deprecated_methods_spec.rb +0 -32
@@ -1,54 +0,0 @@
|
|
1
|
-
module AlphaCard
|
2
|
-
##
|
3
|
-
# Implementation of Alpha Card Services Update transaction.
|
4
|
-
# Transaction updates can be used to update previous transactions
|
5
|
-
# with specific order information, such as a tracking number
|
6
|
-
# and shipping carrier.
|
7
|
-
class Update < Void
|
8
|
-
# Total shipping amount.
|
9
|
-
# Format: x.xx
|
10
|
-
attribute :shipping, String
|
11
|
-
attribute :shipping_postal, String
|
12
|
-
attribute :ship_from_postal, String
|
13
|
-
attribute :shipping_country, String
|
14
|
-
# Values: 'ups', 'fedex', 'dhl', or 'usps'
|
15
|
-
attribute :shipping_carrier, String
|
16
|
-
# Format: YYYYMMDD
|
17
|
-
attribute :shipping_date, String
|
18
|
-
attribute :order_description, String
|
19
|
-
attribute :order_date, String
|
20
|
-
# Values: 'true' or 'false'
|
21
|
-
attribute :customer_receipt, String
|
22
|
-
attribute :po_number, String
|
23
|
-
attribute :summary_commodity_code, String
|
24
|
-
# Format: x.xx
|
25
|
-
attribute :duty_amount, String
|
26
|
-
# Format: x.xx
|
27
|
-
attribute :discount_amount, String
|
28
|
-
# Format: x.xx
|
29
|
-
attribute :tax, String
|
30
|
-
# Format: x.xx
|
31
|
-
attribute :national_tax_amount, String
|
32
|
-
# Format: x.xx
|
33
|
-
attribute :alternate_tax_amount, String
|
34
|
-
attribute :alternate_tax_id, String
|
35
|
-
attribute :vat_tax_amount, String
|
36
|
-
attribute :vat_tax_rate, String
|
37
|
-
attribute :vat_invoice_reference_number, String
|
38
|
-
attribute :customer_vat_registration, String
|
39
|
-
attribute :merchant_vat_registration, String
|
40
|
-
|
41
|
-
##
|
42
|
-
# Transaction type (default is 'update')
|
43
|
-
#
|
44
|
-
# @attribute [r] type
|
45
|
-
attribute :type, String, default: 'update', writer: :private
|
46
|
-
|
47
|
-
##
|
48
|
-
# Original AlphaCard transaction variables names
|
49
|
-
ORIGIN_TRANSACTION_VARIABLES = {
|
50
|
-
transaction_id: :transactionid,
|
51
|
-
po_number: :ponumber
|
52
|
-
}.freeze
|
53
|
-
end
|
54
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
module AlphaCard
|
2
|
-
##
|
3
|
-
# Implementation of Alpha Card Services Void transaction.
|
4
|
-
class Void < AlphaCardObject
|
5
|
-
attribute :transaction_id, String
|
6
|
-
|
7
|
-
##
|
8
|
-
# Transaction type (default is 'void')
|
9
|
-
#
|
10
|
-
# @attribute [r] type
|
11
|
-
attribute :type, String, default: 'void', writer: :private
|
12
|
-
|
13
|
-
##
|
14
|
-
# Original AlphaCard transaction variables names
|
15
|
-
ORIGIN_TRANSACTION_VARIABLES = {
|
16
|
-
transaction_id: :transactionid
|
17
|
-
}.freeze
|
18
|
-
|
19
|
-
##
|
20
|
-
# Creates void transaction with the <code>AlphaCard::Account</code> credentials.
|
21
|
-
#
|
22
|
-
# @param [AlphaCard::Account] account
|
23
|
-
# An <code>AlphaCard::Account</code> object.
|
24
|
-
#
|
25
|
-
# @return [Boolean]
|
26
|
-
# True if transaction was created successfully.
|
27
|
-
# Raise an AlphaCardError exception if some error occurred.
|
28
|
-
#
|
29
|
-
# @raise [AlphaCard::InvalidObjectError]
|
30
|
-
# Exception if one of required attributes doesn't specified.
|
31
|
-
#
|
32
|
-
# @example
|
33
|
-
# account = AlphaCard::Account.new('demo', 'password')
|
34
|
-
# void = AlphaCard::Void.new(transaction_id: '981562')
|
35
|
-
# void.create(account)
|
36
|
-
#
|
37
|
-
# #=> [true, #<AlphaCard::AlphaCardResponse:0x1a0fda ...>]
|
38
|
-
def create(account)
|
39
|
-
abort_if_attributes_blank!(:transaction_id)
|
40
|
-
|
41
|
-
response = AlphaCard.request(account, attributes_for_request)
|
42
|
-
[response.success?, response]
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe AlphaCard::Account do
|
4
|
-
let(:valid_account) { AlphaCard::Account.new('demo', 'password') }
|
5
|
-
let(:invalid_account) { AlphaCard::Account.new('', '') }
|
6
|
-
|
7
|
-
describe '#filled?' do
|
8
|
-
context 'with filled credentials' do
|
9
|
-
it 'returns true' do
|
10
|
-
expect(valid_account.filled?).to be_truthy
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
context 'with blank credentials' do
|
15
|
-
it 'returns false' do
|
16
|
-
expect(invalid_account.filled?).to be_falsey
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe 'AlphaCard objects deprecated methods' do
|
4
|
-
def warn_writer(old_method, new_method)
|
5
|
-
"[DEPRECATION] #{old_method}= is deprecated! Please, use #{new_method}= instead\n"
|
6
|
-
end
|
7
|
-
|
8
|
-
def warn_reader(old_method, new_method)
|
9
|
-
"[DEPRECATION] #{old_method} is deprecated! Please, use #{new_method} instead\n"
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'warns with deprecation message for AlphaCard::Sale' do
|
13
|
-
AlphaCard::Sale::ORIGIN_TRANSACTION_VARIABLES.each do |new, old|
|
14
|
-
expect { AlphaCard::Sale.new.send("#{old}=", 'T') }.to output(warn_writer(old, new)).to_stderr
|
15
|
-
expect { AlphaCard::Sale.new.send(old) }.to output(warn_reader(old, new)).to_stderr
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'warns with deprecation message for AlphaCard::Billing' do
|
20
|
-
AlphaCard::Billing::ORIGIN_TRANSACTION_VARIABLES.each do |new, old|
|
21
|
-
expect { AlphaCard::Billing.new.send("#{old}=", 'T') }.to output(warn_writer(old, new)).to_stderr
|
22
|
-
expect { AlphaCard::Billing.new.send(old) }.to output(warn_reader(old, new)).to_stderr
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'warns with deprecation message for AlphaCard::Shipping' do
|
27
|
-
AlphaCard::Shipping::ORIGIN_TRANSACTION_VARIABLES.each do |new, old|
|
28
|
-
expect { AlphaCard::Shipping.new.send("#{old}=", 'T') }.to output(warn_writer(old, new)).to_stderr
|
29
|
-
expect { AlphaCard::Shipping.new.send(old) }.to output(warn_reader(old, new)).to_stderr
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|