问题描述:支付签名返回提示appid或者商户错,但是我看了是对的。我之后前端是要用pay()方法调用支付,是不是参数不对,有的不需要
报错截图、相关bug:
返回信息
{"response":{
"code":"40007","msg":"Service Internal Error",
"sub_code":"GW.THIRD_PARTY_ERROR",
"sub_msg":"Gateway call third party err: merchantV2 appId"},
"sign":"y3bRQYPreOC9hxZdkZpCxsKSWaxBbaIxf6kR8hHBHVn4EXcBU12Ym1mMsV17RX3DCBJWAZe8R8LVKWkRByUI4DiE9srmoDWz1ZSBWOeFN3cmqWzlxKf2p9BGfjhgdSbF1Vi2YkqpkBMVvSaE85XCOjaEZxGMELyIGnxm4etLOqM="}
我的签名内容是这样的,里面的支付链接太长了我去掉了一段
<xml>
<app_id>800170374907</app_id>
<biz_content>{
"out_order_no":"515686279201055",
"uid":".PyeAGPVbp3ffE-7",
"merchant_id":"1900017037",
"total_amount":1,
"currency":"CNY",
"subject":"麻雀闪电测试支付",
"body":"测试产品,非土豪勿拍",
"trade_time":"1568627920336",
"valid_time":"3000",
"payment_type":"direct",
"product_code":"pay",
"notify_url":"https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx16175840",
"alipay_url":"alipay_sdk=alipay-sdk-java-3.4.27.ALL&app_id=2018061460417275&biz_content=%7B%",
"wx_url":"https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx1617584026",
"wx_type":"MWEB"
}
</biz_content>
<charset>utf-8</charset>
<method>tp.trade.create</method>
<sign><![CDATA[08CAD00A95D56DB557A8CED861832CC7]]></sign>
<sign_type>MD5</sign_type>
<timestamp>1568627920554</timestamp>
<version>2.0</version>
</xml>
这是小程序里的支付参数
下面的是我的java代码
String url = "https://tp-pay.snssdk.com/gateway";
//头条支付相关
SortedMap<Object, Object> parameters = new TreeMap<Object, Object>();
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("out_order_no", "515686279201055");
jsonObject2.put("uid", ".PyeAGPVbp3ffE-7");
jsonObject2.put("merchant_id", "1900017037");
jsonObject2.put("total_amount",1);
jsonObject2.put("currency", "CNY");
jsonObject2.put("subject", "测试支付");
jsonObject2.put("body", "测试支付订单");
jsonObject2.put("trade_time", “1568627920554”);
jsonObject2.put("valid_time", "3000");
jsonObject2.put("payment_type", "direct");
jsonObject2.put("product_code", "pay");
jsonObject2.put("notify_url", “https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx16175840”);
jsonObject2.put("alipay_url", "alipay_sdk=alipay-sdk-java-3.4.27.ALL&app_id=20180614604172");
jsonObject2.put("wx_url", “https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx1617584026”);
jsonObject2.put("wx_type", "MWEB");
parameters.put("biz_content", jsonObject2.toString());
parameters.put("method", "tp.trade.create");
parameters.put("charset", "utf-8");
parameters.put("version", "2.0");
parameters.put("app_id", "800170374907");
parameters.put("sign_type", "MD5");
parameters.put("timestamp",“1568627920554”);
//生成sign 第三个参数是商户secret
String sign = PayCommonUtil.createSign("UTF-8", parameters,"jcz1u0dr762d61meqhmsktw73frpi0n80202n2cw");
parameters.put("sign", sign);
//转换成XML
String requestXML = PayCommonUtil.getRequestXml(parameters);
System.out.println(requestXML);
log.info("xcx"+requestXML);
String result = CommonUtil.httpsRequest(url, "POST", requestXML);
appid什么都是对的呀,有大佬知道吗