用前端组件收款,后端要先调哪个接口?
先由你的后端创建一个会话,拿到sessionId 交给前端的 Element SDK:
四个接口都是带签名的服务端接口,签名和请求头与其他 API 相同,不要从浏览器直接调用。是否能在你的账户上使用,请先和 Waffo 技术支持确认。
会话的请求体要传什么?
- 支付会话:请求体和
/api/v1/order/create相同。 - 订阅会话:请求体和
/api/v1/subscription/create相同,金额按首个计费周期报价。
创建会话时订单或订阅已经生成了吗?
没有。创建会话只做报价和准备,不创建订单,订阅会话也不创建订阅。用户在页面上完成支付后才会产生订单或订阅,之后的状态以支付结果通知和订单查询(或订阅查询)为准。会话多久过期?
响应只有两个字段:
过期后不能再用这个
sessionId,需要重新创建会话。用户可能在页面上停留较久时,在前端判断 expiresAt,临近过期时重新创建。
用户改了数量或币种,要重新创建会话吗?
不用。调用对应的 update 接口:请求体和创建会话相同,另加原来的sessionId。
- 支付会话 update 用于改价、换币种或刷新报价。
- 订阅会话 update 用于更换套餐、金额或计费周期,或刷新报价。
- update 后
sessionId和过期时间都不变,金额按新的请求重新计算。update 不会延长会话有效期。
和 Tokenization 的 tokenSessionId 有什么区别?
两者用途不同,不能混用:
只绑卡的流程见Tokenization 与卡支付 FAQ。