pboling-remit 0.0.8 → 0.2.1

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.
Files changed (46) hide show
  1. metadata +19 -72
  2. data/LICENSE +0 -20
  3. data/README.markdown +0 -91
  4. data/lib/remit.rb +0 -127
  5. data/lib/remit/common.rb +0 -110
  6. data/lib/remit/data_types.rb +0 -170
  7. data/lib/remit/error_codes.rb +0 -118
  8. data/lib/remit/get_pipeline.rb +0 -212
  9. data/lib/remit/ipn_request.rb +0 -46
  10. data/lib/remit/operations/cancel_token.rb +0 -18
  11. data/lib/remit/operations/discard_results.rb +0 -18
  12. data/lib/remit/operations/fund_prepaid.rb +0 -31
  13. data/lib/remit/operations/get_account_activity.rb +0 -60
  14. data/lib/remit/operations/get_account_balance.rb +0 -29
  15. data/lib/remit/operations/get_all_credit_instruments.rb +0 -18
  16. data/lib/remit/operations/get_all_prepaid_instruments.rb +0 -18
  17. data/lib/remit/operations/get_debt_balance.rb +0 -23
  18. data/lib/remit/operations/get_outstanding_debt_balance.rb +0 -22
  19. data/lib/remit/operations/get_payment_instruction.rb +0 -21
  20. data/lib/remit/operations/get_prepaid_balance.rb +0 -23
  21. data/lib/remit/operations/get_results.rb +0 -27
  22. data/lib/remit/operations/get_token_by_caller.rb +0 -19
  23. data/lib/remit/operations/get_token_usage.rb +0 -18
  24. data/lib/remit/operations/get_tokens.rb +0 -20
  25. data/lib/remit/operations/get_total_prepaid_liability.rb +0 -22
  26. data/lib/remit/operations/get_transaction.rb +0 -54
  27. data/lib/remit/operations/install_payment_instruction.rb +0 -22
  28. data/lib/remit/operations/pay.rb +0 -30
  29. data/lib/remit/operations/refund.rb +0 -44
  30. data/lib/remit/operations/reserve.rb +0 -30
  31. data/lib/remit/operations/retry_transaction.rb +0 -18
  32. data/lib/remit/operations/settle.rb +0 -20
  33. data/lib/remit/operations/settle_debt.rb +0 -30
  34. data/lib/remit/operations/subscribe_for_caller_notification.rb +0 -18
  35. data/lib/remit/operations/unsubscribe_for_caller_notification.rb +0 -17
  36. data/lib/remit/operations/write_off_debt.rb +0 -28
  37. data/lib/remit/pipeline_response.rb +0 -64
  38. data/spec/integrations/get_account_activity_spec.rb +0 -36
  39. data/spec/integrations/get_tokens_spec.rb +0 -38
  40. data/spec/integrations/integrations_helper.rb +0 -8
  41. data/spec/spec_helper.rb +0 -36
  42. data/spec/units/get_pipeline_spec.rb +0 -165
  43. data/spec/units/get_results_spec.rb +0 -49
  44. data/spec/units/ipn_request_spec.rb +0 -32
  45. data/spec/units/pay_spec.rb +0 -133
  46. data/spec/units/units_helper.rb +0 -4
