HarmonyOS 鸿蒙Next后台对接华为支付下单无响应

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next后台对接华为支付下单无响应

使用的是华为提供的java sdk库。

<dependency>

<groupId>com.huawei.petalpay</groupId>

<artifactId>pay-java</artifactId>

<version>1.0.0.295</version>

</dependency>

PreOrderCreateResponse preOrderRsp = petalPayClient.execute(“POST”, “/api/v2/aggr/preorder/create/app”, PreOrderCreateResponse.class, preOrderReq);

跟踪一些调用信息主要是 com.huawei.petalpay.paymentservice.core.client.PetalPayClient:getPayMercAuthHeader(), com.huawei.petalpay.paymentservice.core.client.PetalPayClient:doPost。

慢的地方不再网络请求,在一些随机数生成部分慢

---ts=2024-09-19 10:18:37;thread_name=http-nio-8982-exec-15;id=49;is_daemon=true;priority=5;TCCL=org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedWebappClassLoader[@11805646](/user/11805646)</p> <p>—[1755187.002809ms] com.huawei.petalpay.paymentservice.core.client.PetalPayClient:execute()

±–[0.00% 0.019085ms ] com.huawei.petalpay.paymentservice.core.config.RequestConfig:<init>() #159

---[100.00% 1755186.890694ms ] com.huawei.petalpay.paymentservice.core.client.PetalPayClient:execute() #159</p> <p>—[100.00% 1755186.858543ms ] com.huawei.petalpay.paymentservice.core.client.PetalPayClient:execute()

±–[0.00% 0.033012ms ] org.apache.http.client.utils.URIBuilder:<init>() #113

±–[0.00% 0.013367ms ] com.huawei.petalpay.paymentservice.core.config.PetalPayConfig:getCallerId() #114

±–[0.00% 0.012952ms ] org.apache.http.client.utils.URIBuilder:addParameter() #113

±–[0.00% 0.007061ms ] org.apache.http.client.utils.URIBuilder:addParameter() #115

±–[0.00% 0.128187ms ] org.apache.http.client.utils.URIBuilder:build() #117

±–[0.00% 0.016017ms ] java.net.URI:toString() #118

±–[0.00% 0.008103ms ] java.lang.StringBuilder:<init>() #119

±–[0.00% 0.009741ms ] com.huawei.petalpay.paymentservice.core.config.PetalPayConfig:getDomainHost() #119

±–[0.00% min=0.00471ms,max=0.014482ms,total=0.019192ms,count=2] java.lang.StringBuilder:append() #119

±–[0.00% 0.008514ms ] java.lang.StringBuilder:toString() #119

±–[0.00% 0.12998ms ] com.huawei.petalpay.paymentservice.core.tools.JsonUtils:obj2Json() #120

±–[0.00% 0.016483ms ] java.lang.String:equals() #121

±–[0.00% 0.009536ms ] com.huawei.petalpay.paymentservice.core.config.RequestConfig:isStringToSignNeedSort() #123

±–[0.00% 0.035935ms ] com.huawei.petalpay.paymentservice.core.tools.SignStringUtil:signString() #123

±–[0.00% 0.008292ms ] java.util.HashMap:<init>() #124

±–[87.72% 1539579.806775ms ] com.huawei.petalpay.paymentservice.core.client.PetalPayClient:getPayMercAuthHeader() #125

±–[0.00% 0.006918ms ] java.util.Map:put() #125

±–[0.00% 0.003262ms ] java.util.Map:put() #126

±–[0.00% 0.003149ms ] java.lang.String:equalsIgnoreCase() #130

±–[0.00% 0.002698ms ] java.lang.String:equalsIgnoreCase() #132

±–[12.28% 215606.063886ms ] com.huawei.petalpay.paymentservice.core.client.PetalPayClient:doPost() #133

±–[0.00% 0.003592ms ] com.huawei.petalpay.paymentservice.core.config.RequestConfig:isNeedVerifyRsp() #137

