在小程序接入“即时配送”的入口,并成功绑定了配送公司(达达物流)。但在进行测试,调用“预下配送单接口”时,始终返回报错信息:{"errcode":930560,"errmsg":"shopid need bind first hint: [kPOrvA02501485]"}。经查小程序官方文档后,该错误的意思是:930560——未绑定的商户号。但根据错误,查了很久,始终找不到原因,不知如何修整。 我在达达商户平台,按要求,注册了商户、开发者两个账号信息,且开发者账号也绑定了响应的商户。 该商户账号在达达平台也进行了预充值(有余额),可以使用。 查看了文档,在调用小程序“预下单接口”immediateDelivery.preAddOrder时,需要输入的参数都输入了,包括shopid。其中shopid就是开发者账号提供的appkey,我已经这个值输入。 但执行调用接口确,始终报错,报错信息见开头的描述。 再次查看文档等资料,始终找不到原因了,shopid没有错呀,如果是商户未绑定,但我查了,没有看到还有其他的商户绑定方式呀,能否具体点?(补充强调:在达达平台的商户、开发者账号,已经是相互绑定了的。即开发者,已经绑定了改商户,并通过了商户的审核)。 现求助社区平台给予帮忙和答复!
请求参数: shopid:"dadae477900bce2cd0f" 这是核心请求参数。(详细参数我私信给你) 达达商户账号、开发者账号都要吗,包括小程序信息我都私信给你。
然后我经过昨天一天的查询,和测试。 发现了问题所在,但无法解决。 这里跟你简单描述一下,请帮助解决!
首先,小程序提供的查询达达appkey的文档指引,有不准确,小程序的文档指引说:在达达商户登录页面绑定开发者后,可看到appkey(shopid)和appSecret,但实际上这个页面看不到。而只有达达的开发者登录页面后,在开发者页面信息中,有appkey和appSecret。 其次, 我发现小程序有提供“查询绑定的商户列表接口”,我就调用该接口查询,在查询接口中,有返回shopid信息,而这个信息,和我在达达开发者页面上提供的appkey的值,是不同的!!然后我就用这个返回的shopid值做接口调用测试,就没有报原错误了。但有提示新的错误:签名错误。 但这个新错误可以找到原因,因为签名需要根据appSecret来生成。而小程序的查询接口只返回了shopid信息,并没有提供appSecret信息。我就无从生成有效的签名了。 且我如果使用达达开发者页面提供的appSecret也不行,显然,达达开发者页面的appSecret和appKey是配对的,但和小程序接口返回的shopid是不对应的。 问题小结:
1)达达 和 微信小程序侧 提供的 appkey的出处描述不一致(且小程序侧提供的方式,实际看不到。后来通过接口才查询到)。
2)达达 和 微信小程序侧, 所得到的appkey也不同。
3)达达 提供的appkey, 接口测试报错. 小程序侧的不会, 但小程序侧只提供appkey,不提供appSecret, 故也无法继续使用。
请求帮助解决,谢谢,很急!
(公司等待这个的调试结果要上线,现在卡在这)
首先,你上次说的要用AppSecre进行加密设置,我知道。因为测试遇到问题,我都会把文档详细看几遍,解决不了只能不停的看文档咯!:)
我当时倒是还没有去加密这个测试,因为已经提前报错shopid不正确了。如果shopid正确了,下一步,就会提示delivery_sign不对。
另外,我在问题描述中说了,达达开放平台注册后,会提供app_key和app_secret。这里的app_key就是对应的shopid。但是调用接口开始就报错了,说我的shopid不正确,小程序说是么有绑定的,我就奇怪了。达达平台总共就只提供了一个app_key(即shopid),如果这个不正确,我到哪去找正确的呢?然后发现小程序有查询绑定的shopid的接口,我就调用查询,结果查询到的shopid和达达平台提供给我的app_key居然不一样。所以看样子报错时可以理解的了,看样子我应该用小程序接口查询到的shopid对吧!
但小程序接口,是不能查到app_secret的。但是我可以就用达达平台提供的app_secret来进行签名,生成delivery_sign。试试看。
大佬,解决了吗,闪送比达达好使太多了
麻烦提供下帐号以及请求参数,操作时间
请求时间:2019-10-18 03:24:45(用达达开发者账号的的appkey测试)
请求时间:2019-10-18 03:26:04(用小程序接口返回的shopid测试)
今天下午又进行了测试,请求时间如上。