删除当前登录用户的device token,可停止推送服务往该苹果设备推送消息。
继续阅读UserAPNsDeviceToken: Create/Update
创建或者更新当前登录用户的苹果设备DeviceToken(用于苹果推送服务)
继续阅读Pay: Weixin pay
关于微信支付的调用方法。
Request
HTTP request
POST https://www.featapi.com/api/pay/order/pay/
Parameters
无
授权
此请求需要具有以下所有范围的授权:
Scopes |
---|
pay_trade_order |
有关更多信息,请参阅认证和授权页面。
Request body
请求参数
Property name | Value | Description | Notes |
---|---|---|---|
Required Properties | | | |
pay_method | integer | 使用微信支付方法,必须为200。 | 0为银联,100为支付宝,200为微信,目前仅支持这些方法。 |
end_type | integer | 终端交易类型,0为Native二维码支付,100为移动端APP支付,200为JSAPI支付,300为H5支付。 | 根据不同的支付方法有对应的终端交易类型。 |
Optional Properties | |||
extra_params | dict | 以字典的格式提交可选的额外参数。 详情请查看下文的`extra_params`说明。 | 范例: {“wx_app_type”: “feat_ios_app”} |
extra_params的参数:
Property name | Value | Description | Notes |
---|---|---|---|
wx_app_type | string | 提交支付的终端向服务端声明正在使用的微信app类型。目前已对接的有”official_account”,”feat_ios_app”。不提交该值时,默认为”official_account”。比如使用”APP”支付时,就应当选择”feat_ios_app”。 如果对该值有任何疑问请及时联系后端工作人员或者运维工程师。 | |
open_id | string | 微信用户标识,是对应微信app id下的唯一标识,如果同时提交”wx_app_type”参数时,要注意对应的微信app类型是否一致。在使用”JSAPI”支付时,这是必填参数。 |
Response
返回结果
1.当”wx_app_type”为”official_account”,end_type为0,这是”NATIVE”二维码支付。code_url是支付二维码的地址,使用二维码转换工具将该地址转换为二维码图片,即可提供用户扫描支付。以下是范例数据:
{
"data": {
"trade_type": "NATIVE",
"code_url": "weixin://wxpay/bizpayurl?pr=123456",
"prepay_id": "wx99999999999999999999999efbe47b00000"
}
}
2.当”wx_app_type”为”feat_ios_app”,end_type为100,这是”APP”支付。以下是范例数据:
{
"data": {
"package": "Sign=WXPay",
"timestamp": 1642748825,
"prepayid": "wx99999999999999999999fa4d4bc0200000",
"appid": "wxjifrogd7x8g09t5s",
"partnerid": "1486158932",
"noncestr": "e3dd9f348d8240ef81a0ada3ab1aae55",
"sign": "D9SBS1VMZIPV6PJGHNQJRGPOWFBAPUOA"
}
}
3.当”wx_app_type”为”official_account”,end_type为200,这是”JSAPI”支付。以下是范例数据:
{
"appId": "wx4444aa5566666777",
"timeStamp": 1653377557,
"nonceStr": "70041f30d95a41cdb42d07e8e5056a09",
"package": "prepay_id=wx2415323785101221eb9b6f10663d3b0000",
"signType": "MD5",
"paySign": "9147CA32DE4278800CDFF927203348E9"
}
Feat Oauth2 Token 异常列表
异常返回范例
{
"error": "invalid_request"
"error_description": "device_id is required"
}
其中“error”字段为异常错误的代码,“error_description”为异常错误的可读描述文本,对接时注意“error_description”字段不是一定返回的。
标准的错误代码
以下是Oauth2标准的错误代码:
invalid_request
状态代码:HTTP 400
该请求缺少必需的参数、包含不支持的参数值(授权类型除外)、重复参数、包含多个凭据、使用一种以上的机制来验证客户端,或者请求格式不正确。
注意:
- 返回 “error_description”值为 “device_id is required”,这表示在grant_type为”password”时,请求必须带上”device_id”值。
invalid_client
状态代码:HTTP 401
客户端身份验证失败(例如,未知客户端、不包含客户端身份验证或不支持的身份验证方法)。 此时服务器返回 HTTP 401(未授权)状态代码。
invalid_grant
状态代码:HTTP 400
提交的客户端身份认证授权(例如,授权code、资源所有者身份凭据)或刷新令牌无效、已过期、已撤销、与授权请求中使用的重定向 URI 不匹配,或已派发给另一个客户端。
unauthorized_client
状态代码:HTTP 400
该客户端的身份验证无权使用该grant类型。
unsupported_grant_type
状态代码:HTTP 400
服务器不支持该grant类型。
invalid_scope
状态代码:HTTP 400
请求的scope无效或scope的格式错误或超出资源所有者授予的范围。
参考文档链接:https://datatracker.ietf.org/doc/html/rfc6749#section-5.2
Alipay: binding
用户绑定Alipay账号。
Request
HTTP request
POST https://www.featapi.com/api/user/profile/alipay-binding/
Service: Status
这是服务需求项目的状态,根据需求项目的当前状态,界面需要展示对应可操作的按钮。
Status List
DRAFT = 0 # 草稿
REVIEW = 100 # 审核中(暂时未实装)
OPEN = 200 # 已发布
CLOSED = 300 # 关闭
COMPLETED = 400 # 已完成
CANCELLED = 500 # 已取消
DRAFT 草稿
调用需求创建接口成功后,创建状态为DRAFT的需求项目。此时需求处于草稿状态,待发布后才可以公开给其他用户查看或互动。
OPEN 已发布
调用需求发布接口成功后,需求状态从DRAFT变成OPEN,之后该需求会公开到机会广场中,其他用户可以查看或互动。
CLOSED 关闭
需求执行了关闭操作后,或者需求到达了关闭时间,则需求状态从OPEN变成CLOSED。在此状态下不允许有新的参与者或新的竞标出价,需求项目的拥有者需要从参与者中选出胜出者。
COMPLETED 已完成
待需求项目的拥有者选出胜出者后,需求项目进入COMPLETED状态。
CANCELLED 已取消
需求项目在在OPEN或CLOSED的状态下,可以调用取消操作,取消该需求项目。
Auth API:Feat手机账号注册接口流程文档
FEAT Auth API 是一组提供用户注册账号和登录账号功能的接口,FEAT网站的注册流程必须以手机号码作为注册账号,同时亦作为登录账号使用。注册过程涉及获取短信验证码、获取注册许可Token的安全认证步骤,必须按照以下步骤的顺序调用对应接口。
继续阅读Auth: login(已弃用)
这是用户登录接口,使用场景为已经注册的用户提交正确手机号码和密码到该接口,请求成功后返回用户的Authorization Token。前端获取该Token后,在调用需要用户登录的FEAT API时,将Token配置在请求头Authorization,即可正常访问。
Request
HTTP request
POST https://www.featapi.com/api/auth/login/