payneteasy-payneteasyapi 0.1.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.
Files changed (87) hide show
  1. data/.gemtest +0 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +18 -0
  4. data/README.md +54 -0
  5. data/Rakefile +8 -0
  6. data/doc/00-basic-tutorial.md +254 -0
  7. data/doc/01-library-internals.md +6 -0
  8. data/doc/02-payment-scenarios.md +9 -0
  9. data/doc/library-internals/00-payment-data.md +162 -0
  10. data/doc/library-internals/01-payment-processor.md +163 -0
  11. data/doc/library-internals/02-validator.md +55 -0
  12. data/doc/library-internals/03-property-accessor.md +76 -0
  13. data/doc/payment-scenarios/00-sale-transactions.md +90 -0
  14. data/doc/payment-scenarios/01-preauth-capture-transactions.md +105 -0
  15. data/doc/payment-scenarios/02-transfer-transactions.md +89 -0
  16. data/doc/payment-scenarios/03-return-transactions.md +52 -0
  17. data/doc/payment-scenarios/04-recurrent-transactions.md +110 -0
  18. data/doc/payment-scenarios/05-payment-form-integration.md +59 -0
  19. data/doc/payment-scenarios/06-merchant-callbacks.md +29 -0
  20. data/example/capture.rb +12 -0
  21. data/example/common/functions.rb +56 -0
  22. data/lib/paynet_easy/paynet_easy_api/callback/callback_factory.rb +47 -0
  23. data/lib/paynet_easy/paynet_easy_api/callback/callback_prototype.rb +186 -0
  24. data/lib/paynet_easy/paynet_easy_api/callback/customer_return_callback.rb +28 -0
  25. data/lib/paynet_easy/paynet_easy_api/callback/paynet_easy_callback.rb +44 -0
  26. data/lib/paynet_easy/paynet_easy_api/error/paynet_error.rb +4 -0
  27. data/lib/paynet_easy/paynet_easy_api/error/request_error.rb +6 -0
  28. data/lib/paynet_easy/paynet_easy_api/error/response_error.rb +6 -0
  29. data/lib/paynet_easy/paynet_easy_api/error/validation_error.rb +6 -0
  30. data/lib/paynet_easy/paynet_easy_api/payment_data/billing_address.rb +41 -0
  31. data/lib/paynet_easy/paynet_easy_api/payment_data/credit_card.rb +32 -0
  32. data/lib/paynet_easy/paynet_easy_api/payment_data/customer.rb +35 -0
  33. data/lib/paynet_easy/paynet_easy_api/payment_data/data.rb +13 -0
  34. data/lib/paynet_easy/paynet_easy_api/payment_data/payment.rb +190 -0
  35. data/lib/paynet_easy/paynet_easy_api/payment_data/payment_transaction.rb +188 -0
  36. data/lib/paynet_easy/paynet_easy_api/payment_data/query_config.rb +95 -0
  37. data/lib/paynet_easy/paynet_easy_api/payment_data/recurrent_card.rb +40 -0
  38. data/lib/paynet_easy/paynet_easy_api/payment_processor.rb +251 -0
  39. data/lib/paynet_easy/paynet_easy_api/paynet_easy_api.rb +26 -0
  40. data/lib/paynet_easy/paynet_easy_api/query/capture_query.rb +30 -0
  41. data/lib/paynet_easy/paynet_easy_api/query/create_card_ref_query.rb +78 -0
  42. data/lib/paynet_easy/paynet_easy_api/query/get_card_info_query.rb +49 -0
  43. data/lib/paynet_easy/paynet_easy_api/query/make_rebill_query.rb +37 -0
  44. data/lib/paynet_easy/paynet_easy_api/query/preauth_form_query.rb +10 -0
  45. data/lib/paynet_easy/paynet_easy_api/query/preauth_query.rb +10 -0
  46. data/lib/paynet_easy/paynet_easy_api/query/prototype/payment_form_query.rb +69 -0
  47. data/lib/paynet_easy/paynet_easy_api/query/prototype/payment_query.rb +71 -0
  48. data/lib/paynet_easy/paynet_easy_api/query/prototype/query.rb +302 -0
  49. data/lib/paynet_easy/paynet_easy_api/query/query_factory.rb +19 -0
  50. data/lib/paynet_easy/paynet_easy_api/query/return_query.rb +46 -0
  51. data/lib/paynet_easy/paynet_easy_api/query/sale_form_query.rb +10 -0
  52. data/lib/paynet_easy/paynet_easy_api/query/sale_query.rb +53 -0
  53. data/lib/paynet_easy/paynet_easy_api/query/status_query.rb +50 -0
  54. data/lib/paynet_easy/paynet_easy_api/query/transfer_by_ref_query.rb +41 -0
  55. data/lib/paynet_easy/paynet_easy_api/query/transfer_form_query.rb +10 -0
  56. data/lib/paynet_easy/paynet_easy_api/transport/callback_response.rb +21 -0
  57. data/lib/paynet_easy/paynet_easy_api/transport/gateway_client.rb +91 -0
  58. data/lib/paynet_easy/paynet_easy_api/transport/request.rb +20 -0
  59. data/lib/paynet_easy/paynet_easy_api/transport/response.rb +136 -0
  60. data/lib/paynet_easy/paynet_easy_api/util/property_accessor.rb +60 -0
  61. data/lib/paynet_easy/paynet_easy_api/util/string.rb +9 -0
  62. data/lib/paynet_easy/paynet_easy_api/util/validator.rb +110 -0
  63. data/payneteasy-payneteasyapi.gemspec +16 -0
  64. data/test/paynet_easy/paynet_easy_api/callback/callback_factory_test.rb +22 -0
  65. data/test/paynet_easy/paynet_easy_api/callback/callback_test_prototype.rb +168 -0
  66. data/test/paynet_easy/paynet_easy_api/callback/customer_return_callback_test.rb +95 -0
  67. data/test/paynet_easy/paynet_easy_api/callback/paynet_easy_callback_test.rb +101 -0
  68. data/test/paynet_easy/paynet_easy_api/fake.rb +71 -0
  69. data/test/paynet_easy/paynet_easy_api/payment_processor_test.rb +255 -0
  70. data/test/paynet_easy/paynet_easy_api/query/capture_query_test.rb +48 -0
  71. data/test/paynet_easy/paynet_easy_api/query/create_card_ref_query_test.rb +116 -0
  72. data/test/paynet_easy/paynet_easy_api/query/get_card_info_query_test.rb +116 -0
  73. data/test/paynet_easy/paynet_easy_api/query/make_rebill_query_test.rb +59 -0
  74. data/test/paynet_easy/paynet_easy_api/query/prototype/payment_query_test_prototype.rb +117 -0
  75. data/test/paynet_easy/paynet_easy_api/query/prototype/query_test_prototype.rb +190 -0
  76. data/test/paynet_easy/paynet_easy_api/query/prototype/sync_query_test_prototype.rb +88 -0
  77. data/test/paynet_easy/paynet_easy_api/query/query_factory_test.rb +21 -0
  78. data/test/paynet_easy/paynet_easy_api/query/return_query_test.rb +58 -0
  79. data/test/paynet_easy/paynet_easy_api/query/sale_form_query_test.rb +96 -0
  80. data/test/paynet_easy/paynet_easy_api/query/sale_query_test.rb +78 -0
  81. data/test/paynet_easy/paynet_easy_api/query/status_query_test.rb +81 -0
  82. data/test/paynet_easy/paynet_easy_api/query/transfer_by_ref_query_test.rb +63 -0
  83. data/test/paynet_easy/paynet_easy_api/transport/gateway_client_test.rb +22 -0
  84. data/test/paynet_easy/paynet_easy_api/transport/response_test.rb +26 -0
  85. data/test/paynet_easy/paynet_easy_api/util/property_accessor_test.rb +52 -0
  86. data/test/paynet_easy/paynet_easy_api/util/validator_test.rb +42 -0
  87. metadata +204 -0
