lanmao 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 (57) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +59 -0
  3. data/.travis.yml +21 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +8 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +47 -0
  8. data/Rakefile +12 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/lanmao.gemspec +45 -0
  12. data/lib/lanmao/api/account/.gitkeep +0 -0
  13. data/lib/lanmao/api/api_helper.rb +57 -0
  14. data/lib/lanmao/api/money/.gitkeep +0 -0
  15. data/lib/lanmao/api/money/auto_withdraw.rb +37 -0
  16. data/lib/lanmao/api/query/.gitkeep +0 -0
  17. data/lib/lanmao/api/query/query_authorization_entrust_pay_record.rb +32 -0
  18. data/lib/lanmao/api/query/query_project_information.rb +32 -0
  19. data/lib/lanmao/api/query/query_transaction.rb +34 -0
  20. data/lib/lanmao/api/query/query_user_information.rb +33 -0
  21. data/lib/lanmao/api/trade/.gitkeep +0 -0
  22. data/lib/lanmao/api/trade/async_transaction.rb +49 -0
  23. data/lib/lanmao/api/trade/establish_project.rb +45 -0
  24. data/lib/lanmao/api/trade/modify_project.rb +34 -0
  25. data/lib/lanmao/client.rb +45 -0
  26. data/lib/lanmao/extensions.rb +7 -0
  27. data/lib/lanmao/form/account/.gitkeep +0 -0
  28. data/lib/lanmao/form/account/activate_stocked_user_form.rb +36 -0
  29. data/lib/lanmao/form/account/check_password_form.rb +35 -0
  30. data/lib/lanmao/form/account/enterprise_register_form.rb +52 -0
  31. data/lib/lanmao/form/account/personal_register_expand_form.rb +44 -0
  32. data/lib/lanmao/form/account/reset_password_form.rb +35 -0
  33. data/lib/lanmao/form/account/user_authorization_form.rb +35 -0
  34. data/lib/lanmao/form/account/user_pre_transaction_form.rb +43 -0
  35. data/lib/lanmao/form/form_helper.rb +34 -0
  36. data/lib/lanmao/form/money/.gitkeep +0 -0
  37. data/lib/lanmao/form/money/recharge_form.rb +65 -0
  38. data/lib/lanmao/form/query/.gitkeep +0 -0
  39. data/lib/lanmao/form/trade/.gitkeep +0 -0
  40. data/lib/lanmao/http/error_code/account.rb +61 -0
  41. data/lib/lanmao/http/error_code/asset.rb +20 -0
  42. data/lib/lanmao/http/error_code/batch.rb +28 -0
  43. data/lib/lanmao/http/error_code/enterprise.rb +12 -0
  44. data/lib/lanmao/http/error_code/form.rb +15 -0
  45. data/lib/lanmao/http/error_code/money.rb +48 -0
  46. data/lib/lanmao/http/error_code/platform.rb +15 -0
  47. data/lib/lanmao/http/error_code/query.rb +48 -0
  48. data/lib/lanmao/http/error_code/trade.rb +52 -0
  49. data/lib/lanmao/http/request.rb +82 -0
  50. data/lib/lanmao/http/response.rb +55 -0
  51. data/lib/lanmao/railtie.rb +7 -0
  52. data/lib/lanmao/sign/rsa.rb +14 -0
  53. data/lib/lanmao/utils.rb +76 -0
  54. data/lib/lanmao/version.rb +3 -0
  55. data/lib/lanmao.rb +55 -0
  56. data/tmp/.gitkeep +0 -0
  57. metadata +270 -0
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Api
4
+ module Trade
5
+ module ModifyProject
6
+
7
+ #
8
+ # @return [ Hash ] 结果集
9
+ # * :result [String] "S"/"F"/"P"
10
+ # * :request_params [Hash] 请求参数
11
+ # * :response [Object] 请求返回对象
12
+ # * :code [String] 结果代码
13
+ # * :msg [String] 结果信息
14
+ # * :data: 具体业务返回信息
15
+ #
16
+ def modify_project(request_no, project_no, status)
17
+
18
+ service = 'MODIFY_PROJECT'
19
+
20
+ params = {
21
+ requestNo: request_no,
22
+ projectNo: project_no,
23
+ status: status,
24
+ }
25
+
26
+ res = operate_post(:operate, service, params, :service)
27
+
28
+ res
29
+ end
30
+
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,45 @@
1
+ # coding: utf-8
2
+ # 客户端
3
+
4
+ module Lanmao
5
+ class Client
6
+
7
+ attr_accessor :config
8
+
9
+ def initialize(options_arg)
10
+ options = Utils.symbolize_keys(options_arg)
11
+ @config = {
12
+ path: options[:path],
13
+ platform_no: options[:platform_no],
14
+ key_serial: options[:key_serial],
15
+ private_key: OpenSSL::PKey::RSA.new(options[:private_key]),
16
+ public_key: OpenSSL::PKey::RSA.new(options[:public_key]),
17
+ }
18
+
19
+ # 自动 include api 下的模块
20
+ recursive_include_api('Lanmao::Api')
21
+
22
+ # 自动 include form 下的模块
23
+ recursive_include_api('Lanmao::Form')
24
+ end
25
+
26
+ def verify_data?(data)
27
+ Sign.verify(data, @config)
28
+ end
29
+
30
+ private
31
+
32
+ def recursive_include_api(module_chain)
33
+ modules = eval("#{module_chain}.constants").each{ |constant|
34
+ eval("#{module_chain}::#{constant}").class.kind_of?(Module)
35
+ }
36
+
37
+ if modules.empty?
38
+ self.class.send(:include, eval(module_chain))
39
+ else
40
+ modules.each{ |constant| recursive_include_api("#{module_chain}::#{constant}") }
41
+ end
42
+ end
43
+
44
+ end
45
+ end
@@ -0,0 +1,7 @@
1
+ module NilClassExtension
2
+ def to_d
3
+ 0.to_d
4
+ end
5
+ end
6
+
7
+ NilClass.send(:include, NilClassExtension)
File without changes
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module Account
5
+ module ActivateStockedUserForm
6
+
7
+ # 2.11 会员激活
8
+ #
9
+ # @return [ Hash ] 结果集
10
+ # * :form_method
11
+ # * :method
12
+ # * :url
13
+ # * :form_data
14
+ # * :data
15
+ #
16
+ def activate_stocked_user_form(flow_id, return_url, user_no, auth_list='', check_type='LIMIT', client='MOBILE')
17
+ service = 'ACTIVATE_STOCKED_USER'
18
+
19
+ params = {
20
+ platformUserNo: user_no,
21
+ requestNo: flow_id,
22
+ authList: auth_list,
23
+ redirectUrl: return_url,
24
+ checkType: check_type,
25
+ userDevice: client,
26
+ }
27
+
28
+ res = get_form_data(service, params)
29
+
30
+ res
31
+ end
32
+
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,35 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module Account
5
+ module CheckPasswordForm
6
+
7
+ # 2.8 验证密码
8
+ #
9
+ # @return [ Hash ] 结果集
10
+ # * :form_method
11
+ # * :method
12
+ # * :url
13
+ # * :form_data
14
+ # * :data
15
+ #
16
+ def check_password_form(flow_id, user_no, biz_type_description, return_url, client='MOBILE')
17
+ service = 'CHECK_PASSWORD'
18
+
19
+ params = {
20
+ platformUserNo: user_no,
21
+ requestNo: flow_id,
22
+ bizTypeDescription: biz_type_description,
23
+ redirectUrl: return_url,
24
+ userDevice: client,
25
+ }
26
+
27
+ res = get_form_data(service, params)
28
+
29
+ res
30
+ end
31
+
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,52 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module Account
5
+ module EnterpriseRegisterForm
6
+
7
+ # 2.2 企业绑卡注册
8
+ #
9
+ # @return [ Hash ] 结果集
10
+ # * :form_method
11
+ # * :method
12
+ # * :url
13
+ # * :form_data
14
+ # * :data
15
+ #
16
+ def enterprise_register_form(flow_id, user_no, enterprise_name, bank_licence, org_no, tax_no, business_license, unified_code,
17
+ credit_code, legal, id_card_type, legal_id_card_no, contact, contact_phone, role_type,
18
+ bank_card_no, bank_code, return_url, auth_list='', client='MOBILE')
19
+ service = 'ENTERPRISE_REGISTER'
20
+
21
+ params = {
22
+ platformUserNo: user_no,
23
+ requestNo: flow_id,
24
+ enterpriseName: enterprise_name,
25
+ bankLicense: bank_licence,
26
+ orgNo: org_no,
27
+ businessLicense: business_license,
28
+ taxNo: tax_no,
29
+ unifiedCode: unified_code,
30
+ creditCode: credit_code,
31
+ legal: legal,
32
+ idCardType: id_card_type,
33
+ legalIdCardNo: legal_id_card_no,
34
+ contact: contact,
35
+ contactPhone: contact_phone,
36
+ userRole: role_type,
37
+ bankcardNo: bank_card_no,
38
+ bankcode: bank_code,
39
+ redirectUrl: return_url,
40
+ auth_list: auth_list,
41
+ userDevice: client,
42
+ }
43
+
44
+ res = get_form_data(service, params)
45
+
46
+ res
47
+ end
48
+
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,44 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module Account
5
+ module PersonalRegisterExpandForm
6
+
7
+ # 2.1 个人绑卡注册
8
+ #
9
+ # @return [ Hash ] 结果集
10
+ # @return [ Hash ] 结果集
11
+ # * :form_method
12
+ # * :method
13
+ # * :url
14
+ # * :form_data
15
+ # * :data
16
+ #
17
+ def personal_register_expand_form(user_no, flow_id, true_name, id_card_no, bank_card_no, phone, id_card_type, role_type, check_type, return_url, user_limit_type='ID_CARD_NO_UNIQUE', auth_list='', client='MOBILE')
18
+ service = 'PERSONAL_REGISTER_EXPAND'
19
+
20
+ params = {
21
+ platformUserNo: user_no,
22
+ requestNo: flow_id,
23
+ realName: true_name,
24
+ idCardNo: id_card_no,
25
+ bankcardNo: bank_card_no,
26
+ mobile: phone,
27
+ idCardType: id_card_type,
28
+ userRole: role_type,
29
+ checkType: check_type,
30
+ redirectUrl: return_url,
31
+ user_limit_type: user_limit_type,
32
+ auth_list: auth_list,
33
+ userDevice: client,
34
+ }
35
+
36
+ res = get_form_data(service, params)
37
+
38
+ res
39
+ end
40
+
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,35 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module Account
5
+ module ResetPasswordForm
6
+
7
+ # 2.7 修改密码
8
+ #
9
+ # @return [ Hash ] 结果集
10
+ # * :form_method
11
+ # * :method
12
+ # * :url
13
+ # * :form_data
14
+ # * :data
15
+ #
16
+ def reset_password_form(flow_id, user_no, is_skip, return_url, client='MOBILE')
17
+ service = 'RESET_PASSWORD'
18
+
19
+ params = {
20
+ platformUserNo: user_no,
21
+ requestNo: flow_id,
22
+ isSkip: is_skip,
23
+ redirectUrl: return_url,
24
+ userDevice: client,
25
+ }
26
+
27
+ res = get_form_data(service, params)
28
+
29
+ res
30
+ end
31
+
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Api
4
+ module Account
5
+ module UserAuthorization
6
+
7
+ #
8
+ # @return [ Hash ] 结果集
9
+ # * :result [String] "S"/"F"/"P"
10
+ # * :request_params [Hash] 请求参数
11
+ # * :response [Object] 请求返回对象
12
+ # * :code [String] 结果代码
13
+ # * :msg [String] 结果信息
14
+ # * :data: 具体业务返回信息
15
+ #
16
+ def user_authorization(user_no, request_no, auth_list, redirect_url)
17
+
18
+ service = 'USER_AUTHORIZATION'
19
+
20
+ params = {
21
+ platformUserNo: user_no,
22
+ requestNo: request_no,
23
+ authList: auth_list,
24
+ redirectUrl: redirect_url,
25
+ }
26
+
27
+ res = get_form_data(service, params)
28
+
29
+ res
30
+ end
31
+
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,43 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module Account
5
+ module UserPreTransaction
6
+
7
+ #
8
+ # @return [ Hash ] 结果集
9
+ # * :form_method
10
+ # * :method
11
+ # * :url
12
+ # * :form_data
13
+ # * :data
14
+ #
15
+ def user_pre_transaction(request_no, user_no, biz_type,
16
+ amount, expired, redirect_url,
17
+ project_no, share, creditsale_request_no,
18
+ pre_marketing_amount, remark="")
19
+ service = 'USER_PRE_TRANSACTION'
20
+
21
+ params = {
22
+ platformUserNo: user_no,
23
+ requestNo: request_no,
24
+ bizType: biz_type,
25
+ amount: amount,
26
+ expired: expired,
27
+ redirectUrl: redirect_url,
28
+ projectNo: project_no,
29
+ share: share,
30
+ creditsaleRequestNo: creditsale_request_no,
31
+ preMarketingAmount: pre_marketing_amount,
32
+ remark: remark,
33
+ }
34
+
35
+ res = get_form_data(service, params)
36
+
37
+ res
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module DataHelper
5
+
6
+ # 跳转到新网 Form 类的 api,统一返回处理
7
+ #
8
+ # @param service [ String ] 富民的服务
9
+ # @param params [ Hash ] 参数
10
+ # @param post_path [ String ] post url
11
+ #
12
+ # @return [ Hash ] 结果集
13
+ # * form_method
14
+ # * url
15
+ # * method
16
+ # * form_data
17
+ # * :data
18
+ #
19
+ def get_form_data(service, params)
20
+ request = Http::Request.new(params, @config, service, :gateway)
21
+ body, url = request.get_body
22
+
23
+ {
24
+ form_method: {
25
+ :url => url,
26
+ :method => :post,
27
+ },
28
+ form_data: body.merge(userDevice: params[:userDevice]),
29
+ }
30
+ end
31
+
32
+ end # DataHelper
33
+ end
34
+ end
File without changes
@@ -0,0 +1,65 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Form
4
+ module Money
5
+ module Recharge
6
+ # 绑定卡到电子账户充值
7
+ #
8
+ # @return [ Hash ] 结果集
9
+ # * :result [String] "S"/"F"/"P"
10
+ # * :request_params [Hash] 请求参数
11
+ # * :response [Object] 请求返回对象
12
+ # * :code [String] 结果代码
13
+ # * :msg [String] 结果信息
14
+ # * :data: 具体业务返回信息
15
+ # * :requestNo [String] 请求流水号
16
+ # * :code [String] 调用状态(0 为调用成功、1 为失败,返回 1 时请看【调用失败错误码】及错误码 描述)
17
+ # * :status [String] 业务处理状态(处理失败 INIT;处理成功 SUCCESS),平台可根据非 SUCCESS 状态做相应处理,处理失败时可参考错误码及描述
18
+ # * :errorCode [String] 错误码、若支付失败时,显示存管错误码信息
19
+ # * :errorMessage [String] 错误码描述,若支付失败时,显示存管错误码描述
20
+ # * :rechargeStatus [String] 充值状态;SUCCESS 支付成功、FAIL 支付失败、PENDDING 支付中(充值结果以此状态为准)
21
+ # * :platformUserNo [String] 平台用户编号
22
+ # * :amount [String] 充值金额
23
+ # * :commission [String] 平台佣金
24
+ # * :payCompany [String] 支付公司
25
+ # * :rechareWay [String] 支付方式
26
+ # * :bankcode [String] 银行编码(只有快捷会返回)
27
+ # * :payMobile [String] 本次充值手机号,网银为空
28
+ # * :transactionTime [String] 交易完成时间
29
+ # * :channelErrorCode [String] 支付通道错误码(若快捷充值回调方式传入 DIRECT_CALLBACK,则返回 此参数)技术支持单独提供
30
+ # * :channelErrorMessage [String] 支付通道返回错误消息(若快捷充值回调方式传入 DIRECT_CALLBACK, 则返回此参数)技术支持单独提供
31
+ #
32
+ def recharge(platform_user_no, request_no, amount,
33
+ expect_pay_company, recharge_way="SWIFT",
34
+ redirect_url, expired,
35
+ commission, bankcode, pay_type,
36
+ authtrade_type, authtender_amount,
37
+ project_no, callback_mode)
38
+
39
+ service = "RECHARGE"
40
+
41
+ params = {
42
+ platformUserNo: platform_user_no,
43
+ requestNo: request_no,
44
+ amount: amount,
45
+ expectPayCompany: expect_pay_company,
46
+ rechargeWay: recharge_way,
47
+ redirectUrl: redirect_url,
48
+ expired: expired,
49
+ commission: commission,
50
+ bankcode: bankcode,
51
+ payType: pay_type,
52
+ authtradeType: authtrade_type,
53
+ authtenderAmount: authtender_amount,
54
+ projectNo: project_no,
55
+ callbackMode: callback_mode,
56
+ }
57
+
58
+ res = get_form_data(service, params)
59
+
60
+ res
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
File without changes
File without changes
@@ -0,0 +1,61 @@
1
+ # coding: utf-8
2
+
3
+ module Lanmao
4
+ module Http
5
+ module ErrorCode
6
+
7
+ def self.create_account_p
8
+ @_create_account ||= %w[RD000601 RD000602 RD000603 RD000604 RD000605 RD777777 RD10001]
9
+ end
10
+
11
+ def self.marketing_query
12
+ @_marketing_query ||= %w[ ]
13
+ end
14
+
15
+ def self.account_credits
16
+ @_account_credits ||= %w[RD000203 RD000537]
17
+ end
18
+
19
+ def self.account_transaction_query
20
+ @_account_transaction_query ||= %w[]
21
+ end
22
+
23
+ def self.create_account_sr_query
24
+ @_create_account_sr_query ||= %w[]
25
+ end
26
+
27
+ def self.gateway_query
28
+ @_gateway_query ||= %w[]
29
+ end
30
+
31
+ def self.set_password_p
32
+ @_set_password ||= %w[RD1031303 RD1031304 RD10001 RD001034 RD000602 RD001024 RD9997
33
+ RD1031301 RD000603 RD000604 RD000605]
34
+ end
35
+
36
+ def self.bind_bank_card_p
37
+ @_bind_bank_card ||= []
38
+ end
39
+
40
+ def self.account_balance
41
+ @_account_balance ||= []
42
+ end
43
+
44
+ def self.find_account_by_mobile
45
+ @_find_account_by_mobile ||= %w[T130016 T2600120]
46
+ end
47
+
48
+ def self.find_account_by_id
49
+ @_find_account_by_id ||= %w[RD000061 RD000089 RD000060 RD000063]
50
+ end
51
+
52
+ def self.set_password_query
53
+ @_set_password_query ||= %w[]
54
+ end
55
+
56
+ def self.binding_list
57
+ @_binding_list ||= %w[]
58
+ end
59
+ end # module ErrorCode
60
+ end
61
+ end
@@ -0,0 +1,20 @@
1
+ # coding: utf-8
2
+
3
+ module Lanmao
4
+ module Http
5
+ module ErrorCode
6
+
7
+ def self.assets_enroll
8
+ @_assets_enroll ||= %w[RD000189 RD000191 RD000388 RD000391 RD000435 RD000537]
9
+ end
10
+
11
+ def self.assets_revoke
12
+ @_assets_revoke ||= %w[RD000001 RD000005 RD000027 RD000439 RD000490 RD000537]
13
+ end
14
+
15
+ def self.asset_query
16
+ @_assets_revoke ||= %w[]
17
+ end
18
+ end # module ErrorCode
19
+ end
20
+ end
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+
3
+ module Lanmao
4
+ module Http
5
+ module ErrorCode
6
+
7
+ def self.batch_payment_b
8
+ @_batch_payment ||= %w[]
9
+ end
10
+
11
+ def self.batch_repayment_b
12
+ @_batch_payment ||= %w[RD000195]
13
+ end
14
+
15
+ def self.batch_end_credit_b
16
+ @_batch_payment ||= %w[]
17
+ end
18
+
19
+ def self.batch_coupon_b
20
+ @_batch_coupon_b ||= %w[]
21
+ end
22
+
23
+ def self.batch_notify_resend_b
24
+ @_batch_notify_resend_b ||= %w[]
25
+ end
26
+ end # module ErrorCode
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ # coding: utf-8
2
+ module Lanmao
3
+ module Http
4
+ module ErrorCode
5
+
6
+ def self.enterprise_add
7
+ @_enterprise_add ||= %w[400 401 403 404 405 410 429 500 503]
8
+ end
9
+
10
+ end # module ErrorCode
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ # coding: utf-8
2
+
3
+ module Lanmao
4
+ module Http
5
+ module ErrorCode
6
+ def self.sign_again_p
7
+ @_sign_again_p ||= %w[]
8
+ end
9
+
10
+ def self.trustee_pay_p
11
+ @_trustee_pay_p ||= %w[]
12
+ end
13
+ end # module ErrorCode
14
+ end
15
+ end
@@ -0,0 +1,48 @@
1
+ # coding: utf-8
2
+
3
+ module Lanmao
4
+ module Http
5
+ module ErrorCode
6
+
7
+ def self.bank_recharge
8
+ @_bank_recharge ||= []
9
+ end
10
+
11
+ def self.recharge_p
12
+ @_recharge_p ||= []
13
+ end
14
+
15
+ def self.withdraw_p
16
+ @_withdraw_p ||= []
17
+ end
18
+
19
+ def self.coupon_recharge
20
+ @_coupon_recharge ||= []
21
+ end
22
+
23
+ def self.coupon_withdraw
24
+ @_coupon_withdraw ||= []
25
+ end
26
+
27
+ def self.sign_borrower_p
28
+ @_sign_borrower_p ||= []
29
+ end
30
+
31
+ def self.sign_transfer_p
32
+ @_sign_transfer_p ||= []
33
+ end
34
+
35
+ def self.sign_payment_query
36
+ @_sign_payment_query ||= []
37
+ end
38
+
39
+ def self.sign_repayment_query
40
+ @_sign_repayment_query ||= []
41
+ end
42
+
43
+ def self.sign_transfer_check
44
+ @_sign_transfer_check ||= []
45
+ end
46
+ end # module ErrorCode
47
+ end
48
+ end
@@ -0,0 +1,15 @@
1
+ # coding: utf-8
2
+
3
+ module Lanmao
4
+ module Http
5
+ module ErrorCode
6
+ def self.money_dispatch
7
+ @_money_dispatch ||= %w[RD000001 RD000005 RD000012 RD000017 RD000537]
8
+ end
9
+
10
+ def self.money_revoke
11
+ @_money_revoke ||= %w[RD000004 RD000008]
12
+ end
13
+ end # module ErrorCode
14
+ end
15
+ end