QFPay订阅支付API
创建并管理订阅及订阅支付
订阅支付运行流程
API运行环境
| 环境名称 | 地址 |
|---|---|
| Sandbox | https://openapi-int.qfapi.com |
API资源
如需要创建并管理一个订阅支付活动,需要如下的API资源:
| API资源 |
|---|
| Customer |
| Payment Token |
| Product |
| Subscription |
创建订阅支付的流程
信息
当前 subscription 的创建流程如下:
- 配置你的异步通知地址,你可以通过通知获取
token_id并且跟进订阅支付的状态。 - 创建 customer 对象并获得
customer_id。 - 对接我们的 element 服务 并使用 elements.createEnhance() 和 payment.pay() 来构建 token 创建页面. 然后使用
customer_id和卡信息来创建 token 并获得token_id。 - 创建 product 对象并获得
product_id,你可以在 product 对象定义订阅支付的每个扣款周期的交易金额和两次扣款周期的间隔。 - 使用
customer_id,product_id和token_id创建 subscription 对象,订阅支付的开始时间和总的扣款周期将在 subscription 对象定义。
订阅支付的状态
state diagram 所有订阅状态一旦触发都会推送至商户后台服务
通用响应参数列表
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| respcd | String | 返回码, 0000 = API呼叫成功 |
| resperr | String | 呼叫结果的详情 |
| respmsg | String | 呼叫的信息详情 |
| data | Object | 结果值, JSON对象或由JSON对象组成的列表 |
返回数据示例
当呼叫 subscription/v1/query 之后
{
"resperr": "success",
"respcd": "0000",
"respmsg": "success",
"data": [
{
"total_billing_cycles": 3,
"last_billing_time": "2024-11-21T11:12:06Z",
"is_available": 1,
"userid": 2510351,
"last_billing_status": "SUCCESS",
"state": "ACTIVE",
"products": [
{ "product_id": "prod_8efecd0bd******b9aa1ec5ec01", "quantity": 1 }
],
"retry_attempts": 0,
"completed_iteration": 1,
"token_id": "tk_9ac510017*******69b614e8f7ee",
"subscription_id": "sub_e120378de*******da066f690da75",
"customer_id": "cust_5ba1539f*******c9bda11d12c854e36",
"next_billing_time": "2024-11-21T11:13:06Z"
}
]
}
Customer
Customer 是一个提供给商户用于存储客户信息的API资源. 这个对象可以被应用在 PaymentToken, Subscription API中.
创建 Customer 对象
API 路径 : /customer/v1/create