openpay 0.9.8 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.idea/.rakeTasks +1 -1
  3. data/.idea/OpenPay.iml +76 -79
  4. data/.idea/runConfigurations/Run_spec__bankaccounts_spec___OpenPay.xml +1 -1
  5. data/.idea/runConfigurations/Run_spec__cards_spec___OpenPay.xml +39 -0
  6. data/.idea/runConfigurations/Run_spec__charges_spec___OpenPay.xml +37 -0
  7. data/.idea/runConfigurations/Run_spec__exceptions_spec___OpenPay.xml +37 -0
  8. data/.idea/runConfigurations/Run_spec__fees_spec___OpenPay.xml +37 -0
  9. data/.idea/runConfigurations/Run_spec__payouts_spec___OpenPay.xml +39 -0
  10. data/.idea/runConfigurations/Run_spec__plans_spec___OpenPay.xml +37 -0
  11. data/.idea/runConfigurations/Run_spec__subscriptions_spec___OpenPay.xml +37 -0
  12. data/.idea/runConfigurations/Run_spec__transfers_spec___OpenPay.xml +37 -0
  13. data/.idea/runConfigurations/all_specs.xml +1 -1
  14. data/.idea/runConfigurations/install_open_pay.xml +26 -0
  15. data/.idea/runConfigurations/scrapbook.xml +26 -0
  16. data/.travis.yml +3 -0
  17. data/Gemfile +0 -1
  18. data/README.md +398 -28
  19. data/Rakefile +12 -1
  20. data/lib/OpenPay/Charges.rb +1 -3
  21. data/lib/OpenPay/errors/openpay_connection_exception.rb +1 -1
  22. data/lib/OpenPay/errors/{open_pay_exception.rb → openpay_exception.rb} +2 -24
  23. data/lib/OpenPay/errors/{open_pay_exception_factory.rb → openpay_exception_factory.rb} +0 -0
  24. data/lib/OpenPay/errors/openpay_transaction_exception.rb +1 -1
  25. data/lib/OpenPay/openpay_api.rb +2 -2
  26. data/lib/openpay.rb +4 -4
  27. data/lib/version.rb +6 -0
  28. data/{OpenPay.gemspec → openpay.gemspec} +5 -3
  29. data/test/Factories.rb +3 -3
  30. data/test/spec/bankaccounts_spec.rb +1 -1
  31. data/test/spec/cards_spec.rb +43 -8
  32. data/test/spec/charges_spec.rb +29 -17
  33. data/test/spec/customers_spec.rb +1 -1
  34. data/test/spec/exceptions_spec.rb +1 -1
  35. data/test/spec/fees_spec.rb +5 -2
  36. data/test/spec/payouts_spec.rb +2 -2
  37. data/test/spec/plans_spec.rb +2 -56
  38. data/test/spec/subscriptions_spec.rb +1 -1
  39. data/test/spec/transfers_spec.rb +1 -3
  40. data/test/spec_helper.rb +1 -1
  41. metadata +19 -7
  42. data/lib/OpenPay/version.rb +0 -3