@@ -0,0 +1,96 @@
1
+ require_relative './prototype/payment_query_test_prototype'
2
+ require 'query/sale_form_query'
3
+ require 'payment_data/customer'
4
+ require 'payment_data/billing_address'
5
+
6
+ module PaynetEasy::PaynetEasyApi::Query
7
+ class SaleFormQueryTest < Test::Unit::TestCase
8
+ include Prototype::PaymentQueryTestPrototype
9
+
10
+ def test_create_request
11
+ [
12
+ create_control_code(
13
+ END_POINT,
14
+ CLIENT_ID,
15
+ 9910,
16
+ 'vass.pupkin@example.com',
17
+ SIGNING_KEY
18
+ )
19
+ ].each do |control_code|
20
+ assert_create_request control_code
21
+ end
22
+ end
23
+
24
+ def test_process_response_processing
25
+ [
26
+ {
27
+ 'type' => success_type,
28
+ 'status' => 'processing',
29
+ 'merchant-order-id' => CLIENT_ID,
30
+ 'paynet-order-id' => PAYNET_ID,
31
+ 'serial-number' => '_',
32
+ 'redirect-url' => 'http://redirect-url.com'
33
+ }
34
+ ].each do |response|
35
+ assert_process_response_processing response
36
+ end
37
+ end
38
+
39
+ alias :payment_query_test_assert_process_response_processing assert_process_response_processing
40
+
41
+ def assert_process_response_processing(response)
42
+ payment_transaction, response_object = payment_query_test_assert_process_response_processing response
43
+
44
+ assert_true response_object.redirect_needed?
45
+
46
+ [payment_transaction, response_object]
47
+ end
48
+
49
+ protected
50
+
51
+ def payment
52
+ Payment.new(
53
+ {
54
+ 'client_id' => CLIENT_ID,
55
+ 'paynet_id' => PAYNET_ID,
56
+ 'description' => 'This is test payment',
57
+ 'amount' => 99.1,
58
+ 'currency' => 'USD',
59
+ 'customer' => Customer.new(
60
+ {
61
+ 'first_name' => 'Vasya',
62
+ 'last_name' => 'Pupkin',
63
+ 'email' => 'vass.pupkin@example.com',
64
+ 'ip_address' => '127.0.0.1',
65
+ 'birthday' => '112681'
66
+ }),
67
+ 'billing_address' => BillingAddress.new(
68
+ {
69
+ 'country' => 'US',
70
+ 'state' => 'TX',
71
+ 'city' => 'Houston',
72
+ 'first_line' => '2704 Colonial Drive',
73
+ 'zip_code' => '1235',
74
+ 'phone' => '660-485-6353',
75
+ 'cell_phone' => '660-485-6353'
76
+ })
77
+ })
78
+ end
79
+
80
+ def payment_status
81
+ Payment::STATUS_CAPTURE
82
+ end
83
+
84
+ def api_method
85
+ 'sale-form'
86
+ end
87
+
88
+ def query
89
+ SaleFormQuery.new api_method
90
+ end
91
+
92
+ def success_type
93
+ 'async-form-response'
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,78 @@
1
+ require_relative './prototype/payment_query_test_prototype'
2
+ require 'query/sale_query'
3
+ require 'payment_data/customer'
4
+ require 'payment_data/billing_address'
5
+ require 'payment_data/credit_card'
6
+
7
+ module PaynetEasy::PaynetEasyApi::Query
8
+ class SaleQueryTest < Test::Unit::TestCase
9
+ include Prototype::PaymentQueryTestPrototype
10
+
11
+ def test_create_request
12
+ [
13
+ create_control_code(
14
+ END_POINT,
15
+ CLIENT_ID,
16
+ '99', # amount
17
+ 'vass.pupkin@example.com',
18
+ SIGNING_KEY
19
+ )
20
+ ].each do |control_code|
21
+ assert_create_request control_code
22
+ end
23
+ end
24
+
25
+ protected
26
+
27
+ def payment
28
+ Payment.new(
29
+ {
30
+ 'client_id' => CLIENT_ID,
31
+ 'paynet_id' => PAYNET_ID,
32
+ 'description' => 'This is test payment',
33
+ 'amount' => 0.99,
34
+ 'currency' => 'USD',
35
+ 'destination' => 'destination',
36
+ 'customer' => Customer.new(
37
+ {
38
+ 'first_name' => 'Vasya',
39
+ 'last_name' => 'Pupkin',
40
+ 'email' => 'vass.pupkin@example.com',
41
+ 'ip_address' => '127.0.0.1',
42
+ 'birthday' => '112681',
43
+ 'ssn' => '8397'
44
+ }),
45
+ 'billing_address' => BillingAddress.new(
46
+ {
47
+ 'country' => 'US',
48
+ 'state' => 'TX',
49
+ 'city' => 'Houston',
50
+ 'first_line' => '2704 Colonial Drive',
51
+ 'zip_code' => '1235',
52
+ 'phone' => '660-485-6353',
53
+ 'cell_phone' => '660-485-6353'
54
+ }),
55
+ 'credit_card' => CreditCard.new(
56
+ {
57
+ 'card_printed_name' => 'Vasya Pupkin',
58
+ 'credit_card_number' => '4485 9408 2237 9130',
59
+ 'expire_month' => '12',
60
+ 'expire_year' => '14',
61
+ 'cvv2' => '084'
62
+ })
63
+ })
64
+ end
65
+
66
+ def payment_status
67
+ Payment::STATUS_CAPTURE
68
+ end
69
+
70
+ def api_method
71
+ 'sale'
72
+ end
73
+
74
+ def query
75
+ SaleQuery.new api_method
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,81 @@
1
+ require_relative './prototype/sync_query_test_prototype'
2
+ require 'query/status_query'
3
+
4
+ module PaynetEasy::PaynetEasyApi::Query
5
+ class StatusQueryTest < Test::Unit::TestCase
6
+ include Prototype::SyncQueryTestPrototype
7
+
8
+ def test_create_request
9
+ [
10
+ create_control_code(
11
+ LOGIN,
12
+ CLIENT_ID,
13
+ PAYNET_ID,
14
+ SIGNING_KEY
15
+ )
16
+ ].each do |control_code|
17
+ assert_create_request control_code
18
+ end
19
+ end
20
+
21
+ def test_process_response_approved
22
+ [
23
+ {
24
+ 'type' => success_type,
25
+ 'status' => 'approved',
26
+ 'paynet-order-id' => PAYNET_ID,
27
+ 'merchant-order-id' => CLIENT_ID,
28
+ 'serial-number' => '_'
29
+ }
30
+ ].each do |response|
31
+ assert_process_response_approved response
32
+ end
33
+ end
34
+
35
+ def test_process_response_processing
36
+ [
37
+ {
38
+ 'type' => success_type,
39
+ 'status' => 'processing',
40
+ 'html' => '<html></html>',
41
+ 'paynet-order-id' => PAYNET_ID,
42
+ 'merchant-order-id' => CLIENT_ID,
43
+ 'serial-number' => '_'
44
+ }
45
+ ].each do |response|
46
+ assert_process_response_processing response
47
+ end
48
+ end
49
+
50
+ def assert_process_response_processing(response)
51
+ payment_transaction = payment_transaction()
52
+ response_object = Response.new response
53
+
54
+ query.process_response payment_transaction, response_object
55
+
56
+ assert_true payment_transaction.processing?
57
+ assert_false payment_transaction.finished?
58
+ assert_false payment_transaction.has_errors?
59
+
60
+ assert_true response_object.show_html_needed?
61
+ end
62
+
63
+ protected
64
+
65
+ def payment
66
+ Payment.new(
67
+ {
68
+ 'client_id' => CLIENT_ID,
69
+ 'paynet_id' => PAYNET_ID
70
+ })
71
+ end
72
+
73
+ def success_type
74
+ 'status-response'
75
+ end
76
+
77
+ def query
78
+ StatusQuery.new '_'
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,63 @@
1
+ require_relative './prototype/payment_query_test_prototype'
2
+ require 'query/transfer_by_ref_query'
3
+ require 'payment_data/recurrent_card'
4
+
5
+ module PaynetEasy::PaynetEasyApi::Query
6
+ class TransferByRefQueryTest < Test::Unit::TestCase
7
+ include Prototype::PaymentQueryTestPrototype
8
+
9
+ def test_create_request
10
+ [
11
+ create_control_code(
12
+ LOGIN,
13
+ CLIENT_ID,
14
+ RECURRENT_CARD_FROM_ID,
15
+ RECURRENT_CARD_TO_ID,
16
+ 9910,
17
+ 'EUR',
18
+ SIGNING_KEY
19
+ )
20
+ ].each do |control_code|
21
+ assert_create_request control_code
22
+ end
23
+ end
24
+
25
+ protected
26
+
27
+ def payment
28
+ Payment.new(
29
+ {
30
+ 'client_id' => CLIENT_ID,
31
+ 'paynet_id' => PAYNET_ID,
32
+ 'description' => 'This is test payment',
33
+ 'amount' => 99.1,
34
+ 'currency' => 'EUR',
35
+ 'customer' => Customer.new(
36
+ {
37
+ 'ip_address' => '127.0.0.1'
38
+ }),
39
+ 'recurrent_card_from' => RecurrentCard.new(
40
+ {
41
+ 'paynet_id' => RECURRENT_CARD_FROM_ID,
42
+ 'cvv2' => 123
43
+ }),
44
+ 'recurrent_card_to' => RecurrentCard.new(
45
+ {
46
+ 'paynet_id' => RECURRENT_CARD_TO_ID,
47
+ })
48
+ })
49
+ end
50
+
51
+ def payment_status
52
+ Payment::STATUS_CAPTURE
53
+ end
54
+
55
+ def api_method
56
+ 'transfer-by-ref'
57
+ end
58
+
59
+ def query
60
+ TransferByRefQuery.new api_method
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,22 @@
1
+ require 'test/unit'
2
+ require 'paynet_easy_api'
3
+ require 'transport/request'
4
+ require 'transport/gateway_client'
5
+
6
+ module PaynetEasy::PaynetEasyApi::Transport
7
+ class GatewayClientTest < Test::Unit::TestCase
8
+
9
+ def setup
10
+ @object = GatewayClient.new
11
+ end
12
+
13
+ def test_make_request
14
+ request = Request.new 'login' => 'login'
15
+ request.api_method = 'sale'
16
+ request.end_point = 253
17
+ request.gateway_url = 'https://qa.clubber.me/paynet/api/v2/'
18
+
19
+ #@object.make_request request
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ require 'test/unit'
2
+ require 'paynet_easy_api'
3
+ require 'transport/response'
4
+
5
+ module PaynetEasy::PaynetEasyApi::Transport
6
+ class ResponseTest < Test::Unit::TestCase
7
+
8
+ def setup
9
+ @object = Response.new
10
+ end
11
+
12
+ def test_error?
13
+ @object.replace 'type' => 'validation-error'
14
+ assert_true @object.error?
15
+
16
+ @object.replace 'type' => 'error'
17
+ assert_true @object.error?
18
+
19
+ @object.replace 'type' => 'async-response', 'status' => 'error'
20
+ assert_true @object.error?
21
+
22
+ @object.replace 'type' => 'async-response', 'status' => 'approved'
23
+ assert_false @object.error?
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,52 @@
1
+ require 'test/unit'
2
+ require 'paynet_easy_api'
3
+ require 'util/property_accessor'
4
+
5
+ module PaynetEasy::PaynetEasyApi::Util
6
+ class PropertyAccessorTest < Test::Unit::TestCase
7
+
8
+ def test_get_value
9
+ [
10
+ ['test_property', 'test', true],
11
+ ['test_object.test_property', 'test', true],
12
+ ['test_property.test_property', nil, false],
13
+ ['unknown_property', nil, false]
14
+ ]
15
+ .each do |property_path, expected_value, fail_on_error|
16
+ actual_value = PropertyAccessor.get_value TestObject.new, property_path, fail_on_error
17
+ assert_equal expected_value, actual_value, "On property path #{property_path}"
18
+ end
19
+ end
20
+
21
+ def test_set_value
22
+ [
23
+ ['test_property', 'test', true],
24
+ ['test_object.test_property', 'test', true],
25
+ ['test_property.test_property', nil, false],
26
+ ['unknown_property', nil, false]
27
+ ]
28
+ .each do |property_path, expected_value, fail_on_error|
29
+ test_object = TestObject.new
30
+
31
+ PropertyAccessor.set_value test_object, property_path, expected_value, fail_on_error
32
+ actual_value = PropertyAccessor.get_value test_object, property_path, fail_on_error
33
+
34
+ assert_equal expected_value, actual_value
35
+ end
36
+ end
37
+ end
38
+
39
+ class TestObject
40
+ attr_accessor :test_property
41
+ attr_accessor :test_object
42
+ attr_accessor :empty_property
43
+
44
+ def initialize
45
+ self.test_property = 'test'
46
+ end
47
+
48
+ def test_object
49
+ @test_object ||= TestObject.new
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,42 @@
1
+ require 'test/unit'
2
+ require 'paynet_easy_api'
3
+ require 'util/validator'
4
+
5
+ module PaynetEasy::PaynetEasyApi::Util
6
+ class ValidatorTest < Test::Unit::TestCase
7
+
8
+ def test_validate_by_rule
9
+ [
10
+ ['test@mail.com', Validator::EMAIL, true],
11
+ ['test[a]mail.com', Validator::EMAIL, false],
12
+ ['127.0.0.1', Validator::IP, true],
13
+ ['260.0.0.1', Validator::IP, false],
14
+ ['http://site.com', Validator::URL, true],
15
+ ['site.com', Validator::URL, false],
16
+ ['site-com', Validator::URL, false],
17
+ ['1', Validator::MONTH, true],
18
+ ['12', Validator::MONTH, true],
19
+ ['13', Validator::MONTH, false],
20
+ ['0', Validator::MONTH, false],
21
+ ['str', Validator::MONTH, false],
22
+ ['str', Validator::MONTH, false],
23
+ ['US', Validator::COUNTRY, true],
24
+ ['USA', Validator::COUNTRY, false],
25
+ ['(086)543 543 54', Validator::PHONE, true],
26
+ ['(086)s543b543', Validator::PHONE, false],
27
+ ['0.98', Validator::AMOUNT, true],
28
+ [0.98, Validator::AMOUNT, true],
29
+ ['98 000', Validator::AMOUNT, false],
30
+ ['USD', Validator::CURRENCY, true],
31
+ ['$', Validator::CURRENCY, false],
32
+ ['23e2d3rf3f4', Validator::ID, true],
33
+ ['123456789012345678901234567890', Validator::ID, false],
34
+ [123, Validator::CVV2, true]
35
+ ]
36
+ .each do |value, rule, expected_result|
37
+ actual_result = Validator.validate_by_rule value, rule, false
38
+ assert_equal expected_result, actual_result, "On rule '#{rule}' and value '#{value}'"
39
+ end
40
+ end
41
+ end
42
+ end
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: payneteasy-payneteasyapi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Artem Ponomarenko
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-09-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: test-unit
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description:
47
+ email: imenem@inbox.ru
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files:
51
+ - example/capture.rb
52
+ - example/common/functions.rb
53
+ - doc/payment-scenarios/06-merchant-callbacks.md
54
+ - doc/payment-scenarios/02-transfer-transactions.md
55
+ - doc/payment-scenarios/04-recurrent-transactions.md
56
+ - doc/payment-scenarios/03-return-transactions.md
57
+ - doc/payment-scenarios/01-preauth-capture-transactions.md
58
+ - doc/payment-scenarios/00-sale-transactions.md
59
+ - doc/payment-scenarios/05-payment-form-integration.md
60
+ - doc/01-library-internals.md
61
+ - doc/00-basic-tutorial.md
62
+ - doc/02-payment-scenarios.md
63
+ - doc/library-internals/02-validator.md
64
+ - doc/library-internals/03-property-accessor.md
65
+ - doc/library-internals/00-payment-data.md
66
+ - doc/library-internals/01-payment-processor.md
67
+ - README.md
68
+ files:
69
+ - lib/paynet_easy/paynet_easy_api/payment_processor.rb
70
+ - lib/paynet_easy/paynet_easy_api/error/validation_error.rb
71
+ - lib/paynet_easy/paynet_easy_api/error/response_error.rb
72
+ - lib/paynet_easy/paynet_easy_api/error/paynet_error.rb
73
+ - lib/paynet_easy/paynet_easy_api/error/request_error.rb
74
+ - lib/paynet_easy/paynet_easy_api/query/sale_query.rb
75
+ - lib/paynet_easy/paynet_easy_api/query/query_factory.rb
76
+ - lib/paynet_easy/paynet_easy_api/query/transfer_form_query.rb
77
+ - lib/paynet_easy/paynet_easy_api/query/status_query.rb
78
+ - lib/paynet_easy/paynet_easy_api/query/return_query.rb
79
+ - lib/paynet_easy/paynet_easy_api/query/preauth_form_query.rb
80
+ - lib/paynet_easy/paynet_easy_api/query/prototype/query.rb
81
+ - lib/paynet_easy/paynet_easy_api/query/prototype/payment_form_query.rb
82
+ - lib/paynet_easy/paynet_easy_api/query/prototype/payment_query.rb
83
+ - lib/paynet_easy/paynet_easy_api/query/create_card_ref_query.rb
84
+ - lib/paynet_easy/paynet_easy_api/query/capture_query.rb
85
+ - lib/paynet_easy/paynet_easy_api/query/transfer_by_ref_query.rb
86
+ - lib/paynet_easy/paynet_easy_api/query/sale_form_query.rb
87
+ - lib/paynet_easy/paynet_easy_api/query/get_card_info_query.rb
88
+ - lib/paynet_easy/paynet_easy_api/query/make_rebill_query.rb
89
+ - lib/paynet_easy/paynet_easy_api/query/preauth_query.rb
90
+ - lib/paynet_easy/paynet_easy_api/payment_data/billing_address.rb
91
+ - lib/paynet_easy/paynet_easy_api/payment_data/data.rb
92
+ - lib/paynet_easy/paynet_easy_api/payment_data/payment.rb
93
+ - lib/paynet_easy/paynet_easy_api/payment_data/credit_card.rb
94
+ - lib/paynet_easy/paynet_easy_api/payment_data/payment_transaction.rb
95
+ - lib/paynet_easy/paynet_easy_api/payment_data/customer.rb
96
+ - lib/paynet_easy/paynet_easy_api/payment_data/recurrent_card.rb
97
+ - lib/paynet_easy/paynet_easy_api/payment_data/query_config.rb
98
+ - lib/paynet_easy/paynet_easy_api/transport/response.rb
99
+ - lib/paynet_easy/paynet_easy_api/transport/gateway_client.rb
100
+ - lib/paynet_easy/paynet_easy_api/transport/callback_response.rb
101
+ - lib/paynet_easy/paynet_easy_api/transport/request.rb
102
+ - lib/paynet_easy/paynet_easy_api/util/string.rb
103
+ - lib/paynet_easy/paynet_easy_api/util/property_accessor.rb
104
+ - lib/paynet_easy/paynet_easy_api/util/validator.rb
105
+ - lib/paynet_easy/paynet_easy_api/paynet_easy_api.rb
106
+ - lib/paynet_easy/paynet_easy_api/callback/customer_return_callback.rb
107
+ - lib/paynet_easy/paynet_easy_api/callback/callback_prototype.rb
108
+ - lib/paynet_easy/paynet_easy_api/callback/paynet_easy_callback.rb
109
+ - lib/paynet_easy/paynet_easy_api/callback/callback_factory.rb
110
+ - .gemtest
111
+ - Gemfile
112
+ - Gemfile.lock
113
+ - Rakefile
114
+ - payneteasy-payneteasyapi.gemspec
115
+ - example/capture.rb
116
+ - example/common/functions.rb
117
+ - doc/payment-scenarios/06-merchant-callbacks.md
118
+ - doc/payment-scenarios/02-transfer-transactions.md
119
+ - doc/payment-scenarios/04-recurrent-transactions.md
120
+ - doc/payment-scenarios/03-return-transactions.md
121
+ - doc/payment-scenarios/01-preauth-capture-transactions.md
122
+ - doc/payment-scenarios/00-sale-transactions.md
123
+ - doc/payment-scenarios/05-payment-form-integration.md
124
+ - doc/01-library-internals.md
125
+ - doc/00-basic-tutorial.md
126
+ - doc/02-payment-scenarios.md
127
+ - doc/library-internals/02-validator.md
128
+ - doc/library-internals/03-property-accessor.md
129
+ - doc/library-internals/00-payment-data.md
130
+ - doc/library-internals/01-payment-processor.md
131
+ - README.md
132
+ - test/paynet_easy/paynet_easy_api/payment_processor_test.rb
133
+ - test/paynet_easy/paynet_easy_api/fake.rb
134
+ - test/paynet_easy/paynet_easy_api/query/transfer_by_ref_query_test.rb
135
+ - test/paynet_easy/paynet_easy_api/query/create_card_ref_query_test.rb
136
+ - test/paynet_easy/paynet_easy_api/query/get_card_info_query_test.rb
137
+ - test/paynet_easy/paynet_easy_api/query/capture_query_test.rb
138
+ - test/paynet_easy/paynet_easy_api/query/make_rebill_query_test.rb
139
+ - test/paynet_easy/paynet_easy_api/query/prototype/query_test_prototype.rb
140
+ - test/paynet_easy/paynet_easy_api/query/prototype/sync_query_test_prototype.rb
141
+ - test/paynet_easy/paynet_easy_api/query/prototype/payment_query_test_prototype.rb
142
+ - test/paynet_easy/paynet_easy_api/query/status_query_test.rb
143
+ - test/paynet_easy/paynet_easy_api/query/sale_form_query_test.rb
144
+ - test/paynet_easy/paynet_easy_api/query/return_query_test.rb
145
+ - test/paynet_easy/paynet_easy_api/query/query_factory_test.rb
146
+ - test/paynet_easy/paynet_easy_api/query/sale_query_test.rb
147
+ - test/paynet_easy/paynet_easy_api/transport/gateway_client_test.rb
148
+ - test/paynet_easy/paynet_easy_api/transport/response_test.rb
149
+ - test/paynet_easy/paynet_easy_api/util/property_accessor_test.rb
150
+ - test/paynet_easy/paynet_easy_api/util/validator_test.rb
151
+ - test/paynet_easy/paynet_easy_api/callback/customer_return_callback_test.rb
152
+ - test/paynet_easy/paynet_easy_api/callback/paynet_easy_callback_test.rb
153
+ - test/paynet_easy/paynet_easy_api/callback/callback_test_prototype.rb
154
+ - test/paynet_easy/paynet_easy_api/callback/callback_factory_test.rb
155
+ homepage:
156
+ licenses: []
157
+ post_install_message:
158
+ rdoc_options: []
159
+ require_paths:
160
+ - lib
161
+ - lib/paynet_easy/paynet_easy_api
162
+ required_ruby_version: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: 1.9.3
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ requirements: []
175
+ rubyforge_project:
176
+ rubygems_version: 1.8.23
177
+ signing_key:
178
+ specification_version: 3
179
+ summary: Ruby library for PaynetEasy payment API.
180
+ test_files:
181
+ - test/paynet_easy/paynet_easy_api/payment_processor_test.rb
182
+ - test/paynet_easy/paynet_easy_api/fake.rb
183
+ - test/paynet_easy/paynet_easy_api/query/transfer_by_ref_query_test.rb
184
+ - test/paynet_easy/paynet_easy_api/query/create_card_ref_query_test.rb
185
+ - test/paynet_easy/paynet_easy_api/query/get_card_info_query_test.rb
186
+ - test/paynet_easy/paynet_easy_api/query/capture_query_test.rb
187
+ - test/paynet_easy/paynet_easy_api/query/make_rebill_query_test.rb
188
+ - test/paynet_easy/paynet_easy_api/query/prototype/query_test_prototype.rb
189
+ - test/paynet_easy/paynet_easy_api/query/prototype/sync_query_test_prototype.rb
190
+ - test/paynet_easy/paynet_easy_api/query/prototype/payment_query_test_prototype.rb
191
+ - test/paynet_easy/paynet_easy_api/query/status_query_test.rb
192
+ - test/paynet_easy/paynet_easy_api/query/sale_form_query_test.rb
193
+ - test/paynet_easy/paynet_easy_api/query/return_query_test.rb
194
+ - test/paynet_easy/paynet_easy_api/query/query_factory_test.rb
195
+ - test/paynet_easy/paynet_easy_api/query/sale_query_test.rb
196
+ - test/paynet_easy/paynet_easy_api/transport/gateway_client_test.rb
197
+ - test/paynet_easy/paynet_easy_api/transport/response_test.rb
198
+ - test/paynet_easy/paynet_easy_api/util/property_accessor_test.rb
199
+ - test/paynet_easy/paynet_easy_api/util/validator_test.rb
200
+ - test/paynet_easy/paynet_easy_api/callback/customer_return_callback_test.rb
201
+ - test/paynet_easy/paynet_easy_api/callback/paynet_easy_callback_test.rb
202
+ - test/paynet_easy/paynet_easy_api/callback/callback_test_prototype.rb
203
+ - test/paynet_easy/paynet_easy_api/callback/callback_factory_test.rb
204
+ has_rdoc: