Plus (ThinkSNS+)

Plus (ThinkSNS+)

  • 文档 [New]
  • 文档
  • REST API v2
  • 反馈
  • GitHub

›基本

基本

  • 概述
  • 启动信息
  • Json Web Token 授权
  • 验证码
  • 位置
  • 标签
  • 消息通知
  • 钱包(旧版本)
  • Plus Pay(新钱包-支付工具)
  • 支付能力
  • 文件
  • 关于我们
  • 广告
  • 举报
  • 积分
  • 环信
  • 评论
  • 文件存储

用户

  • 用户
  • 注册
  • 收到的评论
  • 收到的喜欢
  • 关注
  • 标签
  • 身份认证
  • 找人
  • 排行榜
  • 反馈
  • 打赏用户
  • 未读消息
  • 签到
  • 消息

动态

  • 发布动态
  • 获取动态
  • 删除动态
  • 设置评论收费
  • 评论
  • 喜欢
  • 收藏
  • 置顶
  • 打赏
  • 排行榜
  • 举报
  • 积分部分新增接口
  • 话题

音乐

  • 音乐
  • 专辑
  • 点赞
  • 评论
  • 收藏

问答

  • 概述
  • 话题
  • 问题
  • 评论
  • 回答
  • 回答 · 打赏
  • 回答 · 围观
  • 用户 · 关注问题
  • 用户 · 喜欢回答
  • 用户 · 收藏回答
  • 用户 · 申请精选
  • 排行榜
  • 举报
  • 问答部分积分相关新增接口

资讯

  • 概述
  • 分类
  • 投稿
  • 获取
  • 评论
  • 喜欢
  • 打赏
  • 置顶
  • 收藏
  • 排行榜
  • 举报
  • 资讯部分积分相关新增接口

圈子

  • 概述
  • 分类
  • 圈子
  • 圈子 · 管理
  • 圈子 · 举报
  • 圈子 · 成员
  • 帖子
  • 帖子 · 评论
  • 帖子 · 喜欢
  • 帖子 · 收藏
  • 帖子 · 打赏
  • 帖子 · 置顶
  • 圈子部分积分相关新增接口
Edit

钱包(旧版本)

和用户余额相关的信息,余额单位都是按照 CNY 的「分」作为单位。

接口不给现实数字,而是给出以 CNY 的「分」单位的数字,并在「启动者」中提供了显示转换比例,单位为百分比(%)

钱包信息

钱包信息提供进入钱包页面所需的附加信息记录接口。

在未来开发中,一些信息可能会被移动到「启动者」中。

GET /wallet

响应

Status: 200 OK
{
    "labels":[ // 充值选项。
        550,
        2000,
        9900
    ],
    "ratio":200, // 转换比例(在启动者中也有提供哟)
    "rule":"我是积分规则纯文本.", // 充值提现规则。(以后需求中,可能是 markdown 目前是多行文本)
    // 可选提现的「提现方式」,按照现在系统预设,只有 alipay 和 wechat
    // type: array|null 如果 alipay 和 wechat 都不存在,则代表关闭提现功能
    "cash": [
        "alipay"
    ],
    "case_min_amount": 1, // 真实金额分单位,用户最低提现金额。
    "recharge_type": [ // 对于移动端而言,alipay wx 不存在则表示关闭了充值功能,单个不存在则表示关闭单个充值选项,iOS多一个 apple pay 选项,其他端,例如 h5 或者 pc 参考平台后缀。例如没有 alipay_wap 表示关闭 h5 的支付宝。
        "alipay",
        "alipay_wap",
        "wx",
        "wx_wap",
        "applepay_upacp"
    ]
}

钱包余额充值

接口使用统一的接口对接所有的充值,对接第三发平台为 Ping++,请先阅读 Ping++ 官方文档。

POST /wallet/recharge

输入

字段必须类型描述
type是string充值方式 (见「启动信息接口」或者「钱包信息」)
amount是int用户充值金额,单位为真实货币「分」单位
extra否object,array拓展信息字段,见 支付渠道-extra-参数说明
{
    "type": "alipay_wap",
    "amount": 100, // 表示 1.00
    "extra": {
        "success_url": "https://plus.io/web/recharge" // 这个字段只是示例,这是 支付宝 wap 支付独有参数。
    }
}

响应

Status: 201 Created
{
  "id": 8, // ThinkSNS+ 系统凭据 ID
  "charge": { // Ping++ 凭据
    "id": "ch_08anD0a9yjPCLyvbTODqXrnT",
    "object": "charge",
    "created": 1496819712,
    "livemode": false,
    "paid": false,
    "refunded": false,
    "app": "app_5anXP4ezfXvL8m5e",
    "channel": "applepay_upacp",
    "order_no": "a0000000000000000008",
    "client_ip": "127.0.0.1",
    "amount": 500,
    "amount_settle": 500,
    "currency": "cny",
    "subject": "余额充值",
    "body": "账户余额充值",
    "extra": {},
    "time_paid": null,
    "time_expire": 1496906112,
    "time_settle": null,
    "transaction_no": null,
    "refunds": {
      "object": "list",
      "url": "/v1/charges/ch_08anD0a9yjPCLyvbTODqXrnT/refunds",
      "has_more": false,
      "data": []
    },
    "amount_refunded": 0,
    "failure_code": null,
    "failure_msg": null,
    "metadata": {},
    "credential": {
      "object": "credential",
      "applepay_upacp": {
        "tn": "201706071515122891443",
        "mode": "00",
        "merchant_id": "Your app merchant id"
      }
    },
    "description": null
  }
}