@@ -0,0 +1,37 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="Run spec 'exceptions_spec': OpenPay" type="RSpecRunConfigurationType" factoryName="RSpec">
3
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
4
+ <module name="OpenPay" />
5
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test/spec" />
7
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
+ <envs>
11
+ <env name="JRUBY_OPTS" value="-X+O" />
12
+ </envs>
13
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
16
+ <COVERAGE_PATTERN ENABLED="true">
17
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
18
+ </COVERAGE_PATTERN>
19
+ </EXTENSION>
20
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
21
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
22
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/spec/exceptions_spec.rb" />
23
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
24
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
25
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
26
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
27
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
28
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
29
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
30
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
31
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
32
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
33
+ <RunnerSettings RunnerId="RubyRunner" />
34
+ <ConfigurationWrapper RunnerId="RubyRunner" />
35
+ <method />
36
+ </configuration>
37
+ </component>
@@ -0,0 +1,37 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="Run spec 'fees_spec': OpenPay" type="RSpecRunConfigurationType" factoryName="RSpec">
3
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
4
+ <module name="OpenPay" />
5
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/" />
7
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
+ <envs>
11
+ <env name="JRUBY_OPTS" value="-X+O" />
12
+ </envs>
13
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
16
+ <COVERAGE_PATTERN ENABLED="true">
17
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
18
+ </COVERAGE_PATTERN>
19
+ </EXTENSION>
20
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
21
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
22
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/spec/fees_spec.rb" />
23
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
24
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
25
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
26
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
27
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
28
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
29
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
30
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
31
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
32
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
33
+ <RunnerSettings RunnerId="RubyRunner" />
34
+ <ConfigurationWrapper RunnerId="RubyRunner" />
35
+ <method />
36
+ </configuration>
37
+ </component>
@@ -0,0 +1,39 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="Run spec 'payouts_spec': OpenPay" type="RSpecRunConfigurationType" factoryName="RSpec">
3
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
4
+ <module name="OpenPay" />
5
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test/spec" />
7
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
+ <envs>
11
+ <env name="JRUBY_OPTS" value="-X+O" />
12
+ </envs>
13
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
16
+ <COVERAGE_PATTERN ENABLED="true">
17
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
18
+ </COVERAGE_PATTERN>
19
+ </EXTENSION>
20
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
21
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
22
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/spec/payouts_spec.rb" />
23
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
24
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
25
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
26
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
27
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
28
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
29
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
30
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
31
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
32
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
33
+ <RunnerSettings RunnerId="RubyDebugRunner" />
34
+ <RunnerSettings RunnerId="RubyRunner" />
35
+ <ConfigurationWrapper RunnerId="RubyDebugRunner" />
36
+ <ConfigurationWrapper RunnerId="RubyRunner" />
37
+ <method />
38
+ </configuration>
39
+ </component>
@@ -0,0 +1,37 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="Run spec 'plans_spec': OpenPay" type="RSpecRunConfigurationType" factoryName="RSpec">
3
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
4
+ <module name="OpenPay" />
5
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test/spec" />
7
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
+ <envs>
11
+ <env name="JRUBY_OPTS" value="-X+O" />
12
+ </envs>
13
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
16
+ <COVERAGE_PATTERN ENABLED="true">
17
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
18
+ </COVERAGE_PATTERN>
19
+ </EXTENSION>
20
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
21
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
22
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/spec/plans_spec.rb" />
23
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
24
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
25
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
26
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
27
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
28
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
29
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
30
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
31
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
32
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
33
+ <RunnerSettings RunnerId="RubyRunner" />
34
+ <ConfigurationWrapper RunnerId="RubyRunner" />
35
+ <method />
36
+ </configuration>
37
+ </component>
@@ -0,0 +1,37 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="Run spec 'subscriptions_spec': OpenPay" type="RSpecRunConfigurationType" factoryName="RSpec">
3
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
4
+ <module name="OpenPay" />
5
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test/spec" />
7
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
+ <envs>
11
+ <env name="JRUBY_OPTS" value="-X+O" />
12
+ </envs>
13
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
16
+ <COVERAGE_PATTERN ENABLED="true">
17
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
18
+ </COVERAGE_PATTERN>
19
+ </EXTENSION>
20
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
21
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
22
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/spec/subscriptions_spec.rb" />
23
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
24
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
25
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
26
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
27
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
28
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
29
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
30
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
31
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
32
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
33
+ <RunnerSettings RunnerId="RubyRunner" />
34
+ <ConfigurationWrapper RunnerId="RubyRunner" />
35
+ <method />
36
+ </configuration>
37
+ </component>
@@ -0,0 +1,37 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="Run spec 'transfers_spec': OpenPay" type="RSpecRunConfigurationType" factoryName="RSpec">
3
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
4
+ <module name="OpenPay" />
5
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test/spec" />
7
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
+ <envs>
11
+ <env name="JRUBY_OPTS" value="-X+O" />
12
+ </envs>
13
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
16
+ <COVERAGE_PATTERN ENABLED="true">
17
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
18
+ </COVERAGE_PATTERN>
19
+ </EXTENSION>
20
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
21
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
22
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/spec/transfers_spec.rb" />
23
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
24
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
25
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
26
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
27
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
28
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
29
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
30
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
31
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
32
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
33
+ <RunnerSettings RunnerId="RubyRunner" />
34
+ <ConfigurationWrapper RunnerId="RubyRunner" />
35
+ <method />
36
+ </configuration>
37
+ </component>
@@ -3,7 +3,7 @@
3
3
  <predefined_log_file id="RUBY_RSPEC" enabled="true" />
