openpay 0.9.8 → 1.0.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.
- checksums.yaml +4 -4
- data/.idea/.rakeTasks +1 -1
- data/.idea/OpenPay.iml +76 -79
- data/.idea/runConfigurations/Run_spec__bankaccounts_spec___OpenPay.xml +1 -1
- data/.idea/runConfigurations/Run_spec__cards_spec___OpenPay.xml +39 -0
- data/.idea/runConfigurations/Run_spec__charges_spec___OpenPay.xml +37 -0
- data/.idea/runConfigurations/Run_spec__exceptions_spec___OpenPay.xml +37 -0
- data/.idea/runConfigurations/Run_spec__fees_spec___OpenPay.xml +37 -0
- data/.idea/runConfigurations/Run_spec__payouts_spec___OpenPay.xml +39 -0
- data/.idea/runConfigurations/Run_spec__plans_spec___OpenPay.xml +37 -0
- data/.idea/runConfigurations/Run_spec__subscriptions_spec___OpenPay.xml +37 -0
- data/.idea/runConfigurations/Run_spec__transfers_spec___OpenPay.xml +37 -0
- data/.idea/runConfigurations/all_specs.xml +1 -1
- data/.idea/runConfigurations/install_open_pay.xml +26 -0
- data/.idea/runConfigurations/scrapbook.xml +26 -0
- data/.travis.yml +3 -0
- data/Gemfile +0 -1
- data/README.md +398 -28
- data/Rakefile +12 -1
- data/lib/OpenPay/Charges.rb +1 -3
- data/lib/OpenPay/errors/openpay_connection_exception.rb +1 -1
- data/lib/OpenPay/errors/{open_pay_exception.rb → openpay_exception.rb} +2 -24
- data/lib/OpenPay/errors/{open_pay_exception_factory.rb → openpay_exception_factory.rb} +0 -0
- data/lib/OpenPay/errors/openpay_transaction_exception.rb +1 -1
- data/lib/OpenPay/openpay_api.rb +2 -2
- data/lib/openpay.rb +4 -4
- data/lib/version.rb +6 -0
- data/{OpenPay.gemspec → openpay.gemspec} +5 -3
- data/test/Factories.rb +3 -3
- data/test/spec/bankaccounts_spec.rb +1 -1
- data/test/spec/cards_spec.rb +43 -8
- data/test/spec/charges_spec.rb +29 -17
- data/test/spec/customers_spec.rb +1 -1
- data/test/spec/exceptions_spec.rb +1 -1
- data/test/spec/fees_spec.rb +5 -2
- data/test/spec/payouts_spec.rb +2 -2
- data/test/spec/plans_spec.rb +2 -56
- data/test/spec/subscriptions_spec.rb +1 -1
- data/test/spec/transfers_spec.rb +1 -3
- data/test/spec_helper.rb +1 -1
- metadata +19 -7
- 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
|
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>
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
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
|
-
|
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
|
29
|
+
$ gem install openpay
|
31
30
|
|
32
31
|
###Requirements
|
33
32
|
|
34
|
-
* ruby 1.
|
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=
|
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
|
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
|
-
|
589
|
+
Examples:
|
272
590
|
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
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
|
-
- **
|
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
|
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
|
-
- **
|
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
|
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
|
-
-
|
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
|
+
|