Type 场景

name描述
applepay_upacpApple Pay (仅对 iOS 有效)
alipayApp 发起支付宝支付选项
alipay_wap手机网页发起支付宝支付
alipay_pc_directPC 网页发起支付宝支付
alipay_qr支付宝扫码支付,前度生成二维码
wxApp 发起微信支付
wx_wap手机网页发起微信支付

凭据获取

凭据获取用于获取用户订单凭据详细信息,其中还包含凭据取回。

GET /wallet/charges/:charge

:charge 为创建订单或者列表给出的凭据 ID

响应

Status: 200 OK
{
  "id": 1, // 凭据ID
  "user_id": 1, // 凭据对应用户(不一定有,该凭据对应的用户,客户端几乎用不到的。)
  "channel": "alipay", // 支付频道
  "account": "alipay_account", // 账户,如果是系统内购买,例如购买一张图片,会和频道对应,然后给出不同的值,例如支付宝给出的是支付宝账号。微信给出的是 open_id、银联给出的是银行卡号。channel 还有我们系统内置类型,例如 user 可能对应的就是用户ID(例如转账)
  "charge_id": "ch_vvP4u1H0evPGqn9qn5mPCGS4", // Ping++ 凭据ID
  "action": 1, // 动作, 1 增加、2 减少
  "amount": 100, //  操作金额(真实货币分单位)
  "currency": "cny", // 操作货币单位,目前只有 cny 
  "subject": "余额充值", // 订单标题
  "body": "账户余额充值", // 订单描述
  "transaction_no": "2017060879918233", // 第三发平台凭据ID 例如支付宝订单号
  "status": 1, // 状态,0 - 未支付(等待)、1 - 成功、2 - 失败
  "created_at": "2017-06-07 06:32:28", // 订餐创建时间
  "updated_at": "2017-06-08 06:46:23", // 订单更新时间
  "deleted_at": null
}

凭据取回

凭据取回,可以理解成第三发验证获取,服务器会调用第三发接口取回凭据状态,重置凭据状态,并充值用户余额。

GET /wallet/charges/:charge?mode=retrieve

响应数据和「凭据获取」相同

该模式只会生效一次,之后传递则不会生效,参数不要乱传,如果非支付订单传递该参数,则会抛出 422 验证异常。

凭据列表

GET /wallet/charges

参数

名称类型描述
limit整数获取的数据条数。
after整数上一次获取最后一条的id,获取该id之后的数据。
action整数筛选条件 0-支出 1-收入

响应

Status: 200 OK
[
  {...} // 单条内容参考 「凭据获取」数据
]

提现申请

POST /wallet/cashes

Input

名称类型描述
valueint用户需要提现的余额数量
typestring用户提现账户方式
accountstring用户提现账户
{
    "value": 100,
    "type": "alipay"
    "account": "xxx@alipay.com"
}

value 的值是用户输入的余额值按照「转换比例」转换后再转化为「分」单位 分的转换值为 100,按照比例转换单位后乘100以保证没有小数出现

Headers
Status: 201 Created
Body
{
  "value": [
    "请输入提现金额", // 用户没用输入
    "发送的数据错误", // 发送错误的数据给服务器(非正整数)
    "输入的提现金额不合法", // 发送给服务器小于 1
    "提现金额超出账户余额", // 用户提现金额超出余额
  ],
  "type": [
    "请选择提现方式", // 没有发送提现方式
    "你选择的提现方式不支持" // 提现的方式后台设置不允许提现
  ],
  "account": [
    "请输入你的提现账户" // 没有输入账户
  ],
  "message": [
    "申请提现成功", // 成功
    "申请失败" // 失败
  ]
}

提现申请列表

GET /wallet/cashes

limit=20&after=3 limit 可以设置获取数量 after 获取更多数据,上一次获取列表的最后一条 ID

Headers

Status: 200 OK

Body

[
  {
    "id": 4, // 提现记录ID
    "value": 10, // 提现金额
    "type": "alipay", // 提现方式
    "account": "xxx@alipay.com", // 提现账户
    "status": 0, // 提现状态, 0 - 待审批,1 - 已审批,2 - 被拒绝
    "remark": null, // 备注,审批或者拒绝的时候由管理填写
    "created_at": "2017-06-01 09:30:22" // 申请时间
  },
  {
    "id": 3,
    "value": 10,
    "type": "wechat",
    "account": "xxxx",
    "status": 0,
    "remark": null,
    "created_at": "2017-06-01 09:29:09"
  }
]
← 消息通知Plus Pay(新钱包-支付工具) →
  • 钱包信息
  • 钱包余额充值
    • 输入
  • 凭据获取
  • 凭据列表
  • 提现申请
    • Input
  • 提现申请列表
Plus (ThinkSNS+)
More
GitHubStar
Copyright © 2019 Chengdu ZhiYiChuangXiang Technology Co., Ltd. All rights reserved.