4
4
  <module name="OpenPay" />
5
5
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test/spec" />
6
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
7
7
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
8
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
9
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
@@ -0,0 +1,26 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="install open pay" type="CommandRunConfigurationType" factoryName="Gem Command">
3
+ <module name="OpenPay" />
4
+ <COMMAND_RUN_CONFIGURATION NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
5
+ <COMMAND_RUN_CONFIGURATION NAME="WORK DIR" VALUE="$MODULE_DIR$" />
6
+ <COMMAND_RUN_CONFIGURATION NAME="SHOULD_USE_SDK" VALUE="false" />
7
+ <COMMAND_RUN_CONFIGURATION NAME="ALTERN_SDK_NAME" VALUE="" />
8
+ <COMMAND_RUN_CONFIGURATION NAME="myPassParentEnvs" VALUE="true" />
9
+ <envs />
10
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
11
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
13
+ <COVERAGE_PATTERN ENABLED="true">
14
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
15
+ </COVERAGE_PATTERN>
16
+ </EXTENSION>
17
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
18
+ <COMMAND_CONFIG_SETTINGS_ID NAME="GEM_NAME" VALUE="bundler" />
19
+ <COMMAND_CONFIG_SETTINGS_ID NAME="EXECUTABLE_NAME" VALUE="gem" />
20
+ <COMMAND_CONFIG_SETTINGS_ID NAME="EXECUTABLE_ARGS" VALUE="install ./openpay-1.0.0.gem" />
21
+ <COMMAND_CONFIG_SETTINGS_ID NAME="WORKING_DIR" VALUE="install ./openpay-1.0.0.gem" />
22
+ <RunnerSettings RunnerId="RubyRunner" />
23
+ <ConfigurationWrapper RunnerId="RubyRunner" />
24
+ <method />
25
+ </configuration>
26
+ </component>
@@ -0,0 +1,26 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="scrapbook" type="RubyRunConfigurationType" factoryName="Ruby">
3
+ <module name="OpenPay" />
4
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
5
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$" />
6
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
7
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
8
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
9
+ <envs />
10
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
11
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
13
+ <COVERAGE_PATTERN ENABLED="true">
14
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
15
+ </COVERAGE_PATTERN>
16
+ </EXTENSION>
17
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
18
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/scrapbook.rb" />
19
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
20
+ <RunnerSettings RunnerId="RubyDebugRunner" />
21
+ <RunnerSettings RunnerId="RubyRunner" />
22
+ <ConfigurationWrapper RunnerId="RubyDebugRunner" />
23
+ <ConfigurationWrapper RunnerId="RubyRunner" />
24
+ <method />
25
+ </configuration>
26
+ </component>
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'cucumber'
4
3
  gem 'rspec'
5
4
  gem 'rest-client'
6
5
  gem 'factory_girl'
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # openpay
1
+ # openpay-ruby
2
2
 
3
3
 
4
4
  ##Description
@@ -17,9 +17,8 @@ For the full *Openpay api* documentation take a look at:
17
17
 
18
18
  Add the following line to your Gem file
19
19
 
20
- # gem install --source https://code.stripe.com stripe
21
-
22
- gem 'openpay'
20
+ #openpay gem
21
+ gem 'openpay'
23
22
 
24
23
  Update your bundle:
25
24
 
@@ -27,11 +26,11 @@ Update your bundle:
27
26
 
28
27
  Or install it from the command line:
29
28
 
30
- $ gem install openpay-1.0.0.gem
29
+ $ gem install openpay
31
30
 
32
31
  ###Requirements
33
32
 
34
- * ruby 1.8.7 or higher
33
+ * ruby 1.9 or higher
35
34
 
36
35
  ## Usage
37
36
 
@@ -51,7 +50,7 @@ private_key='sk_92b25d3baec149e6b428d81abfe37006'
51
50
  openpay=OpenpayApi.new(merchant_id,private_key)
52
51
 
53
52
  #To enable production mode you should pass a third argument as true.
54
- #openpay_prod=OpenPayApi.new(merchant_id,private_key,true)
53
+ #openpay_prod=OpenpayApi.new(merchant_id,private_key,true)
55
54
  ```
56
55
 
57
56
  The openpay factory instance is in charge to generate the required resources through a factory method (create).
@@ -112,7 +111,6 @@ json_out=open_pay_resource.create(json_in,customer_id)
112
111
 
113
112
  ```
