Youloge.Cart 购物车组件
INFO
购物车支付,内嵌地址选择器,邮箱输入,身份证输入,手机号输入;用于复杂场景支付
- Youloge商城,商品元数据(SPU)由官方提供与维护;
- 商户/开发者 维护商品下的套餐与库存(SKU)
Youloge支付交易:货币符号为
#(读作hash /hæʃ/) 货币单位位RGB(全称Red Green Blue即红绿蓝三原色) 货币精度为2位小数,
useCart
- 网页端:调用
useCart函数发起支付请求
- 网页端:调用
- 支付网关:用户获取
支付码-验证支付码-签发 支付签名
- 支付网关:用户获取
- 同步通知:开发者
解密 支付签名->提取网关 方法 参数 签名->请求VIP接口
- 同步通知:开发者
- 同步返回:
支付网关根据同步通知返回结果,反馈给用户支付结果。
- 同步返回:
开始使用
js
let PLUS = youloge.plus();
PLUS.useCart({
selector:'',
// 付款对象
payer:{
uuid:'10002' // 用户UUID
},
// 收款对象
payee:{
type:'goods', // 默认商品类型
uuid:'' // 商品的UUID
},
// 套餐的UUID可多个,至少需要一个
combos:[],
// 本地订单号
local:'no.123456789',
// 附加订单备注 -
attach:'',
// 同步通知接口
notify:'https://www.youloge.com/notify',
}).then(res=>{
// 支付成功
}).catch(err=>{
// 支付失败
});填充参数说明 [combos.[]]
| 参数值 | 描述 | 备注 |
|---|---|---|
| uuid | 套餐UUID | 套餐UUID由商户创建与维护 |
| ... |
处理步骤一:同步通知
用户验证支付码之后:会
同步通知到你的notify地址,你需要在notify地址中验证支付结果
http
POST / HTTP/1.1
Host: {{notify}}
Organization: {{APIKEY}}
Authorization: {{access_token}}
Content-Type: application/json
{
"method": "payment.notify",
"params": {
"uuid":"", // 支付单号
"expire", // 过期实际戳 一般10秒 请及时消费
"signature":"*************" // 真实支付内容
}
}处理步骤二:解密签名(signature)注意此时尚未完成支付*
解密签名后得到的
JSON字符串格式数据
js
{
"uuid": "",
"local": "",
"attach": "",
"payer": {
"uuid": "",
},
"payee": {
"type":"goods",
"uuid": "",
},
"combos":[
{
"uuid":"122",
"amount":"12.00", // 单价*
"bounty":"0.01", // 赏金*
"quantity":"2" // 数量
}
],
"money": {
"symbol": "RGB",
"amount": "52.00", // 最终金额
"bounty":"0.25" // 最终赏金
},
"routed": "wallet",
"method": "verify",
"params": {
"payment": "fQC1Wj0tcoa24UnA8g8ubI6Xj79wLsz3CjH******"
},
"access_token": "ju4hAxg57fL+MZXf2zNw+KrrlL3b*******",
"expire": 1696702044
}- 你的服务端对
signature进行解密
- 你的服务端对
- 验证参数,
核对金额:money本地单号:local付款人:profile
- 验证参数,
- 验证正确:提取出
routed,method,params,access_token对VIP接口发起实时支付确认
- 验证正确:提取出
- 根据支付确认,返回
200或者400支付结果
- 根据支付确认,返回
处理步骤三:支付确认 此步骤仅一次有效,称为[冲单]
支付确认仅一次有效:不可重复调用,须在
10秒内完成, 这个access_token是临时授权,
http
POST /{{routed}} HTTP/1.1
Host: vip.youloge.com
Content-Type: application/json
Organization: {{APIKEY}}
Authorization: {{access_token}}
{
"uuid": "",
"payment":"fQC1Wj0tcoa24UnA8g8ubI6Xj79wLsz3CjH******"
}VIP接口返回:支付成功 {"err":200,"msg":"确认成功"} err 为其他参数则为确认失败
支付保存
required内容goods商品购买模块,商家端可查看到发货信息或收货邮箱等信息推广支付查询查看提成流水即可(确认收货提成延后到账)