dbalatero-remit 0.0.2.5

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 (44) hide show
  1. data/lib/remit.rb +133 -0
  2. data/lib/remit/common.rb +88 -0
  3. data/lib/remit/data_types.rb +181 -0
  4. data/lib/remit/error_codes.rb +118 -0
  5. data/lib/remit/get_pipeline.rb +181 -0
  6. data/lib/remit/ipn_request.rb +46 -0
  7. data/lib/remit/operations/cancel_token.rb +18 -0
  8. data/lib/remit/operations/discard_results.rb +18 -0
  9. data/lib/remit/operations/fund_prepaid.rb +31 -0
  10. data/lib/remit/operations/get_account_activity.rb +60 -0
  11. data/lib/remit/operations/get_account_balance.rb +29 -0
  12. data/lib/remit/operations/get_all_credit_instruments.rb +18 -0
  13. data/lib/remit/operations/get_all_prepaid_instruments.rb +18 -0
  14. data/lib/remit/operations/get_debt_balance.rb +23 -0
  15. data/lib/remit/operations/get_outstanding_debt_balance.rb +22 -0
  16. data/lib/remit/operations/get_payment_instruction.rb +21 -0
  17. data/lib/remit/operations/get_prepaid_balance.rb +23 -0
  18. data/lib/remit/operations/get_results.rb +27 -0
  19. data/lib/remit/operations/get_token_by_caller.rb +19 -0
  20. data/lib/remit/operations/get_token_usage.rb +18 -0
  21. data/lib/remit/operations/get_tokens.rb +20 -0
  22. data/lib/remit/operations/get_total_prepaid_liability.rb +22 -0
  23. data/lib/remit/operations/get_transaction.rb +42 -0
  24. data/lib/remit/operations/install_payment_instruction.rb +22 -0
  25. data/lib/remit/operations/pay.rb +35 -0
  26. data/lib/remit/operations/refund.rb +43 -0
  27. data/lib/remit/operations/reserve.rb +30 -0
  28. data/lib/remit/operations/retry_transaction.rb +18 -0
  29. data/lib/remit/operations/settle.rb +20 -0
  30. data/lib/remit/operations/settle_debt.rb +30 -0
  31. data/lib/remit/operations/subscribe_for_caller_notification.rb +18 -0
  32. data/lib/remit/operations/unsubscribe_for_caller_notification.rb +17 -0
  33. data/lib/remit/operations/write_off_debt.rb +28 -0
  34. data/lib/remit/pipeline_response.rb +52 -0
  35. data/spec/integrations/get_account_activity_spec.rb +36 -0
  36. data/spec/integrations/get_tokens_spec.rb +38 -0
  37. data/spec/integrations/integrations_helper.rb +8 -0
  38. data/spec/spec_helper.rb +36 -0
  39. data/spec/units/get_pipeline_spec.rb +165 -0
  40. data/spec/units/get_results_spec.rb +49 -0
  41. data/spec/units/ipn_request_spec.rb +32 -0
  42. data/spec/units/pay_spec.rb +133 -0
  43. data/spec/units/units_helper.rb +4 -0
  44. metadata +104 -0
