REST API · 接入指南
员工福利购物 / 企业采购
额度与下单
员工福利与企业采购用的都是企业额度:企业的钱先进企业额度池,管理员再按批次发给员工,员工下单时从自己的额度扣减; 企业也可以配置为由员工自己付现金(支付宝 / 微信 / 对公,见下文)。
接口字段统一叫 points。福利应用的界面通常叫「福豆」,采购应用请叫「企业额度」或「采购额度」——叫法只在你的界面上,接口不区分。
- 1管理员发放额度
以管理员身份(
x-open-user放 owner 或 admin)调POST /v1/enterprise/org/points,用userId指定员工,或action: "grant-all"全员发放。福利类型theme的可选值用GET /v1/enterprise/points/themes查,不要写死。每批额度最长 90 天有效,到期未用完退回企业。 - 2员工结算预览
调
POST /v1/enterprise/checkout/render拿权威价、运费和库存,响应里的points.sufficient告诉你这单额度够不够。 - 3员工下单
调
POST /v1/enterprise/orders,固定带payWith: "auto":扣额度还是让员工付现金由平台按企业配置(见下文)。扣额度与建单在同一个事务里, 不会出现扣了额度却没建单。收货地址传省、市、区名称,用GET /v1/divisions逐级选出省、市、区县和乡镇街道(街道名称放street)——自己写的叫法 (如「杭州」少了「市」、撤并前的旧区名)上游会以321000 地址没有找到拒单。也可以把地址存进地址簿,下单传addressId。
员工付现金(福利与采购都支持)
每单由谁付由平台按与企业的约定配置:全额扣员工额度,或员工在企业购收银台自己付现金(支付宝个人、微信、对公转账)。 福豆与现金按比例混合暂未开放,开放后接入不用改。下单统一带 payWith: "auto",平台按配置处理; 你的 appKey 没开通员工付现金时一律扣额度。
- 结算预览返回
cash就是这单要员工付现金:cash.cent是金额,cash.payTypes是可选的支付方式。 在你的下单页让员工选一种,作为下单的payType传入(要付现金却没传返回PAY_TYPE_REQUIRED)。 可选范围由平台按 appKey 配置;没配时支付宝小程序为支付宝 + 对公,微信小程序为微信 + 对公,网页为全部(电脑上不含微信)。 - 响应里的
launchUrl是付款入口,24 小时有效。把员工带过去付款;对公支付会显示收款账户信息, 员工用企业对公账户转账,到账有延迟。device选电脑或手机(缺省按 appKey 登记的端)。 - 付完平台核实到账、扣额度(如有)、结清订单,再跳回你传的
returnUrl(须 https,且是你登记的回调地址的域名或其子域),并追加bizOrderId与result。没传returnUrl时停在平台的结果页。 - 员工中途关了页面、链接过期:调
POST /v1/enterprise/orders/{bizOrderId}带action: "resume-pay"取新的链接(不会重复收钱);默认沿用发起过的支付方式,传新的payType可以更换。已经付完的会直接结清。 - 订单关闭或售后时,现金由企业购原路退回,额度退回员工。
result 只是提示,是否已付清以订单为准:订单详情的 mixedPay.status 为 confirmed 才算付清(pending 未付、paid 已到账结清中、failed 订单已关),也会收到 order.status 推送。员工付现金要找平台为你的 appKey 开通。
1# 可选的福利类型2 GET /v1/enterprise/points/themes3 4 # 管理员 u-admin 给员工 u-001 发中秋福利(100 = 1 元)5 POST /v1/enterprise/org/points6 x-open-user: u-admin7 { "action": "grant", "userId": "u-001", "amount": 50000,8 "theme": "festival", "name": "中秋福利", "expiresInDays": 60 }