unionpei 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cddafb4e17c233ebe8bb5aa71db87daf01e3f3aa63bee4d8ff21ddf071522434
4
- data.tar.gz: f2ae7a970dbf2e159b3142b3bdcc8e70dee1cddc9b933d102b591aabb9b1576f
3
+ metadata.gz: 873151ea6fe19398b75fb59859966a9b24cff017f2b993a6cdee337275b24553
4
+ data.tar.gz: 988869dfbec8acb49da6fa1497aa0907e68a4beea06aded21f85c379ffba7263
5
5
  SHA512:
6
- metadata.gz: e206cf61ed62142df2acf9a058313f570028cc0ff2baf53ff1b65249a0bf2fc1fb034233ecdd5b3f8dc8479d84396946b1d0f0a957610852e46c680f83103fc4
7
- data.tar.gz: cdd46815647921398749c2d988a73a82a41b3a70c44a887ff29a6a6f8ceb8ecc8836a5e44688d67d80115ea496a06ae35fb88a2a208ef4696afd76b0360df48e
6
+ metadata.gz: 8bd6c723b2e5bba4745f4daade5d185128bc8a53d8958b0e9e37caf8aad27b5834bc6af347b74f53362f57a41a47d2c5c7907daabd7abb6e156436495b55d86d
7
+ data.tar.gz: 769762c3bcffd2b3e8bb9839c9183f7cf98f2129bfd28995777c32a23bf31e044f999e5da80a9e3f69052eabfbbfdb55c12cda6b0829bfc91ba0db2c7e925f45
@@ -42,14 +42,14 @@ acpsdk.ifValidateRemoteCert=false
42
42
  acpsdk.backUrl=http://222.222.222.222:8080/backRcvResponse
43
43
 
44
44
  ;前台通知地址,填写后台接收银联后台通知的地址,必须外网能访问
45
- acpsdk.frontUrl=http://localhost:8080/frontRcvResponse
45
+ acpsdk.frontUrl=localhost:3000/subscriptions
46
46
 
47
47
  ;;;;;;;;;;;;;;;;;;;;;;;;;入网测试环境签名证书配置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
48
48
  ; 多证书的情况证书路径为代码指定,可不对此块做配置。
49
49
  ; 签名证书路径,必须使用绝对路径,如果不想使用绝对路径,可以自行实现相对路径获取证书的方法;测试证书所有商户共用开发包中的测试签名证书,生产环境请从cfca下载得到。
50
50
  ; 测试环境证书位于assets/测试环境证书/文件夹下,请复制到d:/certs文件夹。生产环境证书由业务部门邮件发送。
51
51
  ; windows样例:
52
- acpsdk.signCert.path=certs/acp_test_sign.pfx
52
+ acpsdk.signCert.path=safe/unionpay/acp_test_sign.pfx
53
53
  ; linux样例(注意:在linux下读取证书需要保证证书有被应用读的权限)(后续其他路径配置也同此条说明)
54
54
  ;acpsdk.signCert.path=/SERVICE01/usr/ac_frnas/conf/ACPtest/ac00000000000001.pfx
55
55
 
@@ -58,16 +58,16 @@ acpsdk.signCert.pwd=000000
58
58
 
59
59
  ;;;;;;;;;;;;;;;;;;;;;;;;;;加密证书配置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
60
60
  ; 敏感信息加密证书路径(商户号开通了商户对敏感信息加密的权限,需要对 卡号accNo,pin和phoneNo,cvn2,expired加密(如果这些上送的话),对敏感信息加密使用)
61
- acpsdk.encryptCert.path=certs/acp_test_enc.cer
61
+ acpsdk.encryptCert.path=safe/unionpay/acp_test_enc.cer
62
62
 
63
63
  ;;;;;;;;;;;;;;;;;;;;;;;;;;验签证书配置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
64
64
  ; 验签中级证书(证书位于assets/测试环境证书/文件夹下,请复制到d:/certs文件夹)
65
- acpsdk.middleCert.path=certs/acp_test_middle.cer
65
+ acpsdk.middleCert.path=safe/unionpay/acp_test_middle.cer
66
66
  ; 验签根证书(证书位于assets/测试环境证书/文件夹下,请复制到d:/certs文件夹)
67
- acpsdk.rootCert.path=certs/acp_test_root.cer
67
+ acpsdk.rootCert.path=safe/unionpay/acp_test_root.cer
68
68
 
69
69
  ;;;;;;;;;;;;;;;;;;;;;;;;;;日志配置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
70
70
  ; 日志打印路径,linux注意要有写权限
71
- acpsdk.log.file.path=upacp_sdk_ruby.log
71
+ acpsdk.log.file.path=log/upacp_sdk_ruby.log
72
72
  ; 日志级别,debug级别会打印密钥,生产请用info或以上级别
73
- acpsdk.log.level=DEBUG
73
+ acpsdk.log.level=INFO
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'openssl'
2
4
  require 'base64'
3
5
  require_relative 'log_util'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'openssl'
2
4
  require 'base64'
3
5
  require_relative 'log_util'
@@ -42,7 +42,7 @@ module UnionPei
42
42
  Logger::UNKNOWN
43
43
  end
44
44
  end
45
- p = LogUtil.parse_caller(caller(0)[2]) #可能有多线程问题?我才不管哼
45
+ p = LogUtil.parse_caller(caller(0)[2])
46
46
  @@logger.progname = p[0].to_s + ":" + p[1].to_s
47
47
  @@logger
