微信支付 商户号虚拟类目的单笔限额3000,重新申请实物类目
微信商戶號(hào)
虛擬類目,單筆限額3000
實(shí)物最高5萬
1.設(shè)置好操作碼,API密鑰
2.產(chǎn)品管理-申請(qǐng)掃碼支付native
掃碼不支持長(zhǎng)按識(shí)別二維碼
3.商戶號(hào)綁定發(fā)起申請(qǐng)
官方審核需要1-3個(gè)工作日
審核通過之后
4.到對(duì)應(yīng)的公眾號(hào)中授權(quán)APPID授權(quán)管理
到165通訊公眾號(hào)去審核確認(rèn)
微信支付--商戶號(hào)管理--待關(guān)聯(lián)商戶號(hào)(服務(wù)商模式)(AppID:wxd8e2cff2bd67f31d)審核通過
已關(guān)聯(lián)商戶號(hào)
登錄公眾號(hào)
微信支付-商戶號(hào)管理
如果不通過審核,否則報(bào)錯(cuò)如下
<xml> <return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[appid和mch_id不匹配]]></return_msg> </xml>
https://shop.jnlxsm.net/WeChatManage/user_order/payment/30?Tel=17179104520&Price=99
調(diào)用掃碼支付接口paymentProcess
1 public ActionResult paymentProcess(int? id)
2 {
3 //return Content("{"code":true,"status":true,"msg":"提交成功!","data":{"appid":"wx288f944166a4bdc6","code_url":"weixin://wxpay/bizpayurl?pr=K9tQFgw","mch_id":"1582948931","nonce_str":"gelx5Eej34TWkYjL","prepay_id":"wx18152655644502b82539bf421260374600","result_code":"SUCCESS","return_code":"SUCCESS","return_msg":null,"sign":"4D19F96F050056C904DBD7371D974905","trade_type":"NATIVE","trade_no":"LX-20200418151928103008","payid":"11","wx_query_href":"http://localhost:4066/WeChatManage/user_order/queryWx/11","wx_query_over":"http://localhost:4066/WeChatManage/user_order/paymentFinish/11"}}");
4 try
5 {
6 OrdersEntity ordersEntity = ordersbll.GetEntity(id);
7
8 var sp_billno = ordersEntity.OrderSn;
9 var nonceStr = TenPayV3Util.GetNoncestr();
10
11 //商品Id,用戶自行定義
12 string productId = ordersEntity.TelphoneID.ToString();
13
14 //創(chuàng)建請(qǐng)求統(tǒng)一訂單接口參數(shù)
15 var xmlDataInfo = new TenPayV3UnifiedorderRequestData(WeixinConfig.AppID2,
16 tenPayV3Info.MchId,
17 "支付靚號(hào)",
18 sp_billno,
19 Convert.ToInt32(ordersEntity.Price * 100),
20 Request.UserHostAddress,
21 tenPayV3Info.TenPayV3Notify,
22 TenPayV3Type.NATIVE,
23 null,
24 tenPayV3Info.Key,
25 nonceStr,
26 productId: productId);
27 //調(diào)用統(tǒng)一訂單接口
28 var result = TenPayV3.Unifiedorder(xmlDataInfo);
29
30 LogHelper.AddLog(result.ResultXml);//記錄日志
31
32 H5Response root = null;
33 if (result.return_code== "SUCCESS")
34 {
35 H5PayData h5PayData = new H5PayData()
36 {
37 appid = WeixinConfig.AppID2,
38 code_url = result.code_url,//weixin://wxpay/bizpayurl?pr=lixpXgt
39 mch_id = WeixinConfig.MchId,
40 nonce_str = result.nonce_str,
41 prepay_id = result.prepay_id,
42 result_code = result.result_code,
43 return_code = result.return_code,
44 return_msg = result.return_msg,
45 sign = result.sign,
46 trade_type = "NATIVE",
47 trade_no = sp_billno,
48 payid = id.ToString(),
49 wx_query_href = Config.GetValue("Domain2") + "/WeChatManage/user_order/queryWx/" + id,
50 wx_query_over = Config.GetValue("Domain2") + "/WeChatManage/user_order/paymentFinish/" + id
51 };
52
53 root = new H5Response { code = true, status = true, msg = "u63d0u4ea4u6210u529fuff01", data = h5PayData };
54 }
55 else
56 {
57 root = new H5Response { code = false, status = false, msg = result.return_msg };
58 }
59 LogHelper.AddLog(JsonConvert.SerializeObject(root));//記錄日志
60
61 return Content(JsonConvert.SerializeObject(root));
62 }
63 catch (Exception ex)
64 {
65 LogHelper.AddLog(ex.Message);//記錄日志
66 throw;
67 }
68 }
發(fā)起:統(tǒng)一接口返回報(bào)文
<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> <appid><![CDATA[wx8992efd4c27f5f68]]></appid> <mch_id><![CDATA[1578423131]]></mch_id> <nonce_str><![CDATA[LUU62TbfGp6H3swj]]></nonce_str> <sign><![CDATA[FD33FC2620BD64626016B3316371DB53]]></sign> <result_code><![CDATA[SUCCESS]]></result_code> <prepay_id><![CDATA[wx25141532666981e880fbd57f1682195600]]></prepay_id> <trade_type><![CDATA[NATIVE]]></trade_type> <code_url><![CDATA[weixin://wxpay/bizpayurl?pr=PwTt4b7]]></code_url> </xml>
商戶號(hào)棄用
<xml> <return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[商戶號(hào)該產(chǎn)品權(quán)限處罰中,請(qǐng)前往商戶平臺(tái)>產(chǎn)品中心檢查后重試]]></return_msg> </xml>
5.支付回調(diào)接口
https://shop.jnlxsm.net/WeChatManage/WeiXinHome/Notify
//微信支付回調(diào)地址
public ActionResult Notify()
{
LogHelper.AddLog("支付回調(diào)地址");//記錄日志
ResponseHandler rspHandler = new ResponseHandler(null);
rspHandler.SetKey(WeixinConfig.Key);
LogHelper.AddLog(rspHandler.ParseXML());//記錄日志
//SUCCESS/FAIL此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí),交易是否成功需要查看result_code來判斷 SUCCESS
string return_code = rspHandler.GetParameter("return_code");
string return_msg = rspHandler.GetParameter("return_msg");
if (rspHandler.IsTenpaySign())
{
if (return_code == "SUCCESS")
{
//訂單號(hào)
string orderSn = rspHandler.GetParameter("out_trade_no");
OrdersEntity order = ordersbll.GetEntityByOrderSn(orderSn);
order.PayDate = DateTime.Now;
order.PayStatus = (int)PayStatus.已支付;
order.Status = (int)OrderStatus.未發(fā)貨;
ordersbll.SaveForm(order.Id, order);
TelphoneLiangEntity tel = tlbll.GetEntityByOrgTel(order.Tel);
if (tel != null)
{
tel.SellMark = 1;
tel.SellerName = "砍價(jià)活動(dòng)出售";
}
tlbll.SaveForm(tel.TelphoneID,tel);
}
}
string xml = string.Format(@"<xml>
<return_code><![CDATA[{0}]]></return_code>
<return_msg><![CDATA[{1}]]></return_msg>
</xml>", return_code, return_msg);
return Content(xml, "text/xml");
}
<?xml version="1.0" encoding="UTF-8"?> <xml> <appid><![CDATA[wx288f944166a4bdc6]]></appid> <bank_type><![CDATA[OTHERS]]></bank_type> <cash_fee>1</cash_fee> <fee_type><![CDATA[CNY]]></fee_type> <is_subscribe><![CDATA[Y]]></is_subscribe> <mch_id><![CDATA[1582948931]]></mch_id> <nonce_str><![CDATA[98BACD18187522A70CBCA35C2562A503]]></nonce_str> <openid><![CDATA[oFY4Qt28aQ6vjUldz9BfvINb2NlM]]></openid> <out_trade_no><![CDATA[LX-20200419203921177452]]></out_trade_no> <result_code><![CDATA[SUCCESS]]></result_code> <return_code><![CDATA[SUCCESS]]></return_code> <sign><![CDATA[2E1D122E06F91E93E8B2705D330241DB]]></sign> <time_end><![CDATA[20200419204028]]></time_end> <total_fee>1</total_fee> <trade_type><![CDATA[NATIVE]]></trade_type> <transaction_id><![CDATA[4200000525202004196668100608]]></transaction_id> </xml>
6.生成二維碼掃碼
"<img src="/WeChatManage/user_index/getPageqr/?pageurl=weixin%3A%2F%2Fwxpay%2Fbizpayurl%3Fpr%3DK9tQFgw" />"
生成二維碼代碼
1 public ActionResult getPageqr(string pageurl)
2 {
3 BitMatrix bitMatrix;
4 bitMatrix = new MultiFormatWriter().encode(pageurl, BarcodeFormat.QR_CODE, 600, 600);
5 BarcodeWriter bw = new BarcodeWriter();
6
7 var ms = new MemoryStream();
8 var bitmap = bw.Write(bitMatrix);
9 bitmap.Save(ms, ImageFormat.Png);
10 //return File(ms, "image/png");
11 ms.WriteTo(Response.OutputStream);
12 Response.ContentType = "image/png";
13 return null;
14 }
其它錯(cuò)誤
當(dāng)前交易異常,暫無法完成支付,請(qǐng)注意合法使用支付賬戶,否則將升級(jí)限制。
個(gè)人的微信限額,跟商家無關(guān),可聯(lián)系騰訊客服解封
前一個(gè)人掃碼支付失敗,換另一個(gè)微信支付會(huì)報(bào)錯(cuò)
總結(jié)
以上是生活随笔為你收集整理的微信支付 商户号虚拟类目的单笔限额3000,重新申请实物类目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 发布网站步骤
- 下一篇: 关于时钟模块DS1302的使用心得