地址 :https://doc.open.alipay.com/doc2 ... 03663&docType=1
必填的参数 我都填写了
BizOrderInfo order = bizOrderInfoService.get(id);
Map paraMap = new HashMap();
paraMap.put("service", "mobile.securitypay.pay");
paraMap.put("partner", "2088721089488641");
paraMap.put("_input_charset", "utf-8");
paraMap.put("out_trade_no", order.getOrderId());
paraMap.put("subject", "商品名称轮椅");
paraMap.put("payment_type", "1");
paraMap.put("seller_id", "renaikangyi@qq.com");
String pay_type_oder="1";//正常下单1
if(days!= null && delayMoney != null && !"".equals(days) && !"".equals(delayMoney)){
//延时下单
paraMap.put("total_fee", delayMoney);
}else{
pay_type_oder="0";
//非延时下单
paraMap.put("total_fee", order.getGoodsMoney());
}
String notify_url = ChangxingProperties.getConfig("zhifubaoNotifyUrl").toString()+"?pay_type_oder="+pay_type_oder;
paraMap.put("notify_url", notify_url);
paraMap.put("body", "畅行一点通轮椅租用");
String jsonStr = JsonUtil.toJsonStr(paraMap);
String sign = AlipaySignature.rsaSign(jsonStr, ChangxingProperties.getConfig("zhifubaoSiYao").toString(), "utf-8");
sign = java.net.URLEncoder.encode(sign);
paraMap.put("sign", sign);
paraMap.put("sign_type", "RSA");
调用Alipay的payOrder方法 orderInfo:‘sign="VrIskIREZ2zQG2sQ%2FsLPK%2BIbDC1OqCx5Dl2uLKKOmFsG3LS7p5tMbs4leC2C1w8oEdVYejmBIDZ7Z4TJe5ZYES0IoUGgOhJf%2BkzYF%2FNKOlTgJBAU8vQuoeNAhvjd8pMuyT5WbAFibDIKK13e86IrGXLjTb1EIUNi9ggDJ4Kub58%3D"&body="畅行一点通轮椅租用"&_input_charset="utf-8"&total_fee="0.40"&subject="商品名称轮椅"&sign_type="RSA"¬ify_url="http://guyanyong.tunnel.qydev.com/?pay_type_oder=0"&service="mobile.securitypay.pay"&seller_id="renaikangyi@qq.com"&partner="2088721089488641"&out_trade_no="201708281503906782668"&payment_type="1"’
打开支付宝后 提示 创建交易异常,请重新创建再付款
公钥和私钥都验证过了 是匹配的呢 商户也签约通过了支付了
那么问题出在哪里了呢 ? 是签名的问题吗 ? 签名我调用的是sdk里面的签名生成的,其中sign_type不参与生成签名
着急,在线等 。。。