@@ -1,54 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module GetTransaction
5
- class Request < Remit::Request
6
- action :GetTransaction
7
- parameter :transaction_id, :required => true
8
- end
9
-
10
- class Response < Remit::Response
11
- class GetTransactionResult < Remit::BaseResponse
12
- class TransactionDetail < TransactionResponse
13
- parameter :caller_name
14
- parameter :caller_description
15
- parameter :caller_reference
16
- parameter :credit_instrument_id
17
- parameter :date_completed, :type => :time
18
- parameter :date_received, :type => :time
19
- parameter :f_p_s_fees, :type => Amount
20
- parameter :f_p_s_fees_paid_ib
21
- parameter :f_p_s_operation
22
- parameter :market_place_fees, :type => Amount
23
- parameter :payment_method
24
- parameter :prepaid_instrument_id
25
- parameter :recipient_name
26
- parameter :recipient_email
27
- parameter :recipient_token_id
28
- parameter :related_transactions
29
- parameter :sender_name
30
- parameter :sender_email
31
- parameter :sender_description
32
- parameter :sender_token_id
33
- parameter :status_code
34
- parameter :status_message
35
- parameter :status_history
36
- parameter :transaction_amount, :type => Amount
37
- end
38
-
39
- parameter :transaction, :type => TransactionDetail
40
- end
41
-
42
- parameter :get_transaction_result, :type =>GetTransactionResult
43
- alias :result :get_transaction_result
44
-
45
- def transaction
46
- result.transaction
47
- end
48
- end
49
-
50
- def get_transaction(request = Request.new)
51
- call(request, Response)
52
- end
53
- end
54
- end
@@ -1,22 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module InstallPaymentInstruction
5
- class Request < Remit::Request
6
- action :InstallPaymentInstruction
7
- parameter :payment_instruction, :required => true
8
- parameter :caller_reference, :required => true
9
- parameter :token_friendly_name
10
- parameter :token_type, :required => true
11
- parameter :payment_reason
12
- end
13
-
14
- class Response < Remit::Response
15
- parameter :token_id
16
- end
17
-
18
- def install_payment_instruction(request)
19
- call(request, Response)
20
- end
21
- end
22
- end
@@ -1,30 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module Pay
5
- class Request < Remit::Request
6
- action :Pay
7
- parameter :caller_description
8
- parameter :caller_reference, :required => true
9
- parameter :charge_fee_to
10
- parameter :descriptor_policy, :type => Remit::RequestTypes::DescriptorPolicy
11
- parameter :marketplace_fixed_fee, :type => Remit::RequestTypes::Amount
12
- parameter :marketplace_variable_fee
13
- parameter :recipient_token_id
14
- parameter :refund_token_id
15
- parameter :sender_description
16
- parameter :sender_token_id, :required => true
17
- parameter :transaction_amount, :type => Remit::RequestTypes::Amount, :required => true
18
- parameter :transaction_date
19
- end
20
-
21
- class PayResponse < Remit::Response
22
- parser :rexml
23
- parameter :pay_result, :type => TransactionResponse
24
- end
25
-
26
- def pay(request = Request.new)
27
- call(request, PayResponse)
28
- end
29
- end
30
- end
@@ -1,44 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module Refund
5
- class Request < Remit::Request
6
- action :Refund
7
- parameter :caller_description
8
- parameter :caller_reference, :required => true
9
- parameter :caller_token_id, :required => true
10
- parameter :charge_fee_to, :required => true
11
- parameter :meta_data
12
- parameter :refund_amount, :type => Remit::RequestTypes::Amount
13
- parameter :refund_recipient_description
14
- parameter :refund_recipient_reference
15
- parameter :refund_sender_description
16
- parameter :refund_sender_reference
17
- parameter :refund_sender_token_id, :required => true
18
- parameter :transaction_date
19
- parameter :transaction_id, :required => true
20
- #MarketplaceRefundPolicy is available in these APIs:
21
- # Amazon FPS Advanced Quick Start
22
- # Amazon FPS Marketplace Quick Start
23
- # Amazon FPS Aggregated Payments Quick Start
24
- # i.e. Not Basic Quick Start
25
- #Amazon Docs list it as a ComplexDataType, but it is not. It really should be listed under Enumerated DataTypes
26
- parameter :marketplace_refund_policy
27
-
28
- # The RefundAmount parameter has multiple components. It is specified on the query string like
29
- # so: RefundAmount.Amount=XXX&RefundAmount.CurrencyCode=YYY
30
- def convert_complex_key(key, parameter)
31
- "#{convert_key(key).to_s}.#{convert_key(parameter).to_s}"
32
- end
33
- end
34
-
35
- class Response < Remit::Response
36
- parser :rexml
37
- parameter :transaction_response, :namespace => 'ns3', :type => TransactionResponse
38
- end
39
-
40
- def refund(request = Request.new)
41
- call(request, Response)
42
- end
43
- end
44
- end
@@ -1,30 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module Reserve
5
- class Request < Remit::Request
6
- action :Reserve
7
- parameter :recipient_token_id, :required => true
8
- parameter :sender_token_id, :required => true
9
- parameter :caller_token_id, :required => true
10
- parameter :sender_reference
11
- parameter :recipient_reference
12
- parameter :caller_reference, :required => true
13
- parameter :transaction_date
14
- parameter :transaction_amount, :type => Remit::RequestTypes::Amount, :required => true
15
- parameter :charge_fee_to, :required => true
16
- parameter :sender_description
17
- parameter :recipient_description
18
- parameter :caller_description
19
- parameter :meta_data
20
- end
21
-
22
- class Response < Remit::Response
23
- parameter :transaction_response, :type => TransactionResponse
24
- end
25
-
26
- def reserve(request = Request.new)
27
- call(request, Response)
28
- end
29
- end
30
- end
@@ -1,18 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module RetryTransaction
5
- class Request < Remit::Request
6
- action :RetryTransaction
7
- parameter :original_transaction_id, :required => true
8
- end
9
-
10
- class Response < Remit::Response
11
- parameter :transaction_response, :type => TransactionResponse
12
- end
13
-
14
- def retry_transaction(request = Request.new)
15
- call(request, Response)
16
- end
17
- end
18
- end
@@ -1,20 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module Settle
5
- class Request < Remit::Request
6
- action :Settle
7
- parameter :reserve_transaction_id, :required => true
8
- parameter :transaction_amount, :type => Remit::RequestTypes::Amount
9
- parameter :transaction_date
10
- end
11
-
12
- class Response < Remit::Response
13
- parameter :transaction_response, :type => TransactionResponse
14
- end
15
-
16
- def settle(request = Request.new)
17
- call(request, Response)
18
- end
19
- end
20
- end
@@ -1,30 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module SettleDebt
5
- class Request < Remit::Request
6
- action :SettleDebt
7
- parameter :caller_description
8
- parameter :caller_reference, :required => true
9
- parameter :caller_token_id, :required => true
10
- parameter :charge_fee_to, :required => true
11
- parameter :credit_instrument_id, :required => true
12
- parameter :meta_data
13
- parameter :recipient_description
14
- parameter :recipient_reference
15
- parameter :sender_description
16
- parameter :sender_reference
17
- parameter :sender_token_id, :required => true
18
- parameter :settlement_amount, :type => Remit::RequestTypes::Amount, :required => true
19
- parameter :transaction_date
20
- end
21
-
22
- class Response < Remit::Response
23
- parameter :transaction_response, :type => TransactionResponse
24
- end
25
-
26
- def settle_debt(request = Request.new)
27
- call(request, Response)
28
- end
29
- end
30
- end
@@ -1,18 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module SubscribeForCallerNotification
5
- class Request < Remit::Request
6
- action :SubscribeForCallerNotification
7
- parameter :notification_operation_name, :required => true
8
- parameter :web_service_api_url, :required => true
9
- end
10
-
11
- class Response < Remit::Response
12
- end
13
-
14
- def subscribe_for_caller_notification(request = Request.new)
15
- call(request, Response)
16
- end
17
- end
18
- end
@@ -1,17 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module UnsubscribeForCallerNotification
5
- class Request < Remit::Request
6
- action :UnSubscribeForCallerNotification
7
- parameter :notification_operation_name, :required => true
8
- end
9
-
10
- class Response < Remit::Response
11
- end
12
-
13
- def unsubscribe_for_caller_notification(request = Request.new)
14
- call(request, Response)
15
- end
16
- end
17
- end
@@ -1,28 +0,0 @@
1
- require 'remit/common'
2
-
3
- module Remit
4
- module WriteOffDebt
5
- class Request < Remit::Request
6
- action :WriteOffDebt
7
- parameter :caller_token_id, :required => true
8
- parameter :credit_instrument_id, :required => true
9
- parameter :adjustment_amount, :required => true
10
- parameter :transaction_date
11
- parameter :sender_reference
12
- parameter :caller_reference, :required => true
13
- parameter :recipient_reference
14
- parameter :sender_description
15
- parameter :recipient_description
16
- parameter :caller_description
17
- parameter :meta_data
18
- end
19
-
20
- class Response < Remit::Response
21
- parameter :transaction_response, :type => TransactionResponse
22
- end
23
-
24
- def write_off_debt(request = Request.new)
25
- call(request, Response)
26
- end
27
- end
28
- end
@@ -1,64 +0,0 @@
1
- module Remit
2
- class PipelineResponse
3
- def initialize(uri, secret_key)
4
- @uri = URI.parse(uri)
5
- @secret_key = secret_key
6
- end
7
-
8
- # Returns +true+ if the response is correctly signed (awsSignature).
9
- #
10
- #--
11
- # The unescape_value method is used here because the awsSignature value
12
- # pulled from the request is filtered through the same method.
13
- #++
14
- def valid?
15
- return false unless given_signature
16
- #unescape both sides. now it will work even if the given_signature is escaped
17
- Relax::Query.unescape_value(correct_signature) == Relax::Query.unescape_value(given_signature)
18
- end
19
-
20
- # Returns +true+ if the response returns a successful state.
21
- def successful?
22
- [
23
- Remit::PipelineStatusCode::SUCCESS_ABT,
24
- Remit::PipelineStatusCode::SUCCESS_ACH,
25
- Remit::PipelineStatusCode::SUCCESS_CC,
26
- Remit::PipelineStatusCode::SUCCESS_NO_CHANGE,
27
- Remit::PipelineStatusCode::SUCCESS_RECIPIENT_TOKEN_INSTALLED
28
- ].include?(request_query[:status])
29
- end
30
-
31
- def [](key)
32
- request_query[key]
33
- end
34
-
35
- def method_missing(method, *args) #:nodoc:
36
- if request_query.has_key?(method)
37
- request_query[method]
38
- else
39
- super
40
- end
41
- end
42
-
43
- def signature_key
44
- :signature
45
- end
46
-
47
- def request_query(reload = false)
48
- @query ||= Remit::SignedQuery.new(@uri, @secret_key)
49
- end
50
- private :request_query
51
-
52
- def given_signature
53
- request_query[signature_key]
54
- end
55
- private :given_signature
56
-
57
- def correct_signature
58
- query_params = request_query.clone
59
- query_params.delete(signature_key)
60
- Remit::SignedQuery.signature(@secret_key,query_params)
61
- end
62
- private :correct_signature
63
- end
64
- end
@@ -1,36 +0,0 @@
1
- require File.dirname(__FILE__) + '/integrations_helper'
2
-
3
- describe 'a GetAccountActivity call' do
4
- it_should_behave_like 'a successful response'
5
-
6
- before(:all) do
7
- request = Remit::GetAccountActivity::Request.new
8
- request.start_date = Date.today - 7
9
- @response = remit.get_account_activity(request)
10
- end
11
-
12
- it 'should have a collection of transactions' do
13
- @response.should have_at_least(1).transactions
14
- end
15
-
16
- it 'should have a transaction with all of its values set' do
17
- transaction = @response.transactions.first
18
- transaction.caller_name.should_not be_empty
19
- transaction.caller_token_id.should_not be_empty
20
- transaction.caller_transaction_date.should_not be_nil
21
- transaction.date_completed.should_not be_nil
22
- transaction.date_received.should_not be_nil
23
- transaction.error_code.should be_empty
24
- transaction.error_detail.should be_nil
25
- transaction.error_message.should be_nil
26
- transaction.fees.should_not be_nil
27
- transaction.operation.should_not be_empty
28
- transaction.recipient_name.should_not be_empty
29
- transaction.sender_name.should_not be_empty
30
- transaction.sender_token_id.should_not be_empty
31
- transaction.status.should_not be_empty
32
- transaction.transaction_amount.should_not be_nil
33
- transaction.transaction_id.should_not be_empty
34
- transaction.transaction_parts.should_not be_empty
35
- end
36
- end
@@ -1,38 +0,0 @@
1
- require File.dirname(__FILE__) + '/integrations_helper'
2
-
3
- describe 'a GetTokens call' do
4
- it_should_behave_like 'a successful response'
5
-
6
- before(:all) do
7
- @response = remit.get_tokens
8
- end
9
-
10
- it 'should have a collection of tokens' do
11
- @response.should have_at_least(1).tokens
12
- end
13
-
14
- it 'should have a token with all of its values set' do
15
- token = @response.tokens.first
16
- token.token_id.should_not be_empty
17
- token.friendly_name.should_not be_empty
18
- token.status.should_not be_empty
19
- token.date_installed.should_not be_nil
20
- token.caller_installed.should_not be_empty
21
- token.caller_reference.should_not be_empty
22
- token.token_type.should_not be_empty
23
- token.old_token_id.should_not be_empty
24
- token.payment_reason.should_not be_empty
25
- end
26
-
27
- it 'should have a token with a token ID' do
28
- @response.tokens.first.token_id.should_not be_empty
29
- end
30
-
31
- it 'should have a token with a valid token status' do
32
- @response.tokens.first.status.should match(/^(IN)?ACTIVE$/i)
33
- end
34
-
35
- it 'should have a token with a valid installation date' do
36
- @response.tokens.first.date_installed.should be_a_kind_of(Time)
37
- end
38
- end