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.
- metadata +19 -72
- data/LICENSE +0 -20
- data/README.markdown +0 -91
- data/lib/remit.rb +0 -127
- data/lib/remit/common.rb +0 -110
- data/lib/remit/data_types.rb +0 -170
- data/lib/remit/error_codes.rb +0 -118
- data/lib/remit/get_pipeline.rb +0 -212
- data/lib/remit/ipn_request.rb +0 -46
- data/lib/remit/operations/cancel_token.rb +0 -18
- data/lib/remit/operations/discard_results.rb +0 -18
- data/lib/remit/operations/fund_prepaid.rb +0 -31
- data/lib/remit/operations/get_account_activity.rb +0 -60
- data/lib/remit/operations/get_account_balance.rb +0 -29
- data/lib/remit/operations/get_all_credit_instruments.rb +0 -18
- data/lib/remit/operations/get_all_prepaid_instruments.rb +0 -18
- data/lib/remit/operations/get_debt_balance.rb +0 -23
- data/lib/remit/operations/get_outstanding_debt_balance.rb +0 -22
- data/lib/remit/operations/get_payment_instruction.rb +0 -21
- data/lib/remit/operations/get_prepaid_balance.rb +0 -23
- data/lib/remit/operations/get_results.rb +0 -27
- data/lib/remit/operations/get_token_by_caller.rb +0 -19
- data/lib/remit/operations/get_token_usage.rb +0 -18
- data/lib/remit/operations/get_tokens.rb +0 -20
- data/lib/remit/operations/get_total_prepaid_liability.rb +0 -22
- data/lib/remit/operations/get_transaction.rb +0 -54
- data/lib/remit/operations/install_payment_instruction.rb +0 -22
- data/lib/remit/operations/pay.rb +0 -30
- data/lib/remit/operations/refund.rb +0 -44
- data/lib/remit/operations/reserve.rb +0 -30
- data/lib/remit/operations/retry_transaction.rb +0 -18
- data/lib/remit/operations/settle.rb +0 -20
- data/lib/remit/operations/settle_debt.rb +0 -30
- data/lib/remit/operations/subscribe_for_caller_notification.rb +0 -18
- data/lib/remit/operations/unsubscribe_for_caller_notification.rb +0 -17
- data/lib/remit/operations/write_off_debt.rb +0 -28
- data/lib/remit/pipeline_response.rb +0 -64
- data/spec/integrations/get_account_activity_spec.rb +0 -36
- data/spec/integrations/get_tokens_spec.rb +0 -38
- data/spec/integrations/integrations_helper.rb +0 -8
- data/spec/spec_helper.rb +0 -36
- data/spec/units/get_pipeline_spec.rb +0 -165
- data/spec/units/get_results_spec.rb +0 -49
- data/spec/units/ipn_request_spec.rb +0 -32
- data/spec/units/pay_spec.rb +0 -133
- 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
|
data/lib/remit/operations/pay.rb
DELETED
@@ -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
|