114
113
 
115
-
116
114
  #### Methods Inputs/Outputs
117
115
 
118
116
  This api supports both ruby hashes and json strings as inputs and outputs. (See previous example)
@@ -166,7 +164,7 @@ pp card_hash =>
166
164
  :city=>"Queretaro"}}
167
165
  ```
168
166
 
169
- Next, how we can construct the preceding hash using **FactoryGirl**.
167
+ Next, how we construct the preceding hash using **FactoryGirl**.
170
168
  **FactoryGirl** was used in our test suite to facilitate hash construction.
171
169
  It may help you as well at your final implementation if you decide to use hashes.
172
170
  (more examples at *test/Factories.rb*)
@@ -195,8 +193,7 @@ FactoryGirl.define do
195
193
  end
196
194
  ```
197
195
 
198
-
199
- ####API Methods
196
+ ###Methods design
200
197
 
201
198
  This ruby API standardize the method names across all different resources using the **create**,**get**,**update** and **delete** verbs.
202
199
 
@@ -258,25 +255,353 @@ open_pay_resource.delete_all(customer_id=nil)
258
255
  ```
259
256
 
260
257
 
258
+ ###API Methods
259
+
260
+
261
+ #### bank_accounts
262
+
263
+ - creates a merchant bank account , is not supported through the API, use the console instead.
264
+
265
+ - creates a customer bank account
266
+
267
+ bank_accounts.create(account_hash,customer_id)
268
+
269
+ - get a given bank account for a given customer
270
+
271
+ bank_account=bank_accounts.get(customer_id,bankaccount_id)
272
+
273
+ - each customer bank account
274
+
275
+ bank_accounts.each(customer_id) do |bank_account|
276
+ bank_account['alias']
277
+ end
278
+
279
+ - all bank accounts for a given customer
280
+
281
+ accounts=bank_accounts.all(customer_id)
282
+
283
+ - deletes a given customer bank account
284
+
285
+ bank_accounts.delete(customer_id,bank_id)
286
+
287
+ - deletes all customer bank accounts (sandbox mode only)
288
+
289
+ bank_accounts.delete_all(customer['id'])
290
+
291
+ #### cards
292
+
293
+ - creates a merchant card
294
+
295
+ cards.create(card_json)
296
+
297
+ - creates a customer card
298
+
299
+ cards.create(card_hash, customer_id)
300
+
301
+ - gets merchant card
302
+
303
+ card=cards.get(card_id)
304
+
305
+ - gets customer card
306
+
307
+ card=cards.get(card_id, customer_id)
308
+
309
+ - each merchant card
310
+
311
+ cards.each {|merchant_card| p card}
312
+
313
+ - each customer card
314
+
315
+ cards.each(customer_id) {|customer_card | p customer_card }
316
+
317
+ - all merchant cards
318
+
319
+ merchant_cards=cards.all
320
+
321
+ - all customer cards
322
+
323
+ customer_cards=cards.all(customer_id)
324
+
325
+ - all merchant cards
326
+
327
+ merchant_cards=cards.all
328
+
329
+ - all customer card
330
+
331
+ customer_cards=cards.all(customer_id)
332
+
333
+ - delete merchant card
334
+
335
+ cards.delete(card_id)
336
+
337
+ - delete customer card
338
+
339
+ cards.delete(card_id,customer_id)
340
+
341
+ -delete all merchant cards
342
+
343
+ cards.delete_all
344
+
345
+ -delete all customer cards
346
+
347
+ cards.delete_all(customer_id)
348
+
349
+
350
+ #### charges
351
+
352
+
353
+ - creates merchant charge
354
+
355
+ charges.create(charge_hash)
356
+
357
+ - creates customer charge
358
+
359
+ charges.create(charge_hash,customer_id)
360
+
361
+ - gets merchant charge
362
+
363
+ merchant_charge=charges.get(charge_id)
364
+
365
+ - gets customer charge
366
+
367
+ customer_charge=charges.get(charge_id,customer_id)
368
+
369
+ - each merchant charge
370
+
371
+ charges.each {|charge| p charge}
372
+
373
+ - each customer charge
374
+
375
+ charges.each(customer_id) {|charge| p charge}
376
+
377
+
378
+ - all merchant charge
379
+
380
+ charges.all
381
+
382
+ - all customer charge
383
+
384
+ charges.all(customer_id)
385
+
386
+ - capture merchant card
387
+
388
+ charges.capture(charge_id)
389
+
390
+ - capture customer card
391
+
392
+ charges.capture(charge['id'],customer['id'])
393
+
394
+ - refund merchant charge
395
+
396
+ charges.refund(charge_id, refund_description_hash)
397
+
398
+ - refund merchant charge
399
+
400
+ charges.refund(charge_id, refund_description_hash)
401
+
402
+
403
+
404
+ #### customers
405
+
406
+ - creates customer
407
+
408
+ customers.create(customer_json)
409
+
410
+ - get customer
411
+
412
+ customer=customers.get(customer_id)
413
+
414
+ - update customer
415
+
416
+ customers.update(customer_hash)
417
+
418
+ - delete customer
419
+
420
+ customers.delete(customer_id)
421
+
422
+ - each customer
423
+
424
+ customers.each do {|customer| p customer }
425
+
426
+ - list all customer
427
+
428
+ all_customers=customers.all
429
+
430
+
431
+ - delete all customers (sand box mode only)
432
+
433
+ all_customers=customers.all
434
+
435
+
436
+ #### fees
437
+
438
+
439
+ - creates fee
440
+
441
+ #In order to create a fee a charge should exists
442
+ fee.create(fee_hash)
443
+
444
+ - gets all fees
445
+
446
+ all_fees=fees.all
447
+
448
+
449
+ #### payouts
450
+
451
+ - creates a merchant payout
452
+
453
+ payouts.create(payout_json)
454
+
455
+ - creates a customer payout
456
+
457
+ payouts.create(payout_hash,customer_id)
458
+
459
+ - gets a merchant payout
460
+
461
+ payouts.get(payout_id)
462
+ - gets a customer payout
463
+
464
+ payouts.get(payout_id,customer_id)
465
+
466
+ - all merchant payouts
467
+
468
+ merchant_payouts=payouts.all
469
+
470
+ - all customer payouts
471
+
472
+ customer_payouts=payouts.all(customer_id)
473
+
474
+ - each merchant payout
475
+
476
+ payouts.each { |payout| p payout }
477
+
478
+ - each customer payout
479
+
480
+ payouts.each(customer_id) { |payout| p payout }
481
+
482
+
483
+
484
+ #### plans
485
+
486
+ - create merchant plan
487
+
488
+ plans.create(plan_hash)
489
+
490
+
491
+ - create customer plan
492
+
493
+ plans.create(plan_hash,customer_id)
494
+
495
+ - get a merchant plan
496
+
497
+ merchant_plan=plans.get(plan_id)
498
+
499
+ - get a customer plan
500
+
501
+ customer_plan=plans.get(plan_id,customer_id)
502
+
503
+
504
+ - updates a merchant plan
505
+
506
+ plans.update(plan_hash,customer_id)
507
+
508
+ - updates a customer plan
509
+
510
+ plans.update(plan_hash,customer_id)
511
+
512
+ - each merchant plan
513
+
514
+ plans.each do {|plan| p plan }
515
+
516
+ - each customer plans
517
+
518
+ plans.each(customer_id) do {|plan| p plan }
519
+
520
+
521
+ - all merchant plans
522
+
523
+ plans.all
524
+
525
+ - all customer plans
526
+
527
+ plans.all(customer_id)
528
+
529
+
530
+ #### subscriptions
531
+
532
+ - create customer subscriptions
533
+
534
+ subscriptions.create(subscriptions_hash,customer_id)
535
+
536
+ - get customer subscription
537
+
538
+ subscriptions.get(subscriptions_hash,customer_id)
539
+
540
+ - all customer subscription
541
+
542
+ subscriptions.all(customer_id)
543
+
544
+
545
+ - each customer subscription
546
+
547
+ subscriptions.each(customer_id) {|subscription| p subscription }
548
+
549
+ - deletes customer subscription
550
+
551
+ subscriptions.delete(customer_id)
552
+
553
+ - deletes all customer subscriptions ( sandbox mode only)
554
+
555
+ subscriptions.delete(customer_id)
556
+
557
+
558
+ #### transfers
559
+
560
+ - create transfer
561
+
562
+ transfers.create(transfer_hash,customer_id)
563
+
564
+
565
+ - get transfer
566
+
567
+ transfers.get(transfer_id,customer_id)
568
+
569
+ - all customer transfers
570
+
571
+ transfers.all(customer_id)
572
+
573
+
574
+ - each customer transfer
575
+
576
+ transfers.each(customer_id) {|transfer| p transfer }
577
+
578
+
579
+
261
580
  #### Exceptions
262
581
 
263
582
  This API generates 3 different Exception classes.
264
583
 
265
-
266
- - **OpenpayApiError**: Generic base api exception class, for generic api exceptions.
584
+ - **OpenpayException**: Generic base api exception class, for generic api exceptions.
267
585
 
268
586
  - Internal server error (500 Internal Server Error)
269
587
  - OpenpayApi factory method, invalid resource name.
270
588
 
271
- Example:
589
+ Examples:
272
590
 
273
- ```ruby
274
- #production mode
275
- openpayprod=OpenpayApi.new(@merchant_id,@private_key,true)
276
- cust.delete_all # will raise an OpenpayException
277
- ```
591
+ ```ruby
592
+ #production mode
593
+ openpay_prod=OpenpayApi.new(@merchant_id,@private_key,true)
594
+ customers=openpay_prod.create(:customers)
595
+ customers.delete_all # will raise an OpenpayException
596
+ ```
597
+
598
+ ```ruby
599
+ #production mode
600
+ openpay_prod=OpenpayApi.new(@merchant_id,@private_key,true)
601
+ customers=openpay_prod.create(:non_existing_resource) # will raise an OpenpayException
602
+ ```
278
603
 
279
- - **OpenpayApiConnectionError**: Exception class for connection related issues, errors happening prior the server connection.
604
+ - **OpenpayConnectionException**: Exception class for connection related issues, errors happening prior the server connection.
280
605
 
281
606
  - Authentication Error (401 Unauthorized)
282
607
  - Connection Errors.
@@ -293,7 +618,7 @@ This API generates 3 different Exception classes.
293
618
 
294
619
  begin
295
620
  customers.get('23444422211')
296
- rescue OpenpayApiConnectionError => e
621
+ rescue OpenpayConnectionException => e
297
622
  e.http_code # => 401
298
623
  e.error_code # => 1002
299
624
  e.description# => 'The api key or merchant id are invalid.'
@@ -301,7 +626,7 @@ This API generates 3 different Exception classes.
301
626
  end
302
627
  ```