---[0.00% 0.1604ms ] com.huawei.petalpay.paymentservice.core.tools.JsonUtils:json2Obj() #144</p> <p></p> <p>—ts=2024-09-19 10:49:31;thread_name=http-nio-8982-exec-25;id=59;is_daemon=true;priority=5;TCCL=org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedWebappClassLoader@11805646

---[758074.538865ms] com.huawei.petalpay.paymentservice.core.client.PetalPayClient:getPayMercAuthHeader()</p> <p>+---[0.00% 0.016666ms ] java.lang.System:currentTimeMillis() #72</p> <p>+---[0.00% 0.003033ms ] com.huawei.petalpay.paymentservice.core.client.PayMercAuth:&lt;init&gt;() #73</p> <p>+---[0.00% 0.002825ms ] com.huawei.petalpay.paymentservice.core.config.PetalPayConfig:getAuthId() #74</p> <p>+---[0.00% 0.00355ms ] com.huawei.petalpay.paymentservice.core.client.PayMercAuth:setAuthId() #74</p> <p>+---[0.00% 0.002396ms ] com.huawei.petalpay.paymentservice.core.config.PetalPayConfig:getCallerId() #75</p> <p>+---[0.00% 0.001704ms ] com.huawei.petalpay.paymentservice.core.client.PayMercAuth:setCallerId() #75</p> <p>+---[0.00% 0.002226ms ] com.huawei.petalpay.paymentservice.core.client.PayMercAuth:setTime() #76</p> <p>+---[0.00% 0.001972ms ] com.huawei.petalpay.paymentservice.core.config.RequestConfig:getTraceId() #77</p> <p>+---[0.00% 0.002088ms ] org.apache.commons.lang3.StringUtils:isEmpty() #77</p> <p>+---[99.99% 758004.140033ms ] com.huawei.petalpay.paymentservice.core.tools.KeyGenUtils:getTraceId() #78</p> <p>+---[0.00% 0.004259ms ] com.huawei.petalpay.paymentservice.core.client.PayMercAuth:setTraceId() #80</p> <p>+---[0.00% 34.812067ms ] com.huawei.petalpay.paymentservice.core.sign.Signer:sign() #82</p> <p>+---[0.00% 0.003635ms ] com.huawei.petalpay.paymentservice.core.client.PayMercAuth:setBodySign() #82</p> <p>+---[0.00% 0.002135ms ] com.huawei.petalpay.paymentservice.core.config.RequestConfig:getSessionKey() #85</p> <p>+---[0.00% 0.00646ms ] org.apache.commons.lang3.StringUtils:isNoneEmpty() #85</p> <p>+---[0.00% 0.029773ms ] com.huawei.petalpay.paymentservice.core.tools.SignStringUtil:signString() #93</p> <p>+---[0.00% 35.239263ms ] com.huawei.petalpay.paymentservice.core.sign.Signer:sign() #94</p> <p>+---[0.00% 0.004352ms ] com.huawei.petalpay.paymentservice.core.client.PayMercAuth:setHeaderSign() #94</p> <p>—[0.00% 0.107414ms ] com.huawei.petalpay.paymentservice.core.tools.JsonUtils:obj2Json() #95

---ts=2024-09-19 11:03:18;thread_name=http-nio-8982-exec-10;id=44;is_daemon=true;priority=5;TCCL=org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedWebappClassLoader[@11805646](/user/11805646)</p> <p>—[722410.620679ms] com.huawei.petalpay.paymentservice.core.tools.KeyGenUtils:getTraceId()

±–[0.00% 0.289585ms ] java.security.SecureRandom:getInstanceStrong() #47

±–[100.00% 722409.939222ms ] java.security.SecureRandom:nextDouble() #48

±–[0.00% 0.014986ms ] java.lang.StringBuilder:<init>() #53

