农商行服务端sdk接入
diff --git a/payapi/build.gradle b/payapi/build.gradle
index de710ba..cdb07b4 100644
--- a/payapi/build.gradle
+++ b/payapi/build.gradle
@@ -115,7 +115,7 @@
// implementation files('libs/ojdbc6.jar')
implementation 'commons-dbcp:commons-dbcp:1.4'
implementation 'commons-beanutils:commons-beanutils:1.9.3'
- implementation files('libs/ynrcc-mbp-1.1-RELEASE.jar')
+ implementation files('libs/ynrcc-mbp-1.1.0-RELEASE.jar')
implementation 'log4j:log4j:1.2.17'
implementation 'com.alibaba:fastjson:1.2.60'
diff --git a/payapi/libs/ynrcc-mbp-1.1-RELEASE.jar b/payapi/libs/ynrcc-mbp-1.1-RELEASE.jar
deleted file mode 100644
index 34da472..0000000
--- a/payapi/libs/ynrcc-mbp-1.1-RELEASE.jar
+++ /dev/null
Binary files differ
diff --git a/payapi/libs/ynrcc-mbp-1.1.0-RELEASE.jar b/payapi/libs/ynrcc-mbp-1.1.0-RELEASE.jar
new file mode 100644
index 0000000..0aee6ef
--- /dev/null
+++ b/payapi/libs/ynrcc-mbp-1.1.0-RELEASE.jar
Binary files differ
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt
index 3c1c7e7..c1e037b 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt
@@ -42,7 +42,7 @@
override fun doAnalysisSignature(shopaccno: String, plain: String, signature: String): Map<String, String> {
val config = sourceTypeService.getConsumePaytypeConfig(TradeDict.PAYTYPE_YNRCC_PAY, shopaccno, false, true)
- val data = YNRCCFastGateWayPayApi.verify(signature, plain) //调SDK验证签名
+ val data = YNRCCFastGateWayPayApi.verify(signature, plain) /* 调SDK验证签名 */
val merId = config[YnrccPayUtil.MER_ID]
if (!merId.isNullOrEmpty() && merId != data["Mer_Id"]) {
throw TransactionProcessException(TradeErrorCode.BUSINESS_DEAL_ERROR, "参数[Mer_Id]不匹配!")
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt
index da4e581..61e590b 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt
@@ -60,9 +60,9 @@
}
override fun applyUserYnrccPaySign(param: YnrccPaySignApplyParam): YnrccPaySignApplyResponse {
- val person = personDao.findByUserid(param.userid)
+ val person = personDao.findByUserid(param.userid?.trim())
?: throw TransactionProcessException(TradeErrorCode.ACCOUNT_NOT_EXISTS, "用户<${param.userid}>不存在")
- val shopacc = shopaccDao.findByShopaccno(param.shopaccno)
+ val shopacc = shopaccDao.findByShopaccno(param.shopaccno?.trim())
?: throw TransactionProcessException(TradeErrorCode.SHOP_NOT_EXISTS, "商户<${param.shopaccno}>不存在")
val bankCard = cardDao.findCardByCardnoAndCardtype(param.bankcardno.trim(), ConstantUtil.CARDTYPE_BANKCARD)
if (null != bankCard && person.userid != bankCard.userid) {
@@ -77,7 +77,7 @@
val isAuthSign = ynrccPaySignDao.countByBankcardnoAndSignStatus(param.bankcardno, shopacc.shopaccno) > 0
var userSign = ynrccPaySignDao.getUserSign(param.bankcardno, shopacc.shopaccno) ?: TYnrccPaySign().apply {
this.bankcardno = param.bankcardno.trim()
- this.bankcardno = shopacc.shopaccno
+ this.shopaccno = shopacc.shopaccno
this.userid = person.userid
this.status = TradeDict.STATUS_NORMAL
this.isSignFlag = false
@@ -238,10 +238,10 @@
throw TransactionProcessException(TradeErrorCode.BUSINESS_DEAL_ERROR, "支付金额与流水交易金额不匹配!")
}
- val agentCode = YnrccPayUtil.errcode.firstOrNull{
+ val agentCode = YnrccPayUtil.errcode.firstOrNull {
it.second.code == respCode
- }?: org.springframework.data.util.Pair.of(AgentCode.COMMON_ERROR,
- YnrccRespCode(respCode, "未知错误[$respCode]"))
+ } ?: org.springframework.data.util.Pair.of(AgentCode.COMMON_ERROR,
+ YnrccRespCode(respCode, "未知错误[$respCode]"))
return AgentResponse<DtlStatus>().also {
it.code = agentCode.first
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt
index a55845f..6429383 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt
@@ -1,8 +1,13 @@
package com.supwisdom.dlpay.framework.controller
+import com.google.gson.Gson
import com.jcabi.manifests.Manifests
+import com.supwisdom.dlpay.agent.service.YnrccNetPayService
import com.supwisdom.dlpay.api.bean.ApiVersionResponse
import com.supwisdom.dlpay.framework.ResponseBodyBuilder
+import com.supwisdom.dlpay.framework.util.DateUtil
+import com.supwisdom.dlpay.framework.util.RandomUtils
+import org.springframework.beans.factory.annotation.Autowired
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
@@ -12,6 +17,9 @@
@RestController
@RequestMapping("/api/common")
class AboutController {
+ @Autowired
+ private lateinit var ynrccNetPayService: YnrccNetPayService
+
@GetMapping("/version")
fun version(): ResponseEntity<Any> {
return try {
@@ -24,4 +32,31 @@
.success(ApiVersionResponse("unknown")))
}
}
+
+ @GetMapping("/resttest")
+ fun test(): ResponseEntity<Any> {
+ return try {
+ val shopaccno="2000000013"
+ val transDateTime = DateUtil.getNow("yyyyMMddHHmmss")
+ val refno = transDateTime + RandomUtils.randomNumber(6)
+ val amount = 1
+ val productInfo = "农商行快捷支付测试"
+ val extData = refno
+ val custname = ""
+ val email=""
+ val customerSignNo="12345678"
+
+ val resp = ynrccNetPayService.doApplyYnrccPaySign(shopaccno)
+
+// val resp = ynrccNetPayService.doYnrccPayInit(shopaccno,refno,amount,transDateTime,
+// productInfo,extData,custname,email,customerSignNo);
+
+ ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success(Gson().toJson(resp)))
+ } catch (e: Exception) {
+ e.printStackTrace()
+ ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success(e.message ?: "error!"))
+ }
+ }
}
\ No newline at end of file