新增支付宝连接沙箱模拟支付(暂不可用
This commit was merged in pull request #35.
This commit is contained in:
@@ -48,6 +48,11 @@
|
||||
<artifactId>gym-checkIn</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.novalon.gym.manage</groupId>
|
||||
<artifactId>gym-payment</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.novalon.gym.manage</groupId>
|
||||
<artifactId>gym-dataCount</artifactId>
|
||||
|
||||
+16
-1
@@ -17,6 +17,7 @@ import cn.novalon.gym.manage.member.handler.MemberHandler;
|
||||
import cn.novalon.gym.manage.member.handler.WechatAuthHandler;
|
||||
import cn.novalon.gym.manage.notify.handler.SysNoticeHandler;
|
||||
import cn.novalon.gym.manage.notify.handler.SysUserMessageHandler;
|
||||
import cn.novalon.gym.manage.payment.handler.PaymentHandler;
|
||||
import cn.novalon.gym.manage.sys.handler.auth.PasswordDiagnosticHandler;
|
||||
import cn.novalon.gym.manage.sys.handler.auth.SysAuthHandler;
|
||||
import cn.novalon.gym.manage.sys.handler.config.SysConfigHandler;
|
||||
@@ -78,7 +79,8 @@ public class SystemRouter {
|
||||
CourseLabelHandler courseLabelHandler,
|
||||
CheckInHandler checkInHandler,
|
||||
DataStatisticsHandler dataStatisticsHandler,
|
||||
PhoneAuthHandler phoneAuthHandler) {
|
||||
PhoneAuthHandler phoneAuthHandler,
|
||||
PaymentHandler paymentHandler) {
|
||||
|
||||
return route()
|
||||
// ========== 诊断路由 ==========
|
||||
@@ -360,6 +362,19 @@ public class SystemRouter {
|
||||
.GET("/api/datacount/history", dataStatisticsHandler::queryHistoricalStatistics)
|
||||
.GET("/api/datacount/export", dataStatisticsHandler::exportStatistics)
|
||||
|
||||
// ========================================
|
||||
// ========== 支付模块路由 =================
|
||||
// ========================================
|
||||
|
||||
// ===== 支付宝App支付 =====
|
||||
.POST("/api/payment/create", paymentHandler::createPayment)
|
||||
.GET("/api/payment/{orderId}", paymentHandler::getPaymentStatus)
|
||||
.POST("/api/payment/{orderId}/refund", paymentHandler::refundPayment)
|
||||
.POST("/api/payment/notify", paymentHandler::alipayNotify)
|
||||
|
||||
// ===== 支付宝扫码支付 =====
|
||||
.POST("/api/payment/qrcode/create", paymentHandler::createQrCodePayment)
|
||||
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,9 @@ spring:
|
||||
cache:
|
||||
type: none
|
||||
r2dbc:
|
||||
url: r2dbc:postgresql://localhost:5432/manage_system
|
||||
username: postgres
|
||||
password: 123456
|
||||
url: r2dbc:postgresql://localhost:55432/manage_system
|
||||
username: novalon
|
||||
password: novalon123
|
||||
pool:
|
||||
initial-size: 5
|
||||
max-size: 20
|
||||
@@ -12,13 +12,13 @@ spring:
|
||||
max-life-time: 30m
|
||||
acquire-timeout: 3s
|
||||
flyway:
|
||||
url: jdbc:postgresql://localhost:5432/manage_system
|
||||
user: postgres
|
||||
password: 123456
|
||||
enabled: false
|
||||
url: jdbc:postgresql://localhost:55432/manage_system
|
||||
user: novalon
|
||||
password: novalon123
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
validate-on-migrate: true
|
||||
validate-on-migrate: false
|
||||
|
||||
|
||||
jwt:
|
||||
|
||||
@@ -19,11 +19,11 @@ spring:
|
||||
password: 123456
|
||||
driver-class-name: org.postgresql.Driver
|
||||
flyway:
|
||||
enabled: false
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
baseline-version: 0
|
||||
validate-on-migrate: true
|
||||
validate-on-migrate: false
|
||||
sql:
|
||||
init:
|
||||
mode: always
|
||||
|
||||
@@ -15,9 +15,9 @@ spring:
|
||||
exclude:
|
||||
- org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration
|
||||
r2dbc:
|
||||
url: r2dbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:manage_system}
|
||||
username: ${DB_USERNAME:postgres}
|
||||
password: ${DB_PASSWORD:123456}
|
||||
url: r2dbc:postgresql://${DB_HOST:localhost}:${DB_PORT:55432}/${DB_NAME:manage_system}
|
||||
username: ${DB_USERNAME:novalon}
|
||||
password: ${DB_PASSWORD:novalon123}
|
||||
pool:
|
||||
initial-size: 10
|
||||
max-size: 50
|
||||
@@ -25,16 +25,16 @@ spring:
|
||||
max-life-time: 1h
|
||||
acquire-timeout: 5s
|
||||
datasource:
|
||||
url: jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:manage_system}
|
||||
username: ${DB_USERNAME:postgres}
|
||||
password: ${DB_PASSWORD:123456}
|
||||
url: jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:55432}/${DB_NAME:manage_system}
|
||||
username: ${DB_USERNAME:novalon}
|
||||
password: ${DB_PASSWORD:novalon123}
|
||||
driver-class-name: org.postgresql.Driver
|
||||
flyway:
|
||||
enabled: false
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
baseline-version: 0
|
||||
validate-on-migrate: true
|
||||
validate-on-migrate: false
|
||||
security:
|
||||
user:
|
||||
name: disabled
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
huifu.private-key=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCNUdQE59I4bV1dIgLs2IRN3Wl8KI2yS4KpTUQWrvvlUcBTztB8rIeN5lr6Yv4VsZ1TG0FAb0D80JjxEQ1+0HizYNOQ1h2935v2r8h7rx3VTLbMOkmsg8Lb8LQRTbPaJOZfsIZMzBytYiRzWunHaMlCr800EA3q5NMj9VjHQuamxKqyzyHqfkIjA/sZ8q9atVjn8ahUjPKdrGA8b79HexHhCgOSLdK+fWw0eMCsWWYP2qECLsvZ+tjfvqSBXx1kg7womwT1VBCf+0Dx+jJPKR3mxQfz2szoucJYuXRo55kA6yCwoeNsjanLDRkPBSy3NHdKrffP6YODhRHG6KHyayyNAgMBAAECggEATIR69TEETVNCEzRgOxe9A2AYRoa6ukhSdhMFA/c5IuCR747yqh7MwtNwfVRuWRazpZUDTr0uhfT4asad9QUx5YZO54RX1EAn9XkWZ4nY8G46J/iDfapWLrp09U2KTVpfdn5hKWH3QRX7wI4AON2O49HGnSL4NjAx9q1YpYOe2bqevxmB4uD9vR/FHMjZ2qWzPaL7pId98x4DCJCiZctBQqb7gxR8EseD1Ddn2HbH5DEUjoxz2umtL+zrcGKDFBy4kM3r+10FP5jFG4fJfZFQwrzMTEkXJriau9DMRTQ83rWHzNvhdTNUuyqah74ez5V1piVEOXCPudzFsMttD2DyzQKBgQDokQH3WtcQqwFTUo+uWVVup4NoQzNZpEGIHK17afRsf9YnkoJVqjhywq1dhQT+yuyW9geJJKWpHQIAS4gGudhNK+j6d//bbvvbkOmtsdWyZ6Z2EmY8JrPkHdHAcadNJX7vrIc1xPeyci4AHhErDHc3hhD5njuSLx3DUp4iODNxKwKBgQCbjyHvP90YGjh49DWklh2NJgR2+OR6Fd0afdmwtGKeCUP5l2To6rfLBbcSRIWCON4iLME5wLLdHcm5wAQukC4dsUB5iZffp21+7hrrwUw/G0MUzFudfhZkjsDU5i+FwnVMqmsLJPUsjJTOfKsJdA2DjnwfMcgxw9FeClGveSFNJwKBgQDCpjuDECDY7oeZeYyQXGzIxKOTbEtaR8Qha/83QCM3fHd9f35evK2qP45iq6bWqnkCkMEV4/pTZNf77zvWhU2oqYvBtxYKTwW1a8BphGJbg60rPZMb3TjLQLoB3B4uz6dCaqBwPH8kd7RQnNm5siFF84vZoLozTAQZKtj3wxorKQKBgQCGKnEONHqwaw0B5T7O8VoTfxKiug/07B6C1sCGk03rF/q0rkquSKK0S/2Vl9u+cOXFe+w7r2OVKjfuKRpyPpBHs7T0HiQLFhBuRVaat2DXnN/CdG8f6rvNhwHxnYanSwx4TxN7zShYf/doEEZEJP/y01ViYkFUCpvtC+FgAo0iSQKBgFrkJGxPo6T7i5ZF7VoZWdARnypfbOl4gF9GMrXykk0fnKBDTof9Bg34a8OX54cf4yEH1ifZzVtNyzPTH9FxV88TksWRouqi1Uo6///kJI6gXROspE91TpNtNGHPgLhebA83WlFtS/H7i5G6RO+6KO0uflSImfy3Owp/ChyFUGmn
|
||||
huifu.public-key=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjVHUBOfSOG1dXSIC7NiETd1pfCiNskuCqU1EFq775VHAU87QfKyHjeZa+mL+FbGdUxtBQG9A/NCY8RENftB4s2DTkNYdvd+b9q/Ie68d1Uy2zDpJrIPC2/C0EU2z2iTmX7CGTMwcrWIkc1rpx2jJQq/NNBAN6uTTI/VYx0LmpsSqss8h6n5CIwP7GfKvWrVY5/GoVIzynaxgPG+/R3sR4QoDki3Svn1sNHjArFlmD9qhAi7L2frY376kgV8dZIO8KJsE9VQQn/tA8foyTykd5sUH89rM6LnCWLl0aOeZAOsgsKHjbI2pyw0ZDwUstzR3Sq33z+mDg4URxuih8mssjQIDAQAB
|
||||
huifu.public-key=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjVHUBOfSOG1dXSIC7NiETd1pfCiNskuCqU1EFq775VHAU87QfKyHjeZa+mL+FbGdUxtBQG9A/NCY8RENftB4s2DTkNYdvd+b9q/Ie68d1Uy2zDpJrIPC2/C0EU2z2iTmX7CGTMwcrWIkc1rpx2jJQq/NNBAN6uTTI/VYx0LmpsSqss8h6n5CIwP7GfKvWrVY5/GoVIzynaxgPG+/R3sR4QoDki3Svn1sNHjArFlmD9qhAi7L2frY376kgV8dZIO8KJsE9VQQn/tA8foyTykd5sUH89rM6LnCWLl0aOeZAOsgsKHjbI2pyw0ZDwUstzR3Sq33z+mDg4URxuih8mssjQIDAQAB
|
||||
|
||||
# 支付宝沙箱配置
|
||||
ALIPAY_APP_PRIVATE_KEY=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCDKDW/bBiA8oclszYZmLIAS/yR4p47UGMR0yfsbrTgXwikHZp3YUhsNn2l8Ks2izgfciSwtxaKThnhYoK3h9toC8s09+641iFSq3yHg/vYuaEXMJzlk3Ilg//GFSXcB8mntAEX+xZE5NVyFmmx21OcoLH0kAwwwc9TgLtw71Ix6H6BgVy9oDozbi/ZlpVUNhODqUt9m/Spq7sdrdK78zW63JsqekszgdzyCdJPgVk7WRl4DWzJElT5eA1RKfiykAlxlohLLksU655nrdvRc9ZastRy+pVLGsOwrEDGyzNt6L+9dzKa/kdYSYVigHL7u7RZoUUDCfqJurLLfDM93/brAgMBAAECggEAS7zrlLfCSqxCuNWNVyijGaLHniLkRtI7824hLtobHzohzku+CFQoMz0gP7QD2sJ4TUhnwZhorsM9FLcDTyJn4+RzmwnVU+1rXsbiaYsg4t0HFlIfOD91+g4IpIVP0Ii6vVooC4YWLQCL9Y7VyDwkQ11Uhiqsr3cr10eOdj/tEh4fdC1/eWPvxFUKbIcMEI7DtBe5Y6jwkQ569kFrYsBjFnMWxftym1C/GvUIIhUP+2QWN5SmEcABlUPV4LbgwmkfSkwIvC4qcSR3+irM1Z4jikGtRPrxwVc3I7BjJZ+aLqLL89FL10X96pAq/NvjMS6lC5cumStEj483VjrEZQbOIQKBgQDRYGg4oCOaHR+cRvosQLYA89thzmFaB+MhKkKV9HWbCO/lM4jLX+nxNwPIeKmg9rfxAUuUnVpaLEgfIlQ6awR4bfu21fuSl40HFNSkJct9yWbT3T9dDov7Y1dFexFO59t+s+8/67wO5PP6FBGbPQu3bRLsAfVCeDm+7Tzv73T1EQKBgQCgXN57dVO0yo9jXZFfp+70Dhth9BonTGOZ+s2Wg9yCp8NmHeQ3fUGvWm0yCGCViw23YpYpfXdiRLm4kHe4oRR8xaWpTzdsq/9R7EmkcJc7GxSGCu/uEAcVquTgMol+lP6a5glQNmuCY4gooGs0ASfoBTX7i1+5kj06URRWnsO8OwKBgQC6u2GYBvJZk1nK1d5uszPfO51P6HEYi2o8/OSvuntczqatYr3ArAUH1Unxc/PNE9zO+5m9rGyVeWLFKae3BhTRlz1kPgmFHtZvF1viHbcTsxibIXpOcxfTFzERTYYNOmme4bkh6AsruXQCd/2P1uzpJUU36TMkmfbeWdT8JDLKEQKBgBJcj9zzAjKhPunRvOOHBwVK2DfPC2+Uf5MR9JhXYNhU/TqkEY2I+gxp/jbMXsLAuUFWOHtnslO+KsXHRO4PA5mFyAIq393Bk+p9c7EwcyCBaUgv2GkZzLXea3aAUt37kWuLC2Xz1TuIyf5c3+mEeF1Iu3Wh78P/yqLyxbFlXGQhAoGBAJ+3Ul8bwNKeTus9HGZkBdFylD93krnvb3AVwQBl8PzoBftPICsayOeTzKeYEza5wRVjw5+1zT/jz/hnCiNMFhxWfQ9/66Do7ae4bIsNm0cqnDFF6aIiCOu3PSDjMCgGGVnMcMSjmO5nIUQw2YHEloIzC8wi1XmxfLJBBcKnly2D
|
||||
ALIPAY_ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjZ/rlsJERPZ+GD6UzMYc6n2Rh8m0QV9Z39Iro6eMfxPaERMlKwhJpgmDWXMcpREmwMyoTCK77nLgNLRdc72XGR58aZFsAAQCs7V0kVtUf+IXtfQNNgY4c4tvtLH8E37vJTFBihZ8/UI+XOuX4xf/o+pfK9o2cqaVSt5E9kOrzv8hwDgG9vqOt2beqgETjeKYUwX2cWcAeu0xKoQW6JmzDje9/c7DAtLipmIDFrWVSzu8BFJqFzArv2u84pyDnuaLrqQ5rz3ktbn0QirbGlL5k/6E3CUB55CCF8+jEzQsjQUGQlTch9Dl7XAJLT8Lh1q2bat7KievEa1mNfzJmG5MDQIDAQAB
|
||||
@@ -35,3 +35,14 @@ payment:
|
||||
query-url: "https://api.huifu.com/v4/trade/payment/query"
|
||||
refund-url: "https://api.huifu.com/v4/trade/refund"
|
||||
notify-url: "http://localhost:8084/api/payment/notify"
|
||||
|
||||
# 支付宝配置(沙箱环境)
|
||||
alipay:
|
||||
app-id: "9021000164699238"
|
||||
app-private-key: ${ALIPAY_APP_PRIVATE_KEY}
|
||||
alipay-public-key: ${ALIPAY_ALIPAY_PUBLIC_KEY}
|
||||
sign-type: "RSA2"
|
||||
charset: "UTF-8"
|
||||
gateway: "https://openapi-sandbox.dl.alipaydev.com/gateway.do"
|
||||
notify-url: "http://localhost:8084/api/payment/notify"
|
||||
sandbox: true
|
||||
|
||||
@@ -9,10 +9,7 @@ spring:
|
||||
max-size: 10
|
||||
|
||||
flyway:
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
validate-on-migrate: true
|
||||
enabled: false
|
||||
|
||||
sql:
|
||||
init:
|
||||
|
||||
Reference in New Issue
Block a user