pboling-remit 0.0.8 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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