48
48
  end
@@ -1,40 +1,65 @@
1
1
  #encoding: utf-8
2
+
2
3
  require "date"
3
4
  require_relative 'sdk_config'
4
5
  require_relative 'acp_service'
5
-
6
6
  module UnionPei
7
7
  class Payment
8
8
  class << self
9
- def B2C
10
- req = {}
11
-
12
- req["version"] = UnionPei::SDKConfig.instance.version
13
- req["encoding"] = UnionPei::SDKConfig.instance.encoding
14
- req["signMethod"] = UnionPei::SDKConfig.instance.signMethod
15
-
16
- req["frontUrl"] = UnionPei::SDKConfig.instance.frontUrl
17
- req["backUrl"] = UnionPei::SDKConfig.instance.backUrl
9
+ @@default_b2c_req = {
10
+ "version"=>UnionPei::SDKConfig.instance.version,
11
+ "encoding"=>UnionPei::SDKConfig.instance.encoding,
12
+ "signMethod"=>UnionPei::SDKConfig.instance.signMethod,
13
+ "frontUrl"=>UnionPei::SDKConfig.instance.frontUrl,
14
+ "backUrl"=>UnionPei::SDKConfig.instance.backUrl,
15
+ "txnType"=>"01",
16
+ "txnSubType"=>"01",
17
+ "bizType"=>"000201", # 000201 是b2c / 000202 是 b2b
18
+ "channelType"=>"07",
19
+ "currencyCode"=>"156",
20
+ "txnAmt"=>"881000",
21
+ "merId"=>"777290058189920",
22
+ "orderId"=>DateTime.parse(Time.now.to_s).strftime("%Y%m%d%H%M%S").to_s,
23
+ "txnTime"=>DateTime.parse(Time.now.to_s).strftime("%Y%m%d%H%M%S").to_s,
24
+ "accessType"=>"0"
25
+ }
18
26
 
19
- req["txnType"] = "01"
20
- req["txnSubType"] = "01"
21
- req["bizType"] = "000201" # 000201 是b2c / 000202 是 b2b
22
- req["channelType"] = "07"
23
- req["currencyCode"] = "156"
24
- req["txnAmt"] = "881000"
27
+ # 【默认大于配置】哲学
28
+ def b2c(req=@@default_b2c_req)
29
+ req = @@default_b2c_req.merge(req)
30
+ UnionPei::AcpService.sign(req)
31
+ url = UnionPei::SDKConfig.instance.frontTransUrl
32
+ UnionPei::AcpService.createAutoFormHtml(req, url)
33
+ end
25
34
 
26
- req["merId"] = "777290058189920"
27
- req["orderId"] = DateTime.parse(Time.now.to_s).strftime("%Y%m%d%H%M%S").to_s
28
- req["txnTime"] = DateTime.parse(Time.now.to_s).strftime("%Y%m%d%H%M%S").to_s
29
- req["accessType"] = "0"
35
+ @@default_b2b_req = {
36
+ "version"=>UnionPei::SDKConfig.instance.version,
37
+ "encoding"=>UnionPei::SDKConfig.instance.encoding,
38
+ "signMethod"=>UnionPei::SDKConfig.instance.signMethod,
39
+ "frontUrl"=>UnionPei::SDKConfig.instance.frontUrl,
40
+ "backUrl"=>UnionPei::SDKConfig.instance.backUrl,
41
+ "txnType"=>"01",
42
+ "txnSubType"=>"01",
43
+ "bizType"=>"000202", # 000201 是b2c / 000202 是 b2b,
44
+ "channelType"=>"07",
45
+ "currencyCode"=>"156",
46
+ "txnAmt"=>"881000",
47
+ "merId"=>"777290058189920",
48
+ "orderId"=>DateTime.parse(Time.now.to_s).strftime("%Y%m%d%H%M%S").to_s,
49
+ "txnTime"=>DateTime.parse(Time.now.to_s).strftime("%Y%m%d%H%M%S").to_s,
50
+ "accessType"=>"0",
51
+ "payTimeout"=>DateTime.parse((Time.now + 15 * 60 * 1000).to_s).strftime("%Y%m%d%H%M%S").to_s,
52
+ "bizScene"=> "110001",
53
+ "payeeAcctNm"=> "xx商户",
54
+ "payeeAcctNo"=> "12345678",
55
+ "payeeBankName"=> "xx行"
56
+ }
30
57
 
31
- #签名示例
58
+ def b2b(req=@@default_b2b_req)
59
+ req = @@default_b2b_req.merge(req)
32
60
  UnionPei::AcpService.sign(req)
33
61
  url = UnionPei::SDKConfig.instance.frontTransUrl
34
-
35
- #前台自提交表单示例
36
- resp = UnionPei::AcpService.createAutoFormHtml(req, url)
37
- resp
62
+ UnionPei::AcpService.createAutoFormHtml(req, url)
38
63
  end
39
64
  end
40
65
  end
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'singleton'
2
4
  require 'logger'
3
5
  require 'net/https'
@@ -2,8 +2,8 @@
2
2
 
3
3
  module UnionPei
4
4
  class Version
5
- def self.to_string
6
- "0.0.1"
5
+ def self.to_str
6
+ "0.0.5"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unionpei
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shuang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-05 00:00:00.000000000 Z
11
+ date: 2021-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iniparse
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: jruby-openssl
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  description: An unofficial unionpay gem
42
28
  email: memorycancel@gmail.com
43
29
  executables: []