微信小店发货接口怎么写?
微信小店发货接口怎么写?
运营微信小店的小伙伴注意了,下面小编来为大家介绍一下微信小店发货接口怎么写。
微信支付提供了一个支付测试页面,微信支付正式使用需要测通支付、发货通知接口 、告警接口、维权接口。告警接口、维权接口非常简单。支付界面调通也相对简单,主要是发货通知接口稍微复杂一点。调通发货通知接口需要注意以下几点:
(1) 微信支付文档中提到发货通知接口的PostData,这个其实不是一个form里的一项,其实 PostData的提法有点误导,理解为json串就可以了。
(2)以下的写法是错误的:
也不要写成:
其实在支付成功的回调方法中,只需要写一行代码:
jQuery.post(url,tmpData); //其中url: "https://api.weixin.qq.com/pay/delivernotify?access_token=生成的token" ,tmpData是一个json串。
tmpData的构成:
var tmpData = "{";
tmpData += '"appid":"",';
tmpData += '"openid":"oN6N9tzhHOMg6qA6DySr4IgkhdI8",';
tmpData += '"transid":"",';
tmpData += '"out_trade_no":"'+orderNo+'",';
tmpData += '"deliver_timestamp":"'+curTime+'",';
tmpData += '"deliver_status":"1",';
tmpData += '"deliver_msg":"ok",';
tmpData += '"app_signature":"'+sign2+'",';//
tmpData += '"sign_method":"sha1"';
tmpData += "}";
transid和 orderNo 及curTime可自己在页面中生成测试数据,这里主要提到签名,签名的函数:
function getSign2(appId,appKey,openId,transId,outTradeNo,deliver_timestamp)
{
var keyvaluestring = "appid="+appId+"&appkey="+appKey+"&deliver_msg=ok"+"&deliver_status=1"+"&deliver_timestamp="
+deliver_timestamp+"&openid="+openId+"&out_trade_no="+outTradeNo+"&transid="+transId;
var sign2 = CryptoJS.SHA1(keyvaluestring).toString();
return sign2;
}
调试发货接口出现 not same appid with appid of access_token; 问题,一般不是 appId和access_token不匹配的问题,因为大部分开发人员是可以获得正确的access_token,主要原因是(1)可能用form表单带各种参数提交(2)非json格式 (3)把PostData理解为一个form里的隐藏域并赋值json数据
按照本例的代码,可解决发货通知接口问题。当然微信账号的各种商户id、key要配置正确。
以上就是小编为大家整理的关于微信小店发货接口怎么写的内容。
卖贝商城更多商品介绍:淘宝客返利机器人 威海新闻网热销软文营销 北京电视台生活生活大调查广告费用