Closed mantoufan closed 2 weeks ago
根据微信小程序发货信息管理服务要求,将在微信小程序录入发货信息与微信支付结算挂钩:
根据《商家自营类小程序运营规范》,特定类型的小程序需要在平台完成发货信息录入及确认收货流程后方可进行资金结算。
实现当商城系统发货时,自动同步发货信息及状态到微信小程序。无需手动登录微信小程序后台填写。
以下场景都发生在微信小程序内:client_type = weixin
client_type = weixin
以下物流公司已测试,可发货,可查询物流轨迹: 1.4 韵达速递 1.5 圆通速递 1.6 中通快递 1.7 极兔速递 1.8 邮政快递包裹 1.9 EMS 1.10 京东快递
其中,顺丰速运,无论提供加星,如131****1234,还是完整手机号,首次查询,都需要二次输入手机尾号:
131****1234
extend/base/Wechat.php
GetMiniDeliveryIdByName
no_match_logistics_company_code
MiniUploadShippingInfo
trade_no
buyer_user
goods_title
**_empty_tips
no_match_logistics_mode
json_encode
JSON_UNESCAPED_UNICODE
Unicode
app/service/OrderService.php
OrderPayHandle
pay_log
OrderDeliveryHandle
AppMiniUserService
Wechat
背景
根据微信小程序发货信息管理服务要求,将在微信小程序录入发货信息与微信支付结算挂钩:
目的
实现当商城系统发货时,自动同步发货信息及状态到微信小程序。无需手动登录微信小程序后台填写。
自测
以下场景都发生在微信小程序内:
client_type = weixin
以下物流公司已测试,可发货,可查询物流轨迹: 1.4 韵达速递 1.5 圆通速递 1.6 中通快递 1.7 极兔速递 1.8 邮政快递包裹 1.9 EMS 1.10 京东快递
其中,顺丰速运,无论提供加星,如
131****1234
,还是完整手机号,首次查询,都需要二次输入手机尾号:修改
extend/base/Wechat.php
GetMiniDeliveryIdByName
实例方法:根据快递公司名称找到其在微信小程序物流中,对应的公司编码。未找到抛出no_match_logistics_company_code
错误。MiniUploadShippingInfo
实例方法:该方法签名中,trade_no
buyer_user
goods_title
为必填项,缺少将抛出相应的不能为空**_empty_tips
错误。当商品处于非以上 3 种模式,如展示模式下,请求接口不报错,但返回no_match_logistics_mode
无匹配的物流模式信息。json_encode
的第二参数JSON_UNESCAPED_UNICODE
,避免中文转为Unicode
编码,修复如图问题: 此处修改可能需要回归其它功能app/service/OrderService.php
OrderPayHandle
方法,若订单为虚拟商品,调用发货时,将trade_no
buyer_user
传入(因为此时pay_log
未写入)OrderDeliveryHandle
方法,对于client_type = weixin
的订单,获取商品名称、物流公司、收件人电话后,经由AppMiniUserService
创建Wechat
实例转译后,调用小程序接口,录入小程序发货信息,通知用户