@@ -0,0 +1,22 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetOutstandingDebtBalance
5
+ class Request < Remit::Request
6
+ action :GetOutStandingDebtBalance
7
+ end
8
+
9
+ class Response < Remit::Response
10
+ class OutstandingDebtBalance < Remit::BaseResponse
11
+ parameter :outstanding_balance, :type => Amount
12
+ parameter :pending_out_balance, :type => Amount
13
+ end
14
+
15
+ parameter :outstanding_debt, :type => OutstandingDebtBalance
16
+ end
17
+
18
+ def get_outstanding_debt_balance(request = Request.new)
19
+ call(request, Response)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetPaymentInstruction
5
+ class Request < Remit::Request
6
+ action :GetPaymentInstruction
7
+ parameter :token_id, :required => true
8
+ end
9
+
10
+ class Response < Remit::Response
11
+ parameter :token, :type => Token
12
+ parameter :payment_instruction
13
+ parameter :account_id
14
+ parameter :token_friendly_name
15
+ end
16
+
17
+ def get_payment_instruction(request = Request.new)
18
+ call(request, Response)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,23 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetPrepaidBalance
5
+ class Request < Remit::Request
6
+ action :GetPrepaidBalance
7
+ parameter :prepaid_instrument_id, :required => true
8
+ end
9
+
10
+ class Response < Remit::Response
11
+ class PrepaidBalance < Remit::BaseResponse
12
+ parameter :available_balance, :type => Amount
13
+ parameter :pending_in_balance, :type => Amount
14
+ end
15
+
16
+ parameter :prepaid_balance, :type => PrepaidBalance
17
+ end
18
+
19
+ def get_prepaid_balance(request = Request.new)
20
+ call(request, Response)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,27 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetResults
5
+ class Request < Remit::Request
6
+ action :GetResults
7
+ parameter :operation
8
+ parameter :max_results_count
9
+ end
10
+
11
+ class Response < Remit::Response
12
+ class TransactionResults < Remit::BaseResponse
13
+ parameter :transaction_id
14
+ parameter :operation_type, :element => :operation
15
+ parameter :caller_reference
16
+ parameter :transaction_status, :element => :status
17
+ end
18
+
19
+ parameter :transaction_results, :collection => TransactionResults
20
+ parameter :number_pending, :type => :integer
21
+ end
22
+
23
+ def get_results(request = Request.new)
24
+ call(request, Response)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTokenByCaller
5
+ class Request < Remit::Request
6
+ action :GetTokenByCaller
7
+ parameter :caller_reference
8
+ parameter :token_id
9
+ end
10
+
11
+ class Response < Remit::Response
12
+ parameter :token, :type => Token
13
+ end
14
+
15
+ def get_token_by_caller(request = Request.new)
16
+ call(request, Response)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTokenUsage
5
+ class Request < Remit::Request
6
+ action :GetTokenUsage
7
+ parameter :token_id, :required => true
8
+ end
9
+
10
+ class Response < Remit::Response
11
+ parameter :token_usage_limits, :type => TokenUsageLimit
12
+ end
13
+
14
+ def get_token_usage(request = Request.new)
15
+ call(request, Response)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTokens
5
+ class Request < Remit::Request
6
+ action :GetTokens
7
+ parameter :caller_reference
8
+ parameter :token_friendly_name
9
+ parameter :token_status
10
+ end
11
+
12
+ class Response < Remit::Response
13
+ parameter :tokens, :collection => Token
14
+ end
15
+
16
+ def get_tokens(request = Request.new)
17
+ call(request, Response)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTotalPrepaidLiability
5
+ class Request < Remit::Request
6
+ action :GetTotalPrepaidLiability
7
+ end
8
+
9
+ class Response < Remit::Response
10
+ class OutstandingPrepaidLiability < Remit::BaseResponse
11
+ parameter :outstanding_balance, :type => Amount
12
+ parameter :panding_in_balance, :type => Amount
13
+ end
14
+
15
+ parameter :outstanding_prepaid_liability, :type => OutstandingPrepaidLiability
16
+ end
17
+
18
+ def get_total_prepaid_liability(request = Request.new)
19
+ call(request, Response)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,42 @@
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 TransactionDetail < Remit::BaseResponse
12
+ parameter :caller_name
13
+ parameter :caller_token_id
14
+ parameter :caller_transaction_date, :type => :time
15
+ parameter :date_completed, :type => :time
16
+ parameter :date_received, :type => :time
17
+ parameter :error_code
18
+ parameter :error_message
19
+ parameter :fees, :type => Amount
20
+ parameter :meta_data
21
+ parameter :operation
22
+ parameter :payment_method
23
+ parameter :recipient_name
24
+ parameter :recipient_token_id
25
+ parameter :related_transactions
26
+ parameter :sender_name
27
+ parameter :sender_token_id
28
+ parameter :status
29
+ parameter :status_history
30
+ parameter :transaction_amount, :type => Amount
31
+ parameter :transaction_id
32
+ parameter :transaction_parts
33
+ end
34
+
35
+ parameter :transaction, :type => TransactionDetail
36
+ end
37
+
38
+ def get_transaction(request = Request.new)
39
+ call(request, Response)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,22 @@
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
@@ -0,0 +1,35 @@
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 :caller_token_id, :required => true
10
+ parameter :charge_fee_to, :required => true
11
+ parameter :descriptor_policy, :type => Remit::RequestTypes::DescriptorPolicy
12
+ parameter :marketplace_fixed_fee, :type => Remit::RequestTypes::Amount
13
+ parameter :marketplace_variable_fee
14
+ parameter :meta_data
15
+ parameter :recipient_description
16
+ parameter :recipient_reference
17
+ parameter :recipient_token_id, :required => true
18
+ parameter :sender_description
19
+ parameter :sender_reference
20
+ parameter :sender_token_id, :required => true
21
+ parameter :temporary_decline_policy, :type => Remit::RequestTypes::TemporaryDeclinePolicy
22
+ parameter :transaction_amount, :type => Remit::RequestTypes::Amount, :required => true
23
+ parameter :transaction_date
24
+ end
25
+
26
+ class Response < Remit::Response
27
+ parser :rexml
28
+ parameter :transaction_response, :namespace => 'ns3', :type => TransactionResponse
29
+ end
30
+
31
+ def pay(request = Request.new)
32
+ call(request, Response)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,43 @@
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
+ parameter :transaction_response, :type => TransactionResponse
37
+ end
38
+
39
+ def refund(request = Request.new)
40
+ call(request, Response)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,30 @@
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
@@ -0,0 +1,18 @@
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
@@ -0,0 +1,20 @@
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
@@ -0,0 +1,30 @@
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
@@ -0,0 +1,18 @@
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