303
628
 
304
- - **OpenpayApiTransactionError**: Errors happening after the initial connection has been initiated, errors during transactions.
629
+ - **OpenpayTransactionException**: Errors happening after the initial connection has been initiated, errors during transactions.
305
630
 
306
631
  - Bad Request (e.g. Malformed json,Invalid data)
307
632
  - Unprocessable Entity (e.g. invalid data)
@@ -317,7 +642,7 @@ email='foo'
317
642
  customer_hash = FactoryGirl.build(:customer, email: email)
318
643
  begin
319
644
  customers.create(customer_hash)
320
- rescue OpenpayApiTransactionError => e
645
+ rescue OpenpayTransactionException => e
321
646
  e.http_code# => 400
322
647
  e.error_code# => 1001
323
648
  e.description# => 'email\' not a well-formed email address'
@@ -356,15 +681,60 @@ For more information about categories, descriptions and codes take a look at:
356
681
  In the Openpay dashboard you are able to see every request and its corresponding request/response.
357
682
  - https://sandbox-dashboard.openpay.mx
358
683
 
359
-
360
684
  ##Developer Notes
361
685
 
362
- - bank accounts for merchant cannot be created using the api. It should be done through the dashboard.
363
-
364
-
686
+ - bank accounts for merchant cannot be created using the api. It should be done through the dashboard.
687
+ - Is recommended to reset your account using the dashboard when running serious testing (assure clean state)
688
+ - check openpay_ap.rb for Logger configuration
689
+ - travis https://travis-ci.org/open-pay/openpay-ruby
365
690
 
366
691
  ## More information
367
-
368
692
  For more use cases take a look at the *test/spec* folder
369
693
 
370
694
  1. http://docs.openpay.mx/
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+