±–[0.00% 0.013334ms ] java.util.Date:<init>() #53

±–[0.00% 0.129635ms ] org.apache.commons.lang3.time.DateFormatUtils:format() #53

±–[0.00% min=0.005336ms,max=0.020523ms,total=0.025859ms,count=2] java.lang.StringBuilder:append() #53

---[0.00% 0.004875ms ] java.lang.StringBuilder:toString() #53</p> <p></p> <p>—ts=2024-09-19 11:34:01;thread_name=http-nio-8982-exec-8;id=42;is_daemon=true;priority=5;TCCL=org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedWebappClassLoader@11805646

---[526639.53991ms] com.lebocloud.sso.service.impl.HuaweiPetalPayClient:doPost()</p> <p>+---[0.00% 0.004177ms ] java.lang.System:currentTimeMillis() #26</p> <p>+---[100.00% 526639.281178ms ] com.huawei.petalpay.paymentservice.core.client.DefaultPetalPayClient:doPost() #27</p> <p>| &nbsp;—[100.00% 526639.249634ms ] com.huawei.petalpay.paymentservice.core.client.DefaultPetalPayClient:doPost()

|       ±–[99.96% 526409.921544ms ] com.huawei.petalpay.paymentservice.core.client.DefaultPetalPayClient:buildHttpClientWithEnforceTlsVersion() #52

|       ±–[0.00% 0.016668ms ] org.apache.http.client.methods.HttpPost:<init>() #53

|       ±–[0.00% 0.00295ms ] java.nio.charset.Charset:forName() #54

|       ±–[0.00% 0.018506ms ] org.apache.http.entity.StringEntity:<init>() #54

|       ±–[0.00% 0.002325ms ] org.apache.http.client.methods.HttpPost:setEntity() #55

|       ±–[0.00% 0.001878ms ] java.util.Map:keySet() #56

|       ±–[0.00% 0.002884ms ] java.util.Set:size() #56

|       ±–[0.00% 0.001863ms ] java.util.Map:keySet() #57

|       ±–[0.00% 0.002382ms ] java.util.Set:iterator() #57

|       ±–[0.00% min=0.001108ms,max=0.00272ms,total=0.005206ms,count=3] java.util.Iterator:hasNext() #57

|       ±–[0.00% min=0.001202ms,max=0.002524ms,total=0.003726ms,count=2] java.util.Iterator:next() #57

|       ±–[0.00% min=0.00121ms,max=0.002727ms,total=0.003937ms,count=2] java


更多关于HarmonyOS 鸿蒙Next后台对接华为支付下单无响应的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
linux服务器熵值不足了,可以通过haveged服务补充熵值,和服务器有关

更多关于HarmonyOS 鸿蒙Next后台对接华为支付下单无响应的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next后台对接华为支付下单无响应的问题,以下是一些可能的解决方案:

  1. 检查接口配置: 确认后台系统已正确配置华为支付的接口参数,包括API密钥、商户号、应用ID等,确保所有参数与华为支付平台提供的一致。

  2. 验证网络请求: 使用开发者工具(如Postman)模拟请求,检查请求参数、请求头及请求体是否符合华为支付的要求。同时,确认服务器能够正常访问华为支付的服务器地址。

  3. 查看日志信息: 检查后台系统日志及华为支付回调日志,分析是否有异常信息或错误代码,这些信息通常能帮助定位问题。

  4. 确认支付状态: 登录华为支付商户平台,查看订单状态及支付流水,确认订单是否已成功提交至华为支付系统,以及支付结果是否已返回。

  5. 更新SDK版本: 确保使用的华为支付SDK为最新版本,旧版本的SDK可能存在已知问题或不支持新功能。

  6. 联系技术支持: 如果以上步骤均无法解决问题,可能是系统或平台层面的故障。此时,建议直接联系华为支付的技术支持团队,提供详细的错误信息和日志,以便快速定位并解决问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部