Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
system_pay
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王沛
system_pay
Commits
1dd7c9e0
Commit
1dd7c9e0
authored
2 years ago
by
wangp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lakala
parent
4bd5ae32
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
401 additions
and
106 deletions
+401
-106
Dockerfile
Dockerfile
+9
-1
OP00000003_cert.cer
cert/dev/OP00000003_cert.cer
+0
-0
OP00000003_private_key.pem
cert/dev/OP00000003_private_key.pem
+0
-0
lkl-apigw-v2.cer
cert/dev/lkl-apigw-v2.cer
+0
-0
api_cert.cer
cert/prod/bk/api_cert.cer
+22
-0
api_private_key.pem
cert/prod/bk/api_private_key.pem
+28
-0
api_public_key.pem
cert/prod/bk/api_public_key.pem
+9
-0
api_cert.cer
cert/prod/dbc/api_cert.cer
+22
-0
api_private_key.pem
cert/prod/dbc/api_private_key.pem
+28
-0
api_public_key.pem
cert/prod/dbc/api_public_key.pem
+9
-0
lkl-apigw-v1.cer
cert/prod/dbc/lkl-apigw-v1.cer
+25
-0
api_cert.cer
cert/prod/saas/api_cert.cer
+22
-0
api_private_key.pem
cert/prod/saas/api_private_key.pem
+28
-0
api_public_key.pem
cert/prod/saas/api_public_key.pem
+9
-0
lkl-apigw-v1.cer
cert/prod/saas/lkl-apigw-v1.cer
+25
-0
config.yaml
conf/dev/config.yaml
+21
-4
config.yaml
conf/prod/config.yaml
+38
-8
notice.go
controller/api/v1/pay/notice.go
+2
-1
pay.go
models/pay.go
+3
-3
pay.go
repository/pay/pay.go
+85
-88
setting.go
setting/setting.go
+16
-1
No files found.
Dockerfile
View file @
1dd7c9e0
...
...
@@ -34,7 +34,8 @@ WORKDIR /go/src/system_pay
COPY
--from=0 /go/src/system_pay/server ./
# 拷贝配置文件到当前工作目录
COPY
--from=0 /go/src/system_pay/conf/dev ./conf
# COPY --from=0 /go/src/system_pay/conf/dev ./conf
COPY
--from=0 /go/src/system_pay/conf/prod ./conf
# 拷贝国际化文件夹到当前工作目录
COPY
--from=0 /go/src/system_pay/i18n ./i18n
...
...
@@ -42,5 +43,12 @@ COPY --from=0 /go/src/system_pay/i18n ./i18n
# 拷贝国际化文件夹到当前工作目录
COPY
--from=0 /go/src/system_pay/docs ./docs
# 拷贝私钥、公钥和证书文件夹到当前工作目录
COPY
--from=0 /go/src/system_pay/cert ./cert
COPY
--from=0 /go/src/system_pay/cert/dev ./cert/dev
COPY
--from=0 /go/src/system_pay/cert/prod ./cert/prod
COPY
--from=0 /go/src/system_pay/cert/prod/bk ./cert/prod/bk
COPY
--from=0 /go/src/system_pay/cert/prod/dbc ./cert/prod/dbc
# 运行打包好的二进制
ENTRYPOINT
./server
\ No newline at end of file
This diff is collapsed.
Click to expand it.
cert/OP00000003_cert.cer
→
cert/
dev/
OP00000003_cert.cer
View file @
1dd7c9e0
File moved
This diff is collapsed.
Click to expand it.
cert/OP00000003_private_key.pem
→
cert/
dev/
OP00000003_private_key.pem
View file @
1dd7c9e0
File moved
This diff is collapsed.
Click to expand it.
cert/lkl-apigw-v2.cer
→
cert/
dev/
lkl-apigw-v2.cer
View file @
1dd7c9e0
File moved
This diff is collapsed.
Click to expand it.
cert/prod/bk/api_cert.cer
0 → 100644
View file @
1dd7c9e0
-----BEGIN CERTIFICATE-----
MIIDoDCCAoigAwIBAgIGAYliU9EVMA0GCSqGSIb3DQEBBQUAMGAxFDASBgNVBAMM
C0xBS0FMQS1MQU9QMQswCQYDVQQGEwJDTjEXMBUGA1UECgwOTGFrYWxhIENvLixM
dGQxDzANBgNVBAsMBkxLTC1ZRjERMA8GA1UEBwwIc2hhbmdoYWkwHhcNMjMwNzE3
MDUzMDA3WhcNMzMwNzE3MDUzMDA3WjBgMRQwEgYDVQQDDAtMQUtBTEEtTEFPUDEL
MAkGA1UEBhMCQ04xFzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMQ8wDQYDVQQLDAZM
S0wtWUYxETAPBgNVBAcMCHNoYW5naGFpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAnYI0nOuQROJIktb08ABlSxni/ADNjBOx4CqdknmBV/1G22cCnLX+
MDQL8wZ2tLU9vd1MSu55z4dIrmfqEwAWTKl0Skabd5tLJArUPVO1slVOREMgCJZ2
i3tuaRuqFTtBeJWa0Cxt3etmnn1il4wm6o+fT2NjUMvBzzw6jk4lMQwuUWvbXFOa
n5B1D5LIKU1AybYsNNzxXWcNwkgd++lvSnzYYGYHPpJy2vBqSJFwHEPhvtd9w4M5
K0xAKwyxK+/sVYjomvw58crRkZ/wstLsy28q8K3ZWJ/7dAmyn79830w7h72L6QTV
tUOZTM8nUzna+73q+JAUYqH0HmBgCUK1iQIDAQABo2AwXjAPBgNVHRMECDAGAQH/
AgEAMB8GA1UdIwQYMBaAFL5HJE8IJYMDJMIUCZ6WgS5ekdFoMB0GA1UdDgQWBBS+
RyRPCCWDAyTCFAmeloEuXpHRaDALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQAD
ggEBAAT+TAKbS45oHIY7Tj/rvkHYSbMkwWeVOqun22GxcVinUj56ULjJxGf6HhvS
4P/zYo8PycamP4y9Zf4k34mO+jHYivTo86uXPabV8dj9qpvqFNitA4JmqRQex7MB
UTByBjlNPRgYDUzYupkM7uXqHjQ5MrpIDg8gCWBRWY+mdYceC6GUg7bg/o9Off5t
c/RY8r29J5xENt8NdpB8XEjfG8EJ/OMW7KNtiBIVsjPV112HKCRryHch2OHLFgJK
Z/REprO1qocU0aTZBxYHMc1NUUyLwmBwVgFck/AJ9yREQXHGCnXZg7r853IF4Voc
8vK8cztFt1Os49uyLaPP4jwrt8E=
-----END CERTIFICATE-----
This diff is collapsed.
Click to expand it.
cert/prod/bk/api_private_key.pem
0 → 100644
View file @
1dd7c9e0
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdgjSc65BE4kiS
1vTwAGVLGeL8AM2ME7HgKp2SeYFX/UbbZwKctf4wNAvzBna0tT293UxK7nnPh0iu
Z+oTABZMqXRKRpt3m0skCtQ9U7WyVU5EQyAIlnaLe25pG6oVO0F4lZrQLG3d62ae
fWKXjCbqj59PY2NQy8HPPDqOTiUxDC5Ra9tcU5qfkHUPksgpTUDJtiw03PFdZw3C
SB376W9KfNhgZgc+knLa8GpIkXAcQ+G+133DgzkrTEArDLEr7+xViOia/DnxytGR
n/Cy0uzLbyrwrdlYn/t0CbKfv3zfTDuHvYvpBNW1Q5lMzydTOdr7ver4kBRiofQe
YGAJQrWJAgMBAAECggEBAImCo2xcPBfndnS8NhtSPRzT/NcF3G3uw9xxWCAI9GNd
O/9Qb3dhbAmpZsVFX11k3gJksba5fJ8x/MJG9pSf/tfvGRe/jPtfGLreuWzRKFAJ
KctuzwiwU85ydHJPNK5UjVQ5SG92WnTkjzLPRMQKF++wc+VbX9mqCgpjCrwyfUXT
eC8iXOGrlr7+DDg/Rex3xUD00PC0MyMcCAuO3FWecjegXzEsgR2q8lzShhA5V5Td
itjNXx4wr430pZHMA/F6xl3bHhf8jX1a69ODqGl0NS7b1V1iY6yMN1V1Z2CzWbi0
TFzo17CEvOisdvGc9kHPmLUrCvJgShnDYDHDeGpXtgECgYEA8NH7HFBa6EChKQG2
pxNx5vOaact0dEbkHxy/xd+SDKw5hrAiToct9Y5dQVSr91pmhFv2CL82SA8kUc2X
wRh+cw7BkO9eJW31GVGNXqx4hFriE86QtmG06ke+NrqUXWJ+PxTPaPfN2UXLXT6Q
NctQdlZXA9YQZhyoVATfy2rEEkcCgYEAp2/byej/mmm5IEkVaHpgkbU0TkVN+9aW
Ng7O5R6n0MP6e7Q4nXef+q/q6hX5n+yUfTb10wg9IYKCMDKRedK7rP8KXgchopLU
rSk8+A0Y+3frkW/Ao8G6g0cDDPo9MC9tLQ1SspQF0P4syDv5LmLyJsW+PXtceZxk
v6Wn6Jogka8CgYAD8kz9L8vtlnGNrHuDzWvGbyOOrEjiRu8iG2SBJ6LLFl9y95v4
UXrNVWHt2idfTFn1vVQQ3KFVGPptZMMh5Pbdh9ZgO6v9TQoBOjbo4EaxVJPz4yS3
+G3wkPBrES+xQBX1jq+/dqAm+V/VzVqrpwNQjSWr6GwoYDvZ9KJ+QOeprQKBgQCM
LJdimA+05CG6J7UmfJ1wHrWleVvqJCIpK4iGRH3Vxtxix+RF4Cosoy4Vv0P2YQeH
NIXkoJcdALehRhSIWqYIFJRHV80O38HxHf8O41gw3pp2bYpnDf7pfH/PU4f6WRob
h3XeTxH3f3NaRus7rFZxo0a7DhXDMe0ejL7fenkdvQKBgCR21jJc1ZTKcvq5LVVY
DWwN9wC/bF7Vy+O1nJt9rociMJ+ilWH0eLAhhNnUNyLxCyPxR0eyOP40mz+Yxjy4
syWNuRarZGL6IOiZLSYgDq1msf5h9zjVIOItTURYn8lkCkfyrJTLl3/9V3CW+M8I
YyID4OmkWXnqX1LN7PsrNRfw
-----END PRIVATE KEY-----
This diff is collapsed.
Click to expand it.
cert/prod/bk/api_public_key.pem
0 → 100644
View file @
1dd7c9e0
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnYI0nOuQROJIktb08ABl
Sxni/ADNjBOx4CqdknmBV/1G22cCnLX+MDQL8wZ2tLU9vd1MSu55z4dIrmfqEwAW
TKl0Skabd5tLJArUPVO1slVOREMgCJZ2i3tuaRuqFTtBeJWa0Cxt3etmnn1il4wm
6o+fT2NjUMvBzzw6jk4lMQwuUWvbXFOan5B1D5LIKU1AybYsNNzxXWcNwkgd++lv
SnzYYGYHPpJy2vBqSJFwHEPhvtd9w4M5K0xAKwyxK+/sVYjomvw58crRkZ/wstLs
y28q8K3ZWJ/7dAmyn79830w7h72L6QTVtUOZTM8nUzna+73q+JAUYqH0HmBgCUK1
iQIDAQAB
-----END PUBLIC KEY-----
This diff is collapsed.
Click to expand it.
cert/prod/dbc/api_cert.cer
0 → 100644
View file @
1dd7c9e0
-----BEGIN CERTIFICATE-----
MIIDoDCCAoigAwIBAgIGAYliUP1oMA0GCSqGSIb3DQEBBQUAMGAxFDASBgNVBAMM
C0xBS0FMQS1MQU9QMQswCQYDVQQGEwJDTjEXMBUGA1UECgwOTGFrYWxhIENvLixM
dGQxDzANBgNVBAsMBkxLTC1ZRjERMA8GA1UEBwwIc2hhbmdoYWkwHhcNMjMwNzE3
MDUyNzAyWhcNMzMwNzE3MDUyNzAyWjBgMRQwEgYDVQQDDAtMQUtBTEEtTEFPUDEL
MAkGA1UEBhMCQ04xFzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMQ8wDQYDVQQLDAZM
S0wtWUYxETAPBgNVBAcMCHNoYW5naGFpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAoO0vL50XaJxXubBGZdd4dXi3wB7ASLbvxtXwqxgyx0GD49cmnGaa
dBO0lmAdomTR88wKIqK/IjaQrbSCGI9mxAMG1irTJo6rh4kB7VK+rcuFOGfvSt1s
CJqB5+GdoLg5aNFayWzWXOayrgyOgnnY9BcxE0QApB2KC27OmsEhUlUnWXYgkn0L
y0S59/SMOyaXpzyZXnY5KSq6xwTqUg/INKyI0m5xUKdHbympOU9Pp3OrTn3srjOs
w3N7XBNzJSOV4Zjpy+LpICZs7sTLQVf9wBoXtNBVb5Xc9S1348ZuXto2i5IF5VgM
lwQOLfcWrTMkq4dYqSX34YPFww5iqhS+fwIDAQABo2AwXjAPBgNVHRMECDAGAQH/
AgEAMB8GA1UdIwQYMBaAFH2q4V1Vd3FvjzJpkGPMv+jY6mhqMB0GA1UdDgQWBBR9
quFdVXdxb48yaZBjzL/o2OpoajALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQAD
ggEBAIiO/+6Tdzb3PsF5NP+NJUacXu5DscBXCyi9UUg+p3ZQHaxxzQFxHOY8h40y
fLqC92+nsDkKdSe8jd1E2+arptesWJqFjJMxljvNy34TehoXp303m+cTI85yNC8M
2Akcna46yfltU2HNYsfknPd4YejrSw9fbKrLMb6VaLdy0MFQHG3+86oAY55ii+c+
0e54ZAYvGp+ruFCdQIyjBugFy8skXN+moFsySbFaoyWGaWsQQ6W4e2SSrLhzcRdk
XjT4gNEnfMDmNcuvgAF9pG3M0hl2epX0131ed2mkYu0/S2comAsJfVr/rUhmmxCH
IPKITz14IgfgpbxCIhMq56zOlb8=
-----END CERTIFICATE-----
This diff is collapsed.
Click to expand it.
cert/prod/dbc/api_private_key.pem
0 → 100644
View file @
1dd7c9e0
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCg7S8vnRdonFe5
sEZl13h1eLfAHsBItu/G1fCrGDLHQYPj1yacZpp0E7SWYB2iZNHzzAoior8iNpCt
tIIYj2bEAwbWKtMmjquHiQHtUr6ty4U4Z+9K3WwImoHn4Z2guDlo0VrJbNZc5rKu
DI6Cedj0FzETRACkHYoLbs6awSFSVSdZdiCSfQvLRLn39Iw7JpenPJledjkpKrrH
BOpSD8g0rIjSbnFQp0dvKak5T0+nc6tOfeyuM6zDc3tcE3MlI5XhmOnL4ukgJmzu
xMtBV/3AGhe00FVvldz1LXfjxm5e2jaLkgXlWAyXBA4t9xatMySrh1ipJffhg8XD
DmKqFL5/AgMBAAECggEABuKfBjZ+bediiXtVR740VTJZCktGhtXs5GD67xcV9RiE
gBcQe9iX+ydsrpJmMjCGGxw7wsebzebvwb7bYhmgl/pZLIigiCHKjP37qx/DMMRo
asVno5hdqvCRZk5s5Bd9vVJXxA54DXmBY5j97+8urSLg4qYiMONiqKKRDGX++vrA
WMmF2fDVoQ2oF4viEkaurRjAIVEVrGpCAAlAVfMe2LWZW2Z/7UJ+r9GlW8HqXt/j
cC+rUTzUUrXXQGzXO1fC9v9LuBinPCmpO4QsJ2C43bPayIu3HNa+fiTGpFvGfPCS
DJSg/xxhFv8m1Gv7odRfk77F1ZCNDy+sGq3dL1nXIQKBgQDPmTA/dR1ki1jprckP
00W+lzcul1+EA9I7JvBzjC73+GPKCmfAHc65w/jeORQmqeLVkaFyI+YMjV5AQVa7
DgX+f/nnckzCs67LoOrSB0yaug1tZ4dzTpnT7JucCdcsttgrjeenjWUP1vgAjy3w
Won9Cu7k09Ij8fJBmTrPvmJiowKBgQDGclD1nU+fxgMU1gp4joUY/dBaJ8D6wr/+
I0CeSWWru1SbobGp6q6PpgwqjaB9RyDf9NEz+axu88kXeVBJyQ5oYoKkL44tSbE0
AQhiE/wGxhMxwHUaUWK3JjeVoXlnki6wUWpQ2u19uFsiHCe6ynGEYBtpk71+gTal
6V90f7BOdQKBgFuiQqnACDlZSOXcz+MsXpzCIpluN7sN9L4ncfuO5SyPd3y3GxSy
E43r8u4kQ8DNPFMI9Tpsnh7sR64VKTNn/T1ZP/XpffhzV7SKUxxiHG4vsb2Y9TDw
gPYKeqVlspUKIGEZQiezQei7+rxEdwKg9Ee9i7V1ykwTf9t0x4DriIIBAoGAL1V1
GiC7rVB9y6qCNN9Jv/xKhjaVQTrSsLuX3imDpsK4G6clyXHA0WK55CyD613b6Y9r
lwompxBfFspI7FCYry1QG/l74DGDovPcHAjIRJVaXrOZOv3OngDvoTEy1BF6MXQ5
969AlowysKAmmddP3FNQNo6W1GXdsxVHP3J1i0ECgYEAvWSQhCLrvepp1Wb++i+0
KgnvziR+VQM+NFOTalLJY/4ntJRFlGlcV0fiYhuQ/tCC1zDjoGC3FmcwuS5e8/uB
NNQqct7wk1X9yFCGfBAbCuGE1LT+VrVd2xEunBkH7sE5vBDdaBCcThiGd3enNs/p
meIENZk+vNjIeo3gA2C9+xU=
-----END PRIVATE KEY-----
This diff is collapsed.
Click to expand it.
cert/prod/dbc/api_public_key.pem
0 → 100644
View file @
1dd7c9e0
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoO0vL50XaJxXubBGZdd4
dXi3wB7ASLbvxtXwqxgyx0GD49cmnGaadBO0lmAdomTR88wKIqK/IjaQrbSCGI9m
xAMG1irTJo6rh4kB7VK+rcuFOGfvSt1sCJqB5+GdoLg5aNFayWzWXOayrgyOgnnY
9BcxE0QApB2KC27OmsEhUlUnWXYgkn0Ly0S59/SMOyaXpzyZXnY5KSq6xwTqUg/I
NKyI0m5xUKdHbympOU9Pp3OrTn3srjOsw3N7XBNzJSOV4Zjpy+LpICZs7sTLQVf9
wBoXtNBVb5Xc9S1348ZuXto2i5IF5VgMlwQOLfcWrTMkq4dYqSX34YPFww5iqhS+
fwIDAQAB
-----END PUBLIC KEY-----
This diff is collapsed.
Click to expand it.
cert/prod/dbc/lkl-apigw-v1.cer
0 → 100644
View file @
1dd7c9e0
-----BEGIN CERTIFICATE-----
MIIEMTCCAxmgAwIBAgIGAXUrc4b4MA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYT
AkNOMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYDVQQHDAdCZWlKaW5nMRcwFQYDVQQK
DA5MYWthbGEgQ28uLEx0ZDEqMCgGA1UEAwwhTGFrYWxhIE9yZ2FuaXphdGlvbiBW
YWxpZGF0aW9uIENBMB4XDTIwMTAxNTA4NDk1MloXDTMwMTAxMzA4NDk1MlowZTEL
MAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcx
FzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMRkwFwYDVQQDDBBBUElHVy5MQUtBTEEu
Q09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwAXZw9lupWcFXouC
Nhm0DQT47Zf4KOIRF8rqT8Ps3pYzT8odROJ8rq4P+lciGrg29czpqrRM22yQktFr
itvcM7JlE6jFbGH3rycnvGvhRYU/j1N9k0ozm8oVwmKX357/OtGzNivBECGSnU9L
Bkp4Nm9M1K4cOwEuZ0xsQEthZjQYF0mDpnlWmVJL5i1Lq834atN2qrb/mzMHBNtD
JnqRV7rPL39lKpe7LJiitsC2JuW1UbWZZU1NNwA/rz2d83C+KD1DLJ0+sMYY2Q3T
OQ4BPAowDEwOH7XAXrHM/0kRm+ZeIFlwevEGIQWmMt1Ogz+AW4Iq0slINc4wOINK
vH9tHwIDAQABo4HVMIHSMIGSBgNVHSMEgYowgYeAFCnH4DkZPR6CZxRn/kIqVsMo
dJHpoWekZTBjMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpSmluZzEQMA4GA1UE
BwwHQmVpSmluZzEXMBUGA1UECgwOTGFrYWxhIENvLixMdGQxFzAVBgNVBAMMDkxh
a2FsYSBSb290IENBggYBaiUALIowHQYDVR0OBBYEFIya0Yc4OSBer55JLyA0AYe9
m8mTMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA
A4IBAQCBEwOlk3mXigNv94Drn3dcaY2ml/y+8yNpAIuUhuBE00WFoqEX5lOatFy5
fzdXuC12lBVQ8SjSm3aH7k2X0eXqDzkOHiur2ZBRKmJ++J4TeenuSUOjSIbQK/DT
vxaqFUjYwFSVCyizpy7wfU4wKt+jOuFb9LyULJ9lkM1dV9Kh7Lmd9+nlJYYuPEPU
LJkkVZqSALSiiJudXnTwlISjZTXEAkJpdIlMw+hvPTAkoG95B95M+OV/uLbItGK+
qT4+RHWo8EbBDPQYo6J4QYHOxRlfMoGBMyrz6XDt7ELLmT7ld4aE02w6KQPfK3gq
kLDT+/STozvaNmXzBJh7J6KqxJBH
-----END CERTIFICATE-----
\ No newline at end of file
This diff is collapsed.
Click to expand it.
cert/prod/saas/api_cert.cer
0 → 100755
View file @
1dd7c9e0
-----BEGIN CERTIFICATE-----
MIIDoDCCAoigAwIBAgIGAYi309dRMA0GCSqGSIb3DQEBBQUAMGAxFDASBgNVBAMM
C0xBS0FMQS1MQU9QMQswCQYDVQQGEwJDTjEXMBUGA1UECgwOTGFrYWxhIENvLixM
dGQxDzANBgNVBAsMBkxLTC1ZRjERMA8GA1UEBwwIc2hhbmdoYWkwHhcNMjMwNjE0
MDI1NDUzWhcNMzMwNjE0MDI1NDUzWjBgMRQwEgYDVQQDDAtMQUtBTEEtTEFPUDEL
MAkGA1UEBhMCQ04xFzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMQ8wDQYDVQQLDAZM
S0wtWUYxETAPBgNVBAcMCHNoYW5naGFpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAqwSz071wFg3OCDNy6KnNuu5cnFqRTZC931usgjT7WdE8Dcf9Gxsl
V8XoJkiBDyfLJgXiSXb1cOQDfU2hX+y/IFeZ9jxvtSBsZKLtfHUCfo8NF9Hs7egD
FhSDPi+XljJxcezGknrqt08BIpxHk+baAhq4Lt3A6LjgdxhnNYaTF5iy+ZZJFq2a
VX39rkalgMqgonazV1PYIS6Oxmq8gND50svkfYEH1gt1rh85naO47Eu17bPlTPe8
i+D/L/iVmBK1vvq15MPXuBzXrL0Ingt9Et1nJc2iZQqeT4V+qKu4E2WFXtkVU7X7
r4PjsWeJgsefXJi2VfDBC4vz4nHRC6QAVQIDAQABo2AwXjAPBgNVHRMECDAGAQH/
AgEAMB8GA1UdIwQYMBaAFDaGyZwckXAO7y0JGh+DLpV1wf9IMB0GA1UdDgQWBBQ2
hsmcHJFwDu8tCRofgy6VdcH/SDALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQAD
ggEBAAVGlgLuy8BwGo+l8IcdKPVY0/ZK/Ly5yGXH4dY3J/VAxBR3e79RWD1eoK+O
3nBkUAIGYVWhgfkt3uNmrFzGRMlPuiO8jEDdvHU5sIuJX+sOpYRhEzcvnxFJefnM
lU8qpEBNiYNK+1nrdJjdUKCQuPoH0qlIvJZUKIPcsHb5wAnjwe7tmF3foDH4qkW5
yZ7YcgVTHJZuyUTINlnw5OAYki+VOr/sEWwXtPI3/BzZa9c59qFVqjPnYuchj+7R
7fF93AVFUB9Rkj25vwYaYCBKnva84pazjUZWVUYvOXEPwgBgKKX5Pt/wjt3YB4Ds
xmFFbytGKIBvAStvp7LAIdKUgzc=
-----END CERTIFICATE-----
This diff is collapsed.
Click to expand it.
cert/prod/saas/api_private_key.pem
0 → 100755
View file @
1dd7c9e0
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCrBLPTvXAWDc4I
M3Loqc267lycWpFNkL3fW6yCNPtZ0TwNx/0bGyVXxegmSIEPJ8smBeJJdvVw5AN9
TaFf7L8gV5n2PG+1IGxkou18dQJ+jw0X0ezt6AMWFIM+L5eWMnFx7MaSeuq3TwEi
nEeT5toCGrgu3cDouOB3GGc1hpMXmLL5lkkWrZpVff2uRqWAyqCidrNXU9ghLo7G
aryA0PnSy+R9gQfWC3WuHzmdo7jsS7Xts+VM97yL4P8v+JWYErW++rXkw9e4HNes
vQieC30S3WclzaJlCp5PhX6oq7gTZYVe2RVTtfuvg+OxZ4mCx59cmLZV8MELi/Pi
cdELpABVAgMBAAECggEAAQExEUBepTKFkFTFCwrcU4nM73o0ulDsXKCMPeOTym5J
PQd8vCkHqiFWgMsSPwWL0vhb4PSa8oPUZWsMVKTuZoE9PU4TlevP1zOB06ZYUmgC
uq4YBznCsuGB996NtGstcW7jp76jHFqRdiOW5A6KH1MK2/Ofi35yiyCQkqbsvEm9
3+oNwcbLSexDiU45tiwRDy7m2siikZpaxb4SV5JMtO27zXKFQGlVAtb52kHTMwvT
Nqrg2wIohhs2pHbImJMhDrVukFuW3UL1F2CIbpgZG36Lpy3oxCHtCNm6mggpy4Pe
+rgPW3ZPGoTZaiaqbEeem+hG/w9UylKZZV2B+AhFQQKBgQDwnx9eDUryMi58a5AG
kA5vwtCqYaX4veIjTFm5b70n0vw0h11Sn/YPryx8jc0bb+acekNTUmXjbRZzpGmn
MFiP77v+zxfakqwSEEDgsJBHU+HZ3m6p/ejEMX/mQOdDUrwqm6Y7UmMMDsz4b9BZ
7o0etiHgPKPvni6+D3LWImDwxQKBgQC18shCQYnYM5EHMunPN12dwcCbdFsvr9Eo
QPxXwDGOsGQliOAVrA3NnIvg0DgOnEuov9ieBd1L+mT6I4uRE3aRowislecFOYHT
Wj3HbXYWw94yXZrZyb9UnS6FSAG+xjP/RiooHs2Sprrz5nDnIylJxnTn0+3U+2a0
2bWddhGqUQKBgD0Ow7DkAp6OqUkdKkDgESm+76AsgycpV9bJKwNpHUCbwy+5Ia8z
tAaq1skMWn2Z2ZTfWXItOHmLVuUlVUH9fJuZo8S23EC0c0FqKmxZoWLYIDlevgoY
yhXu0Zul4Iku11ygfoATGdsXbl+kT+RiKiEe6l2yRY8qPoYv+V3o/1xZAoGATbxM
kwItQpHFhK3b9wxQkvYUtFYiH12envQk29jhU3VJVEAGfTvlKdOYb5SGXreoG5Db
m6glxDBWtAg7uN/36IEfU5039qN7NDF585pwuYk1hY84eZQYiq4dEhSRqlBEJuxz
VnDSo7VYapwp4JbFLR/9Eo8ZLcW7O8lILt4i7gECgYAubzT3SDYf5BlxQzzdVHhd
XY43f6SHCOsdE/7voyJCiQKwcJefkYJD/puvf1bHsfb5gsH4nyou0djKt4SM1SpE
SVdmIKIjKGFNiqFSbCEKI6s6UTfa4bIhx8ZbqjM6YWVmZFGzF00CP8qYZJgpA4Rr
X593bU9XLvgypO98+uFcDA==
-----END PRIVATE KEY-----
This diff is collapsed.
Click to expand it.
cert/prod/saas/api_public_key.pem
0 → 100755
View file @
1dd7c9e0
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqwSz071wFg3OCDNy6KnN
uu5cnFqRTZC931usgjT7WdE8Dcf9GxslV8XoJkiBDyfLJgXiSXb1cOQDfU2hX+y/
IFeZ9jxvtSBsZKLtfHUCfo8NF9Hs7egDFhSDPi+XljJxcezGknrqt08BIpxHk+ba
Ahq4Lt3A6LjgdxhnNYaTF5iy+ZZJFq2aVX39rkalgMqgonazV1PYIS6Oxmq8gND5
0svkfYEH1gt1rh85naO47Eu17bPlTPe8i+D/L/iVmBK1vvq15MPXuBzXrL0Ingt9
Et1nJc2iZQqeT4V+qKu4E2WFXtkVU7X7r4PjsWeJgsefXJi2VfDBC4vz4nHRC6QA
VQIDAQAB
-----END PUBLIC KEY-----
This diff is collapsed.
Click to expand it.
cert/prod/saas/lkl-apigw-v1.cer
0 → 100644
View file @
1dd7c9e0
-----BEGIN CERTIFICATE-----
MIIEMTCCAxmgAwIBAgIGAXUrc4b4MA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYT
AkNOMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYDVQQHDAdCZWlKaW5nMRcwFQYDVQQK
DA5MYWthbGEgQ28uLEx0ZDEqMCgGA1UEAwwhTGFrYWxhIE9yZ2FuaXphdGlvbiBW
YWxpZGF0aW9uIENBMB4XDTIwMTAxNTA4NDk1MloXDTMwMTAxMzA4NDk1MlowZTEL
MAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcx
FzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMRkwFwYDVQQDDBBBUElHVy5MQUtBTEEu
Q09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwAXZw9lupWcFXouC
Nhm0DQT47Zf4KOIRF8rqT8Ps3pYzT8odROJ8rq4P+lciGrg29czpqrRM22yQktFr
itvcM7JlE6jFbGH3rycnvGvhRYU/j1N9k0ozm8oVwmKX357/OtGzNivBECGSnU9L
Bkp4Nm9M1K4cOwEuZ0xsQEthZjQYF0mDpnlWmVJL5i1Lq834atN2qrb/mzMHBNtD
JnqRV7rPL39lKpe7LJiitsC2JuW1UbWZZU1NNwA/rz2d83C+KD1DLJ0+sMYY2Q3T
OQ4BPAowDEwOH7XAXrHM/0kRm+ZeIFlwevEGIQWmMt1Ogz+AW4Iq0slINc4wOINK
vH9tHwIDAQABo4HVMIHSMIGSBgNVHSMEgYowgYeAFCnH4DkZPR6CZxRn/kIqVsMo
dJHpoWekZTBjMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpSmluZzEQMA4GA1UE
BwwHQmVpSmluZzEXMBUGA1UECgwOTGFrYWxhIENvLixMdGQxFzAVBgNVBAMMDkxh
a2FsYSBSb290IENBggYBaiUALIowHQYDVR0OBBYEFIya0Yc4OSBer55JLyA0AYe9
m8mTMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA
A4IBAQCBEwOlk3mXigNv94Drn3dcaY2ml/y+8yNpAIuUhuBE00WFoqEX5lOatFy5
fzdXuC12lBVQ8SjSm3aH7k2X0eXqDzkOHiur2ZBRKmJ++J4TeenuSUOjSIbQK/DT
vxaqFUjYwFSVCyizpy7wfU4wKt+jOuFb9LyULJ9lkM1dV9Kh7Lmd9+nlJYYuPEPU
LJkkVZqSALSiiJudXnTwlISjZTXEAkJpdIlMw+hvPTAkoG95B95M+OV/uLbItGK+
qT4+RHWo8EbBDPQYo6J4QYHOxRlfMoGBMyrz6XDt7ELLmT7ld4aE02w6KQPfK3gq
kLDT+/STozvaNmXzBJh7J6KqxJBH
-----END CERTIFICATE-----
\ No newline at end of file
This diff is collapsed.
Click to expand it.
conf/dev/config.yaml
View file @
1dd7c9e0
...
...
@@ -59,8 +59,8 @@ log:
# smscontent: '【谛宝医生】登录验证码为:%s'
# 支付
payurl
:
domainname
:
'
http://tpay-v2.pet-dbc.cn:14880'
#
payurl:
#
domainname: 'http://tpay-v2.pet-dbc.cn:14880'
# checkorder: 'https://tpay.pet-dbc.cn/v1/pay/unified_order'
# orderstate: 'https://tpay.pet-dbc.cn/v1/pay/order_state/'
...
...
@@ -71,7 +71,7 @@ lakala:
appid
:
'
OP00000003'
serial_no
:
'
00dfba8194c41b84cf'
#1.聚合收银台(微信H5、支付宝H5)
#1.聚合收银台(微信H5、支付宝H5
、快捷支付(银行卡)
)
merchant_no1
:
'
8222900701107M5'
term_no1
:
'
'
#2.聚合收银台(微信扫码、支付宝扫码)
...
...
@@ -82,10 +82,27 @@ lakala:
term_no3
:
'
D0027598'
sub_appid3
:
'
wxc3e4d1682da3053c'
user_id3
:
'
oLvoQ5deygCMj2WrDjPVPvV1L1t8'
#4.
扫码枪
#4.
聚合被扫(扫码枪)
merchant_no4
:
'
822290070111135'
#结算商户号
term_no4
:
'
29034705'
#结算终端号
#配置项
#谛宝多多自营
dbc_path_private_key
:
'
./cert/dev/OP00000003_private_key.pem'
#私钥
dbc_path_cert
:
'
./cert/dev/lkl-apigw-v2.cer'
#证书
#必康自营
bk_path_private_key
:
'
./cert/dev/OP00000003_private_key.pem'
#私钥
bk_path_cert
:
'
./cert/dev/lkl-apigw-v2.cer'
#证书
#SAAS
saas_path_private_key
:
'
./cert/dev/OP00000003_private_key.pem'
#私钥
saas_path_cert
:
'
./cert/dev/lkl-apigw-v2.cer'
#证书
#拉卡拉接口地址
url_create
:
'
https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create'
#聚合收银台(微信H5、支付宝H5、微信扫码、支付宝扫码)
url_preorder
:
'
https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder'
#聚合主扫(微信JSAPI、微信小程序)
url_micropay
:
'
https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay'
#聚合被扫(扫码枪)
url_refund
:
'
https://test.wsmsd.cn/sit/api/v3/labs/relation/refund'
#聚合扫码-退款交易
# gateway
#gateway:
# url: 'http://saas.pet-dbc.cn'
...
...
This diff is collapsed.
Click to expand it.
conf/prod/config.yaml
View file @
1dd7c9e0
# 服务
server
:
runMode
:
'
release'
#runMode: 'release'
runMode
:
'
debug'
httpport
:
14880
readtimeout
:
60
writetimeout
:
60
...
...
@@ -16,7 +17,8 @@ database:
type
:
'
mysql'
#crmdb: "root_shop:DBC_shopqwe@tcp(rm-2zenl1z0v6209a4jrbo.mysql.rds.aliyuncs.com:3306)/dbc_crm_manage?charset=utf8"
# shopdb: "root_shop:DBC_shopqwe@tcp(rm-2zenl1z0v6209a4jrbo.mysql.rds.aliyuncs.com:3306)/dbc_shop?charset=utf8"
systemdb
:
"
system_pay:Pay_123456@tcp(rm-2zenl1z0v6209a4jrbo.mysql.rds.aliyuncs.com:3306)/sys_pay?charset=utf8"
# systemdb: "system_pay:Pay_123456@tcp(rm-2zenl1z0v6209a4jrbo.mysql.rds.aliyuncs.com:3306)/sys_pay?charset=utf8"
systemdb
:
"
root:abc123456@tcp(39.96.85.45:3307)/sys_pay?charset=utf8"
# accountdb: 'dbc_saas:dbc_saas888888@tcp(rm-2zepcf8kag0aol0q48o.mysql.rds.aliyuncs.com:3306)/hos_database?charset=utf8'
# userdb: 'root_dbc:dbc_root888888@tcp(rm-2ze8jnj44l6ta299pro.mysql.rds.aliyuncs.com:3306)/mysql?charset=utf8'
# seconddb: 'root_dbc:dbc_root888888@tcp(rm-2ze095l91j14r251wno.mysql.rds.aliyuncs.com:3306)/mysql?charset=utf8'
...
...
@@ -60,17 +62,28 @@ sms:
smscontent
:
'
【谛宝多多】登录验证码为:%s'
# 支付
payurl
:
domainname
:
'
http://tpay-v2.pet-dbc.cn:14880'
#
payurl:
#
domainname: 'http://tpay-v2.pet-dbc.cn:14880'
# checkorder: 'https://pay.pet-dbc.cn/v1/pay/unified_order'
# orderstate: 'https://pay.pet-dbc.cn/v1/pay/order_state/'
# 拉卡拉支付
lakala
:
#通用
version
:
'
3.0'
appid
:
'
OP00000003'
serial_no
:
'
00dfba8194c41b84cf'
version
:
'
1.0'
# appid: 'OP00000836' #SAAS
# appid名称: '机构-羿律必康(天津)网络科技有限公司'
# serial_no: '0188b7d3d751'
# serial_no: '1686711293777'
appid
:
'
OP00000859'
#谛宝多多自营
appid名称
:
'
商户-谛宝诚网络科技(北京)有限公司'
serial_no
:
'
1689571622248'
# appid: '' #必康自营
# appid名称: ''
# serial_no: ''
#1.聚合收银台(微信H5、支付宝H5)
merchant_no1
:
'
8222900701107M5'
...
...
@@ -83,10 +96,27 @@ lakala:
term_no3
:
'
D0027598'
sub_appid3
:
'
wxc3e4d1682da3053c'
user_id3
:
'
oLvoQ5deygCMj2WrDjPVPvV1L1t8'
#4.
扫码枪
#4.
聚合被扫(扫码枪)
merchant_no4
:
'
822290070111135'
#结算商户号
term_no4
:
'
29034705'
#结算终端号
#配置项
#谛宝多多自营
dbc_path_private_key
:
'
./cert/prod/dbc/api_private_key.pem'
#私钥
dbc_path_cert
:
'
./cert/prod/dbc/lkl-apigw-v1.cer'
#证书
#必康自营
bk_path_private_key
:
'
./cert/prod/bk/api_private_key.pem'
#私钥
bk_path_cert
:
'
./cert/prod/bk/lkl-apigw-v1.cer'
#证书
#SAAS
saas_path_private_key
:
'
./cert/prod/saas/api_private_key.pem'
#私钥
saas_path_cert
:
'
./cert/prod/saas/lkl-apigw-v1.cer'
#证书
#拉卡拉接口地址
url_create
:
'
https://s2.lakala.com/api/v3/ccss/counter/order/create'
#聚合收银台(微信H5、支付宝H5、微信扫码、支付宝扫码)
url_preorder
:
'
https://s2.lakala.com/api/v3/labs/trans/preorder'
#聚合主扫(微信JSAPI、微信小程序)
url_micropay
:
'
https://s2.lakala.com/api/v3/labs/trans/micropay'
#聚合被扫(扫码枪)
url_refund
:
'
https://s2.lakala.com/api/v3/labs/relation/refund'
#聚合扫码-退款交易
# gateway
#gateway:
# url: 'http://saas.pet-dbc.cn'
...
...
This diff is collapsed.
Click to expand it.
controller/api/v1/pay/notice.go
View file @
1dd7c9e0
...
...
@@ -125,7 +125,8 @@ fmt.Println(data)
fmt
.
Println
(
"signature="
+
signature
)
// 1、读取公钥文件,获取公钥字节
publicKey
,
err
:=
ioutil
.
ReadFile
(
"../cert/lkl-apigw-v2.cer"
)
//path_cert := setting.Conf.Lakala.BkPathCert
publicKey
,
err
:=
ioutil
.
ReadFile
(
"./cert/dev/lkl-apigw-v2.cer"
)
if
err
!=
nil
{
return
false
,
err
}
...
...
This diff is collapsed.
Click to expand it.
models/pay.go
View file @
1dd7c9e0
...
...
@@ -2,15 +2,15 @@ package models
//支付
type
PlaceAnOrderParamInput
struct
{
PlatformType
uint8
`json:"platform_type" description:"平台类型 1:
saas 2: shop 3: shop mobile 4: 收银台
"`
PlatformType
uint8
`json:"platform_type" description:"平台类型 1:
saas 2:shop 3:shop mobile 4:收银台 6:bk_shop 7:bk_shop_mobile
"`
PlatformInfo
string
`json:"platform_info" description:"平台信息"`
GoodsDes
string
`json:"goods_des" description:"商品描述"`
GoodsDetail
string
`json:"goods_detail" description:"商品详情"`
AttachInfo
string
`json:"attach_info" description:"附加信息"`
GoodsPrice
float64
`json:"goods_price" description:"商品金额,个位为分"`
NoticeURL
string
`json:"notice_url" description:"客户端回调的url"`
PayType
int
`json:"pay_type" description:"
1: 微信,2: 支付宝, 3: 拉卡拉 4:
收钱吧"`
SourceCode
uint8
`json:"source_code" description:"
1: 微信 Native 2:微信小程序 3:微信内支付 4:h5 跳微信 5:支付宝(web)-扫码或登录支付宝账户 6:alipay(mobile) 7:alipay(app) 9: B2C 10:bk支付宝web 11:bk 支付宝手机 15:快捷支付(银行卡)"
"`
PayType
int
`json:"pay_type" description:"
支付渠道 1:微信 2:支付宝 3:拉卡拉 4:
收钱吧"`
SourceCode
uint8
`json:"source_code" description:"
支付方式 1:微信Native 2:微信小程序 3:微信内支付 4:h5 跳微信 5:支付宝(web)-扫码或登录支付宝账户 6:alipay(mobile) 7:alipay(app) 9:B2C 10:bk支付宝web 11:bk 支付宝手机 15:快捷支付(银行卡)
"`
OpenID
string
`json:"open_id" description:"此参数 支付类型是 JS API 的时候 必传"`
WapURL
string
`json:"wap_url" description:"WAP网站URL地址, 支付方式为微信MWEB时 必传"`
WapName
string
`json:"wap_name" description:"WAP网站名称, 支付方式为微信MWEB时 必传"`
...
...
This diff is collapsed.
Click to expand it.
repository/pay/pay.go
View file @
1dd7c9e0
...
...
@@ -20,15 +20,22 @@ import (
"system_pay/models"
"system_pay/mysql"
"system_pay/setting"
"system_pay/utils"
"time"
)
// 拉卡拉支付
func
UnifiedOrder
(
input
*
models
.
PlaceAnOrderParamInput
,
ip
string
)
(
interface
{},
error
)
{
//输入项check
if
input
.
SourceCode
==
0
{
return
nil
,
errors
.
New
(
"输入项「source_code」为空错误"
)
}
if
input
.
PlatformType
==
0
{
return
nil
,
errors
.
New
(
"输入项「platform_type」为空错误"
)
}
//if input.SourceCode<0 || input.SourceCode>6 {
// return errors.New("输入参数「source_code」错误"), "", nil
//}
fmt
.
Println
(
"谛宝多多输入参数"
)
fmt
.
Println
(
input
)
...
...
@@ -84,13 +91,13 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{},
data
[
"version"
]
=
version
data
[
"out_org_code"
]
=
out_org_code
//source_code 1: 微信 Native 2:微信小程序 3:微信内支付 4:h5 跳微信
//5:支付宝(web)-扫码或登录支付宝账户 6:alipay(mobile) 7:alipay(app)
//9: B2C 10:bk支付宝web 11:bk 支付宝手机 15:快捷支付(银行卡)
if
input
.
SourceCode
==
4
||
input
.
SourceCode
==
6
||
input
.
SourceCode
==
1
||
input
.
SourceCode
==
5
||
input
.
SourceCode
==
15
{
//聚合收银台(微信H5、支付宝H5、微信扫码、支付宝扫码)
url
=
"https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create"
//聚合收银台
//url = "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //聚合收银台
url
=
setting
.
Conf
.
Lakala
.
UrlCreate
//聚合收银台
//input.ReturnURL = "https://test.pet-dbc.cn"
...
...
@@ -118,14 +125,16 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{},
//data2["out_trade_no"] = input.AttachInfo
//data2["out_order_no"] = input.AttachInfo
if
input
.
SourceCode
<
5
{
if
input
.
SourceCode
==
15
{
//快捷支付
data2
[
"counter_param"
]
=
"{
\"
pay_mode
\"
:
\"
QUICK_PAY
\"
}"
}
else
if
input
.
SourceCode
<
5
{
//微信
data2
[
"counter_param"
]
=
"{
\"
pay_mode
\"
:
\"
WECHAT
\"
}"
}
else
{
//支付宝
data2
[
"counter_param"
]
=
"{
\"
pay_mode
\"
:
\"
ALIPAY
\"
}"
}
data2
[
"counter_param"
]
=
"{
\"
pay_mode
\"
:
\"
QUICK_PAY
\"
}"
//快捷支付
data2
[
"order_efficient_time"
]
=
date_time2
//订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
data2
[
"notify_url"
]
=
input
.
NoticeURL
//订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
...
...
@@ -139,7 +148,8 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{},
}
else
if
input
.
SourceCode
==
2
||
input
.
SourceCode
==
3
{
//聚合主扫(微信JSAPI、微信小程序)
url
=
"https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder"
//聚合主扫
//url = "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫
url
=
setting
.
Conf
.
Lakala
.
UrlPreorder
//聚合主扫
//input.ReturnURL = "https://test.pet-dbc.cn"
...
...
@@ -193,12 +203,13 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{},
data
[
"req_data"
]
=
data2
}
else
if
input
.
SourceCode
==
9
{
//
扫码枪
//
聚合被扫(扫码枪)
if
input
.
DynamicID
==
""
{
return
nil
,
errors
.
New
(
"输入项「dynamic_id」为空错误"
)
}
url
=
"https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay"
//聚合被扫
//url = "https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay" //聚合被扫
url
=
setting
.
Conf
.
Lakala
.
UrlMicropay
//聚合被扫
data2
:=
make
(
map
[
string
]
interface
{})
data2
[
"merchant_no"
]
=
merchant_no4
...
...
@@ -223,7 +234,7 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{},
data
[
"req_data"
]
=
data2
}
else
{
return
nil
,
errors
.
New
(
"输入参数「source_code」错误,有效值为[1-6,9]"
)
return
nil
,
errors
.
New
(
"输入参数「source_code」错误,有效值为[1-6,9
,15
]"
)
}
//数据重组 - end
fmt
.
Println
(
"拉卡拉输入参数"
)
...
...
@@ -245,7 +256,7 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{},
}
//调拉卡拉接口
err
,
response
,
lakala_rtn
:=
lakala_post
(
input
.
SourceCode
,
url
,
data_json
)
err
,
response
,
lakala_rtn
:=
lakala_post
(
input
,
url
,
data_json
)
if
err
!=
nil
{
InsertPayBillDetailResponseBody
(
tx
,
billID
,
err
)
//todo
return
nil
,
err
...
...
@@ -268,12 +279,18 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{},
return
response
,
nil
}
func
lakala_post
(
source_code
uint8
,
url
string
,
data_json
[]
byte
)
(
error
,
interface
{},
interface
{})
{
if
source_code
<
0
||
source_code
>
6
{
return
errors
.
New
(
"输入参数「source_code」错误"
),
""
,
nil
func
lakala_post
(
input
*
models
.
PlaceAnOrderParamInput
,
url
string
,
data_json
[]
byte
)
(
error
,
interface
{},
interface
{})
{
var
source_code
,
platform_type
uint8
if
input
==
nil
{
source_code
=
0
//支付方式
platform_type
=
0
//平台类型
}
else
{
source_code
=
input
.
SourceCode
//支付方式
platform_type
=
input
.
PlatformType
//平台类型
}
authorization
,
err
:=
getAuthorization
(
string
(
data_json
))
authorization
,
err
:=
getAuthorization
(
platform_type
,
string
(
data_json
))
if
err
!=
nil
{
return
err
,
""
,
nil
}
...
...
@@ -314,8 +331,8 @@ func lakala_post(source_code uint8, url string, data_json []byte) (error, interf
if
temp2
[
"counter_url"
]
==
""
{
return
errors
.
New
(
"拉卡拉返回值「counter_url」为空错误"
),
""
,
temp
}
if
source_code
==
4
||
source_code
==
6
{
//微信H5、支付宝H5
if
source_code
==
4
||
source_code
==
6
||
source_code
==
15
{
//微信H5、支付宝H5
、快捷支付(银行卡)
response
[
"m_web_url"
]
=
temp2
[
"counter_url"
]
.
(
string
)
}
else
{
//微信扫码、支付宝扫码
...
...
@@ -343,83 +360,62 @@ func lakala_post(source_code uint8, url string, data_json []byte) (error, interf
return
nil
,
response
,
temp
}
func
getAuthorization
(
body
string
)
(
string
,
error
)
{
//appid := "OP00000003"
//mchSerialNo := "00dfba8194c41b84cf"
//nonceStr = gopay.GetRandomString(32)
////nonceStr := strconv.Itoa(rand.Intn(32)) // 构造随机数
//nonceStr := "12345678901234567890123456789012" // 构造随机数
////timestamp := strconv.FormatInt(time.Now().Unix(), 10)
//timestamp := "1686808027"
func
getAuthorization
(
platform_type
uint8
,
body
string
)
(
string
,
error
)
{
appid
:=
setting
.
Conf
.
Lakala
.
Appid
mchSerialNo
:=
setting
.
Conf
.
Lakala
.
SerialNo
nonceStr
:=
RandomString
(
32
)
// 构造随机数
timestamp
:=
strconv
.
FormatInt
(
time
.
Now
()
.
Unix
(),
10
)
//String nonceStr = generateNonceStr();
//long timestamp = generateTimestamp();
message
:=
appid
+
"
\n
"
+
mchSerialNo
+
"
\n
"
+
timestamp
+
"
\n
"
+
nonceStr
+
"
\n
"
+
body
+
"
\n
"
;
//fmt.Println(message); return "", errors.New("测试")
//System.out.println("getToken message : " + message);
//PrivateKey merchantPrivateKey = loadPrivateKey(new FileInputStream(new File(merchantPrivateKeyPath)));
//String signature = this.sign(message.getBytes(ENCODING), merchantPrivateKey);
//privateRaw := "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDokGGq7SlDoULN\nPULY8lcb2uXJcrFKkJI/lSfPppIkGH4xPfQytZXRlonpXqgOvovflJT5VhRvoLe2\ninJ/59kRF59KTerbCG5sG2IHhR/qCUGHervnZuPwgrjOOlnB19VCCUKY1tcplkZa\nKIksUU3TVh09GB3lUngkuOeO15ihcFHMIknOiSpL+Q04+qQf0g++9CxdQUtNY5za\nZ2Jdvch/4yFstR59qQu73ZCCYHFqXaVakyfOC3xOQkRB58jPOUvIab9zwo2hPukT\n+6qkqfokqMhX979HhNshPAJEEUXp4szk0QtP+2n8hq8t3Dws+GY8ElAFvmeGHx5j\nWzPYAcXvAgMBAAECggEBALIsu8caf/zCdc2MW8SelkJPCLG330DDVmjEO4YJlfl1\nkmjjkE2xdSDn9q0GyjbRoZQf36rPWkTTmyyNEYAQ/urrcCybWY2J/h9xMz+TrIm/\noabMT13QJF5FqJTHe7DZTReUxKMYJixEZ433dHCxsbByT2BZM75X2pg32aBEaTl0\nv9OfIMwfaJ5fSBmleJv4q/Lfd232/oOPzyr+EHfsMpTwOrgzQwPNoah1GvH+jBhz\ngoafi36vT8HVjJ+ZjOreH+Z2zVas683Le62rQaN/51jHS5vQGd2+z3qrI3kvu8KK\nWu0kIDQwCKtSFUT00MiKSaklE9JHf8rCNm3+en4kjfECgYEA/0Z2QaP4sOUt1+cZ\nIOprsMkJOl2sLTTDx3MseD2BxUukLDT8P3HTWLtBN9AkGlL6XD8WSs1k9YlGCqf2\ny9qC43Bgwsky8CH1ACk5K4PuWidGUQiqW4Oll/ris2vjagE+QfMHFFa7IalV5FvI\nv9L01jMqSL4duoM5w/WlLyLu8s0CgYEA6TlppWuxUMbxhEL5jmCZSSvsyhmIOdRk\nt4V9MuxwiRuItzywMo4+O7Hs6tjAxTnV/ROa33qyQtm4Olmd4Oa/TkmAJFX+mUrW\njUohDvm7Js2Y7/eeSRcRQLcgCjncpNe3AJoeVEvrGeaJMERYXnTwboUDKxsRyFFq\nAyuZHfuh86sCgYAm3pjFF+2XKd5YIKUv4OHy8jmIfJjp7T3eUcg0qtDmtMTTwmGi\nW3ed7C1bDUNiCr56a1S+oRW9WWCj4L1wft4tOYBSSIaMD++ZTa2Z1aXmblKDpjki\nZCJDyPzZ6xSeoH/VVOcADtDBqGIeumcP5lRHhVTr7J7kNnUGRJIZYk1WBQKBgQCl\nLAIEI4cKnDrD3uL60LL+vVsPrpFp02AZETMf84+nqpZin1pyE4dDo7kUgbnUdCd2\n+oF+sFi7O5Jb0MgdVY47FZbpJPYQ/o2AtvU+s+K1knozyPyS6wFPAeJxG5WGMTfr\n9zpvnOy+BSU3x8+F5e+5df5OcvdfFTmtUR05vNJvzQKBgHUtziAeWo7H6vxknFcc\nkVv7++a4IWF59eP+rpxlaHOtPTI43PLxJgSHEbw3epEzTUnCL9dpP8n48fuYuwM+\n+vpAujDcaGjGffmxW40E6wuGjOYBNg1zjSfEyjxF2fY+D9WoICSPHnrWB0/BEAZB\naL9Lho8+BUEFergUMjxUdvAS"
//privateRaw := "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx\nrIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M\n8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD\nZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW\ndhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN\nrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1\n5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4\nmE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7\nqCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK\nNXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X\n3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK\nTPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk\n9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH\nSTTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0\nZr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv\nAtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI\nRgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke\nMzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4\n8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP\nscd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi\nbEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn\nLl2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz\nNzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j\nAylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq\nCHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6\nQsFLQgFyXgvDnzr/o+hQJelW"
//privateRaw := "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx\nrIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M\n8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD\nZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW\ndhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN\nrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1\n5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4\nmE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7\nqCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK\nNXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X\n3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK\nTPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk\n9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH\nSTTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0\nZr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv\nAtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI\nRgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke\nMzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4\n8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP\nscd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi\nbEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn\nLl2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz\nNzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j\nAylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq\nCHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6\nQsFLQgFyXgvDnzr/o+hQJelW\n-----END PRIVATE KEY-----";
//privateRaw := "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx\nrIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M\n8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD\nZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW\ndhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN\nrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1\n5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4\nmE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7\nqCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK\nNXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X\n3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK\nTPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk\n9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH\nSTTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0\nZr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv\nAtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI\nRgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke\nMzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4\n8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP\nscd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi\nbEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn\nLl2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz\nNzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j\nAylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq\nCHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6\nQsFLQgFyXgvDnzr/o+hQJelW\n-----END PRIVATE KEY-----"
//测试
privateRaw
:=
"MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx
\n
rIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M
\n
8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD
\n
ZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW
\n
dhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN
\n
rpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1
\n
5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4
\n
mE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7
\n
qCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK
\n
NXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X
\n
3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK
\n
TPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk
\n
9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH
\n
STTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0
\n
Zr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv
\n
AtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI
\n
RgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke
\n
MzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4
\n
8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP
\n
scd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi
\n
bEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn
\n
Ll2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz
\n
NzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j
\n
Aylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq
\n
CHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6
\n
QsFLQgFyXgvDnzr/o+hQJelW"
//
privateRaw := "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx\nrIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M\n8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD\nZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW\ndhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN\nrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1\n5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4\nmE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7\nqCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK\nNXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X\n3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK\nTPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk\n9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH\nSTTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0\nZr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv\nAtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI\nRgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke\nMzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4\n8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP\nscd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi\nbEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn\nLl2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz\nNzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j\nAylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq\nCHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6\nQsFLQgFyXgvDnzr/o+hQJelW"
//线上
//privateRaw := "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCrBLPTvXAWDc4I\nM3Loqc267lycWpFNkL3fW6yCNPtZ0TwNx/0bGyVXxegmSIEPJ8smBeJJdvVw5AN9\nTaFf7L8gV5n2PG+1IGxkou18dQJ+jw0X0ezt6AMWFIM+L5eWMnFx7MaSeuq3TwEi\nnEeT5toCGrgu3cDouOB3GGc1hpMXmLL5lkkWrZpVff2uRqWAyqCidrNXU9ghLo7G\naryA0PnSy+R9gQfWC3WuHzmdo7jsS7Xts+VM97yL4P8v+JWYErW++rXkw9e4HNes\nvQieC30S3WclzaJlCp5PhX6oq7gTZYVe2RVTtfuvg+OxZ4mCx59cmLZV8MELi/Pi\ncdELpABVAgMBAAECggEAAQExEUBepTKFkFTFCwrcU4nM73o0ulDsXKCMPeOTym5J\nPQd8vCkHqiFWgMsSPwWL0vhb4PSa8oPUZWsMVKTuZoE9PU4TlevP1zOB06ZYUmgC\nuq4YBznCsuGB996NtGstcW7jp76jHFqRdiOW5A6KH1MK2/Ofi35yiyCQkqbsvEm9\n3+oNwcbLSexDiU45tiwRDy7m2siikZpaxb4SV5JMtO27zXKFQGlVAtb52kHTMwvT\nNqrg2wIohhs2pHbImJMhDrVukFuW3UL1F2CIbpgZG36Lpy3oxCHtCNm6mggpy4Pe\n+rgPW3ZPGoTZaiaqbEeem+hG/w9UylKZZV2B+AhFQQKBgQDwnx9eDUryMi58a5AG\nkA5vwtCqYaX4veIjTFm5b70n0vw0h11Sn/YPryx8jc0bb+acekNTUmXjbRZzpGmn\nMFiP77v+zxfakqwSEEDgsJBHU+HZ3m6p/ejEMX/mQOdDUrwqm6Y7UmMMDsz4b9BZ\n7o0etiHgPKPvni6+D3LWImDwxQKBgQC18shCQYnYM5EHMunPN12dwcCbdFsvr9Eo\nQPxXwDGOsGQliOAVrA3NnIvg0DgOnEuov9ieBd1L+mT6I4uRE3aRowislecFOYHT\nWj3HbXYWw94yXZrZyb9UnS6FSAG+xjP/RiooHs2Sprrz5nDnIylJxnTn0+3U+2a0\n2bWddhGqUQKBgD0Ow7DkAp6OqUkdKkDgESm+76AsgycpV9bJKwNpHUCbwy+5Ia8z\ntAaq1skMWn2Z2ZTfWXItOHmLVuUlVUH9fJuZo8S23EC0c0FqKmxZoWLYIDlevgoY\nyhXu0Zul4Iku11ygfoATGdsXbl+kT+RiKiEe6l2yRY8qPoYv+V3o/1xZAoGATbxM\nkwItQpHFhK3b9wxQkvYUtFYiH12envQk29jhU3VJVEAGfTvlKdOYb5SGXreoG5Db\nm6glxDBWtAg7uN/36IEfU5039qN7NDF585pwuYk1hY84eZQYiq4dEhSRqlBEJuxz\nVnDSo7VYapwp4JbFLR/9Eo8ZLcW7O8lILt4i7gECgYAubzT3SDYf5BlxQzzdVHhd\nXY43f6SHCOsdE/7voyJCiQKwcJefkYJD/puvf1bHsfb5gsH4nyou0djKt4SM1SpE\nSVdmIKIjKGFNiqFSbCEKI6s6UTfa4bIhx8ZbqjM6YWVmZFGzF00CP8qYZJgpA4Rr\nX593bU9XLvgypO98+uFcDA=="
signature
,
err
:=
Sha256WithRsa
(
privateRaw
,
message
)
if
err
!=
nil
{
return
signature
,
err
}
//
signature, err := Sha256WithRsa(privateRaw, message)
//
if err != nil {
//
return signature, err
//
}
//fmt.Println(777)
//fmt.Println(signature)
//fmt.Println("签名1:", signature)
//pwd, err := os.Getwd()
//if err != nil {
// return "", err
//}
//fmt.Println("pwd="+pwd)
//
//base64Sig, err := utils.RSASign([]byte(message), "/cert/OP00000003_private_key.pem")
//base64Sig, err := utils.RSASign([]byte(message), "./cert/demo/api_private_key.pem")
//prvKey := "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDokGGq7SlDoULN\nPULY8lcb2uXJcrFKkJI/lSfPppIkGH4xPfQytZXRlonpXqgOvovflJT5VhRvoLe2\ninJ/59kRF59KTerbCG5sG2IHhR/qCUGHervnZuPwgrjOOlnB19VCCUKY1tcplkZa\nKIksUU3TVh09GB3lUngkuOeO15ihcFHMIknOiSpL+Q04+qQf0g++9CxdQUtNY5za\nZ2Jdvch/4yFstR59qQu73ZCCYHFqXaVakyfOC3xOQkRB58jPOUvIab9zwo2hPukT\n+6qkqfokqMhX979HhNshPAJEEUXp4szk0QtP+2n8hq8t3Dws+GY8ElAFvmeGHx5j\nWzPYAcXvAgMBAAECggEBALIsu8caf/zCdc2MW8SelkJPCLG330DDVmjEO4YJlfl1\nkmjjkE2xdSDn9q0GyjbRoZQf36rPWkTTmyyNEYAQ/urrcCybWY2J/h9xMz+TrIm/\noabMT13QJF5FqJTHe7DZTReUxKMYJixEZ433dHCxsbByT2BZM75X2pg32aBEaTl0\nv9OfIMwfaJ5fSBmleJv4q/Lfd232/oOPzyr+EHfsMpTwOrgzQwPNoah1GvH+jBhz\ngoafi36vT8HVjJ+ZjOreH+Z2zVas683Le62rQaN/51jHS5vQGd2+z3qrI3kvu8KK\nWu0kIDQwCKtSFUT00MiKSaklE9JHf8rCNm3+en4kjfECgYEA/0Z2QaP4sOUt1+cZ\nIOprsMkJOl2sLTTDx3MseD2BxUukLDT8P3HTWLtBN9AkGlL6XD8WSs1k9YlGCqf2\ny9qC43Bgwsky8CH1ACk5K4PuWidGUQiqW4Oll/ris2vjagE+QfMHFFa7IalV5FvI\nv9L01jMqSL4duoM5w/WlLyLu8s0CgYEA6TlppWuxUMbxhEL5jmCZSSvsyhmIOdRk\nt4V9MuxwiRuItzywMo4+O7Hs6tjAxTnV/ROa33qyQtm4Olmd4Oa/TkmAJFX+mUrW\njUohDvm7Js2Y7/eeSRcRQLcgCjncpNe3AJoeVEvrGeaJMERYXnTwboUDKxsRyFFq\nAyuZHfuh86sCgYAm3pjFF+2XKd5YIKUv4OHy8jmIfJjp7T3eUcg0qtDmtMTTwmGi\nW3ed7C1bDUNiCr56a1S+oRW9WWCj4L1wft4tOYBSSIaMD++ZTa2Z1aXmblKDpjki\nZCJDyPzZ6xSeoH/VVOcADtDBqGIeumcP5lRHhVTr7J7kNnUGRJIZYk1WBQKBgQCl\nLAIEI4cKnDrD3uL60LL+vVsPrpFp02AZETMf84+nqpZin1pyE4dDo7kUgbnUdCd2\n+oF+sFi7O5Jb0MgdVY47FZbpJPYQ/o2AtvU+s+K1knozyPyS6wFPAeJxG5WGMTfr\n9zpvnOy+BSU3x8+F5e+5df5OcvdfFTmtUR05vNJvzQKBgHUtziAeWo7H6vxknFcc\nkVv7++a4IWF59eP+rpxlaHOtPTI43PLxJgSHEbw3epEzTUnCL9dpP8n48fuYuwM+\n+vpAujDcaGjGffmxW40E6wuGjOYBNg1zjSfEyjxF2fY+D9WoICSPHnrWB0/BEAZB\naL9Lho8+BUEFergUMjxUdvAS"
//base64Sig, err := utils.RsaSignWithSha1Hex(message, prvKey)
//if err != nil {
// return "", err
//}
// 谛宝多多自营
//dbc_path_private_key := setting.Conf.Lakala.DbcPathPrivateKey
//dbc_path_cert := setting.Conf.Lakala.DbcPathCert
//// 必康自营
//bk_path_private_key := setting.Conf.Lakala.BkPathPrivateKey
//bk_path_cert := setting.Conf.Lakala.BkPathCert
//// SAAS
//saas_path_private_key: './cert/prod/saas/api_private_key.pem' #私钥
//saas_path_cert: './cert/prod/saas/lkl-apigw-v1.cer' #证书
var
path_private_key
string
//私钥文件地址
//平台类型 1:saas 2:shop 3:shop mobile 4:收银台 6:bk_shop 7:bk_shop_mobile
if
platform_type
==
2
||
platform_type
==
3
{
// 谛宝多多自营
path_private_key
=
setting
.
Conf
.
Lakala
.
DbcPathPrivateKey
}
else
if
platform_type
==
6
||
platform_type
==
7
{
// 必康自营
path_private_key
=
setting
.
Conf
.
Lakala
.
BkPathPrivateKey
}
else
{
// SAAS
path_private_key
=
setting
.
Conf
.
Lakala
.
SaasPathPrivateKey
}
//todo 退款时,证书???
//return "", errors.New("输入项「平台类型(platform_type)」数据错误")
//fmt.Println("签名2:", base64Sig)
//signature := base64Sig
//err = utils.RSAVerify([]byte(message), signature, "./cert/OP00000003_cert.cer")
//err = utils.RSAVerify([]byte(message), signature, "./cert/OP00000003_private_key.pem")
//err = utils.RSAVerify([]byte(message), signature, "./cert/demo/lkl-apigw-v3.cer")
//pubKey := "MIIEMTCCAxmgAwIBAgIGAXRTgcMnMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYT\nAkNOMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYDVQQHDAdCZWlKaW5nMRcwFQYDVQQK\nDA5MYWthbGEgQ28uLEx0ZDEqMCgGA1UEAwwhTGFrYWxhIE9yZ2FuaXphdGlvbiBW\nYWxpZGF0aW9uIENBMB4XDTIwMTAxMDA1MjQxNFoXDTMwMTAwODA1MjQxNFowZTEL\nMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcx\nFzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMRkwFwYDVQQDDBBBUElHVy5MQUtBTEEu\nQ09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt1zHL54HiI8d2sLJ\nlwoQji3/ln0nsvfZ/XVpOjuB+1YR6/0LdxEDMC/hxI6iH2Rm5MjwWz3dmN/6BZeI\ngwGeTOWJUZFARo8UduKrlhC6gWMRpAiiGC8wA8stikc5gYB+UeFVZi/aJ0WN0cpP\nJYCvPBhxhMvhVDnd4hNohnR1L7k0ypuWg0YwGjC25FaNAEFBYP9EYUyCJjE//9Z7\nsMzHR9SJYCqqo6r9bOH9G6sWKuEp+osuAh+kJIxJMHfipw7w3tEcWG0hce9u/el4\ncYJtg8/PPMVoccKmeCzMvarr7jdKP4lenJbtwlgyfs+JgNu60KMUJH8RS72wC9NY\nuFz09wIDAQABo4HVMIHSMIGSBgNVHSMEgYowgYeAFCnH4DkZPR6CZxRn/kIqVsMo\ndJHpoWekZTBjMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpSmluZzEQMA4GA1UE\nBwwHQmVpSmluZzEXMBUGA1UECgwOTGFrYWxhIENvLixMdGQxFzAVBgNVBAMMDkxh\na2FsYSBSb290IENBggYBaiUALIowHQYDVR0OBBYEFJ2Kx9YZfmWpkKFnC33C0r5D\nK3rFMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA\nA4IBAQBZoeU0XyH9O0LGF9R+JyGwfU/O5amoB97VeM+5n9v2z8OCiIJ8eXVGKN9L\ntl9QkpTEanYwK30KkpHcJP1xfVkhPi/cCMgfTWQ5eKYC7Zm16zk7n4CP6IIgZIqm\nTVGsIGKk8RzWseyWPB3lfqMDR52V1tdA1S8lJ7a2Xnpt5M2jkDXoArl3SVSwCb4D\nAmThYhak48M++fUJNYII9JBGRdRGbfJ2GSFdPXgesUL2CwlReQwbW4GZkYGOg9LK\nCNPK6XShlNdvgPv0CCR08KCYRwC3HZ0y1F0NjaKzYdGNPrvOq9lA495ONZCvzYDo\ngmsu/kd6eqxTs/JwdaIYr4sCMg8Z"
//err = utils.RsaVerySignWithSha1Base64(message, signature, pubKey)
//rtn, err := utils.VerifyDerCert([]byte(message), "./cert/lkl-apigw-v2.cer")
//if err == nil {
// fmt.Println("验证签名成功!")
// return "", errors.New("验证签名成功!")x
//} else {
// fmt.Println("验证签名失败!")
// return "", err
//}
//fmt.Println(rtn)
//return "", errors.New("wangpei签名测试中。。。。。")
//base64Sig, err := utils.RSASign([]byte(message), "./cert/dev/OP00000003_private_key.pem")
base64Sig
,
err
:=
utils
.
RSASign
([]
byte
(
message
),
path_private_key
)
if
err
!=
nil
{
return
""
,
err
}
//fmt.Println("签名2:", base64Sig)
signature
:=
base64Sig
authorization
:=
"LKLAPI-SHA256withRSA "
+
"appid=
\"
"
+
appid
+
"
\"
,"
+
"serial_no=
\"
"
+
mchSerialNo
+
"
\"
,"
+
"timestamp=
\"
"
+
timestamp
+
"
\"
,"
+
"nonce_str=
\"
"
+
nonceStr
+
"
\"
,"
+
"signature=
\"
"
+
signature
+
"
\"
"
;
//System.out.println("authorization message :" + authorization);
...
...
@@ -493,15 +489,15 @@ func GetNoticeURL(sourceCode uint8) string {
//domainName := beego.AppConfig.String("DomainName")
domainName
:=
setting
.
Conf
.
PayUrl
.
DomainName
//domainName = "http://tpay-v2.pet-dbc.cn:14880";
return
domainName
+
"/api/v1/pay/wx_notice"
// <= 5 是微信
if
sourceCode
<
5
{
return
domainName
+
"/api/v1/pay/wx_notice"
}
return
domainName
+
"/api/v1/pay/wx_notice"
//目前微信、支付宝调同一个地址
// > 5 是支付宝
return
domainName
+
"/api/v1/pay/alipay_notice"
//// <= 5 是微信
//if sourceCode < 5 {
// return domainName + "/api/v1/pay/wx_notice"
//}
//
//// > 5 是支付宝
//return domainName + "/api/v1/pay/alipay_notice"
//
//if isServe == 0 {
// // payType 1: 原生 2: paymax
...
...
@@ -722,7 +718,8 @@ func UnifiedRefund(input *models.RefundParamInput, ip string) (interface{}, erro
var
url
string
data
:=
make
(
map
[
string
]
interface
{})
url
=
"https://test.wsmsd.cn/sit/api/v3/labs/relation/refund"
//扫码-退款交易
//url = "https://test.wsmsd.cn/sit/api/v3/labs/relation/refund" //聚合扫码(退款交易)
url
=
setting
.
Conf
.
Lakala
.
UrlRefund
//聚合扫码(退款交易)
data
[
"req_time"
]
=
date_time1
data
[
"version"
]
=
version
...
...
@@ -733,12 +730,12 @@ func UnifiedRefund(input *models.RefundParamInput, ip string) (interface{}, erro
//source_code 1: 微信 Native 2:微信小程序 3:微信内支付 4:h5 跳微信
//5:支付宝(web)-扫码或登录支付宝账户 6:alipay(mobile) 7:alipay(app)
//9: B2C 10:bk支付宝web 11:bk 支付宝手机
if
source_code
==
4
||
source_code
==
6
||
source_code
==
1
||
source_code
==
5
{
if
source_code
==
4
||
source_code
==
6
||
source_code
==
1
||
source_code
==
5
||
source_code
==
15
{
//聚合收银台(微信H5、支付宝H5、微信扫码、支付宝扫码)
//data2["merchant_no"] = "8221210701101SB"
//data2["merchant_no"] = "8222900581201QB"
if
source_code
==
4
||
source_code
==
6
{
data2
[
"merchant_no"
]
=
merchant_no1
//微信H5、支付宝H5
if
source_code
==
4
||
source_code
==
6
||
source_code
==
15
{
data2
[
"merchant_no"
]
=
merchant_no1
//微信H5、支付宝H5
、快捷支付(银行卡)
}
else
{
data2
[
"merchant_no"
]
=
merchant_no2
//微信扫码、支付宝扫码
}
...
...
@@ -808,7 +805,7 @@ func UnifiedRefund(input *models.RefundParamInput, ip string) (interface{}, erro
}
//调拉卡拉接口
err
,
_
,
lakala_rtn
:=
lakala_post
(
0
,
url
,
data_json
)
err
,
_
,
lakala_rtn
:=
lakala_post
(
nil
,
url
,
data_json
)
if
err
!=
nil
{
InsertPayBillDetailResponseBody
(
tx
,
billID
,
lakala_rtn
)
return
nil
,
err
...
...
This diff is collapsed.
Click to expand it.
setting/setting.go
View file @
1dd7c9e0
...
...
@@ -138,6 +138,21 @@ type Lakala struct {
// 4.扫码枪
MerchantNo4
string
`mapstructure:"merchant_no4"`
TermNo4
string
`mapstructure:"term_no4"`
// 配置项
// 谛宝多多自营
DbcPathPrivateKey
string
`mapstructure:"dbc_path_private_key"`
//私钥
DbcPathCert
string
`mapstructure:"dbc_path_cert"`
//证书
// 必康自营
BkPathPrivateKey
string
`mapstructure:"bk_path_private_key"`
//私钥
BkPathCert
string
`mapstructure:"bk_path_cert"`
//证书
// SAAS
SaasPathPrivateKey
string
`mapstructure:"saas_path_private_key"`
//私钥
SaasPathCert
string
`mapstructure:"saas_path_cert"`
//证书
// 拉卡拉接口地址
UrlCreate
string
`mapstructure:"url_create"`
//聚合收银台(微信H5、支付宝H5、微信扫码、支付宝扫码)
UrlPreorder
string
`mapstructure:"url_preorder"`
//聚合主扫(微信JSAPI、微信小程序)
UrlMicropay
string
`mapstructure:"url_micropay"`
//聚合被扫(扫码枪)
UrlRefund
string
`mapstructure:"url_refund"`
//聚合扫码-退款交易
}
type
UploadImage
struct
{
...
...
@@ -170,7 +185,7 @@ type Esign struct {
// Init 支持热修改的viper设置
func
Init
()
error
{
viper
.
SetConfigFile
(
"conf/
dev/
config.yaml"
)
// 指定配置文件路径
viper
.
SetConfigFile
(
"conf/config.yaml"
)
// 指定配置文件路径
err
:=
viper
.
ReadInConfig
()
// 读取配置信息
if
err
!=
nil
{
// 读取配置信息失败
fmt
.
Printf
(
"viper.ReadInConfig failed, new_error:%v
\n
"
,
err
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment