跳到主要内容

QFPay订阅支付API

创建并管理订阅及订阅支付

订阅支付运行流程

API运行环境

环境名称地址
Sandboxhttps://openapi-int.qfapi.com

API资源

如需要创建并管理一个订阅支付活动,需要如下的API资源:

API资源
Customer
Payment Token
Product
Subscription

创建订阅支付的流程

enter image description here

订阅支付的状态

state diagram 所有订阅状态一旦触发都会推送至商户后台服务

通用响应参数列表

参数名称参数类型描述
respcdString返回码, 0000 = API呼叫成功
resperrString呼叫结果的详情
respmsgString呼叫的信息详情
pageInt查询页数,在查询API中出现
page_sizeInt查询页大小,在查询API中出现
dataObject结果值, JSON对象或由JSON对象组成的列表

Customer

Customer 是一个提供给商户用于存储客户信息的API资源. 这个对象可以被应用在 PaymentToken, Subscription API中.

创建 Customer 对象

API路径: /customer/v1/create

请求参数列表:

参数名称参数类型是否必填描述
nameString客户姓名
phoneString客户联系方式
emailString客户邮箱
billing_addressString客户账单地址, 字符串化的JSON对象

data部分的响应参数列表:

参数名称参数类型描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
nameString客户姓名
phoneString客户联系方式
emailString客户邮箱
billing_addressJSON客户账单地址

更新 customer 对象

API路径: /customer/v1/update

请求参数列表:

参数名称参数类型是否必填描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
nameString客户姓名
phoneString客户联系方式
emailString客户邮箱
billing_addressJSON客户账单地址

data部分的响应参数列表:

参数名称参数类型描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
nameString客户姓名
phoneString客户联系方式
emailString客户邮箱
billing_addressJSON客户账单地址

查询 customer 对象

API路径: /customer/v1/query

请求参数列表:

参数名称参数类型是否必填描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
nameString客户姓名
phoneString客户联系方式
emailString客户邮箱
pageInt默认值 = 1
page_sizeInt默认值 = 10, 最大值是100

data部分的响应参数列表:

参数名称参数类型描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
nameString客户姓名
phoneString客户联系方式
emailString客户邮箱

删除 customer 对象

永久删除 customer 对象, 不能撤销. 任何与已删除的 customer 对象相关联的订阅计划将会被取消 API路径: /customer/v1/delete

请求参数列表:

参数名称参数类型是否必填描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值

Product

Product 是商户要提供给客户的商品和服务的模型.它定义了交易金额, 交易货币和扣款周期(如可用). 这个对象可被用于 subscription API

创建 product 对象

创建一个新的 product 对象

API路径: /product/v1/create

参数名称参数类型是否必填描述
nameString展示给客户的产品名称
typeString默认值=onetime, 可用值: onetime, recurring
descriptionString产品描述
txamtInt交易金额, e.g. $1=100
txcurrcdString交易货币, e.g. HKD
intervalString可用值: monthly, yearly, 周期扣款产品必传
interval_countInt两次扣款的间隔, 最高允许1年, 周期扣款产品必传
usage_typeString默认值=licensed, 可用值: licensed

data部分的响应参数列表:

参数名称参数类型描述
product_idStringQFPay 系统生成的唯一 product 对象的ID值
nameString展示给客户的产品名称
typeString默认值=onetime, 可用值: onetime, recurring
descriptionString产品描述
txamtInt交易金额, e.g. $1=100
txcurrcdString交易货币, e.g. HKD
intervalString可用值: monthly, yearly
interval_countInt两次扣款的间隔
usage_typeString默认值=licensed, 可用值: licensed

更新 product 对象

更新当前的 product 对象信息 API路径: /product/v1/update

请求参数列表:

参数名称参数类型是否必填描述
product_idStringQFPay 系统生成的唯一 product 对象的ID值
nameString展示给客户的产品名称
descriptionString产品描述

data部分的响应参数列表:

参数名称参数类型描述
product_idStringQFPay 系统生成的唯一 product 对象的ID值
nameString展示给客户的产品名称
typeString默认值=onetime, 可用值: onetime, recurring
descriptionString产品描述
txamtInt交易金额, e.g. $1=100
txcurrcdString交易货币, e.g. HKD
intervalString可用值: monthly, yearly
interval_countInt两次扣款的间隔
usage_typeString默认值=licensed, 可用值: licensed

查询 product 对象

API路径: /product/v1/create

请求参数列表:

参数名称参数类型是否必填描述
product_idStringQFPay 系统生成的唯一 product 对象的ID值
nameString展示给客户的产品名称
descriptionString产品描述
txcurrcdString交易货币
intervalString可用值: monthly,yearly
pageIntpage no., 默认值=1
page_sizeIntpage size, 默认值=10,max value=100

data部分的响应参数列表:

product_idStringQFPay 系统生成的唯一 product 对象的ID值
nameString展示给客户的产品名称
typeString可用值: onetime, recurring
descriptionString产品描述
txamtInt交易金额, e.g. $1=100
txcurrcdString交易货币, e.g. HKD
intervalString可用值: monthly, yearly
interval_countInt两次扣款的间隔
usage_typeString可用值: licensed

删除 product 对象

只能够删除不与任何 subscription 对象关联的 product 对象

API路径: /product/v1/delete

请求参数列表:

参数名称参数类型是否必填描述
product_idStringQFPay 系统生成的唯一 product 对象的ID值

Subscription

QFPay 会基于产品类型和支付令牌,在每个扣款周期自动向客户收费直到订阅结束或是取消. 在创建 subscription 对象之前, payment token, customerproduct 必须被创建.

创建 subscription 对象

API路径: /subscription/v1/create

请求参数列表:

参数名称参数类型是否必填描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
token_idStringQFPay 系统生成的唯一 payment token 对象的ID值
productsObjectQFPay 系统生成的唯一 product 对象的ID值和相应数量的列表
total_billing_cyclesInt订阅支付总的扣款周期, 若为null值则为无限
start_timeString订阅开始时间,订阅将开始首次扣款

products 中的参数:

参数名称参数类型是否必填描述
product_idStringQFPay 系统生成的唯一 product 对象的ID值
quantityInt默认值=1

data部分的响应参数列表:

参数名称参数类型描述
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
token_idStringQFPay 系统生成的唯一 payment token 对象的ID值
productsObjectQFPay 系统生成的唯一 product 对象的ID值和相应数量的列表
total_billing_cyclesInt订阅支付总的扣款周期, 若为null值则为无限
start_timeString

更新 subscription 对象

更新当前的 subscription 对象 API路径: /subscription/v1/update

请求参数列表:

参数名称参数类型是否必填描述
subscription_idStringQFPay 系统生成的唯一 subscription 对象的ID值
total_billing_cyclesInt订阅支付总的扣款周期, 若为null值则为无限
start_timeString订阅开始时间,订阅将开始首次扣款
token_idStringQFPay 系统生成的唯一 payment token 对象的ID值
productsObjectQFPay 系统生成的唯一 product 对象的ID值和想赢数量的列表

data部分的响应参数列表:

参数名称参数类型描述
subscription_idStringQFPay 系统生成的唯一 subscription 对象的ID值
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
token_idStringQFPay 系统生成的唯一 payment token 对象的ID值
productsObjectQFPay 系统生成的唯一 product 对象的ID值和相应数量的列表
total_billing_cyclesInt订阅支付总的扣款周期, 若为null值则为无限
start_timeString订阅开始时间,订阅将开始首次扣款
stateString订阅的状态

查询 subscription 对象

API路径: /subscription/v1/query

请求参数列表:

参数名称参数类型是否必填描述
pageInt查询页数,默认值=1
page_sizeInt查询页面大小, 默认值=10, 最大值=100
subscritpion_idStringQFPay 系统生成的唯一 subscription 对象的ID值
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
token_idStringQFPay 系统生成的唯一 payment token 对象的ID值
stateString订阅的状态, e.g. incompelete, active,...

data部分的响应参数列表:

参数名称参数类型描述
subscription_idStringQFPay 系统生成的唯一 subscription 对象的ID值
customer_idStringQFPay 系统生成的唯一 customer 对象ID值
token_idStringQFPay 系统生成的唯一 payment token 对象的ID值
productsObjectQFPay 系统生成的唯一 product 对象的ID值和相应数量的列表
total_billing_cyclesInt订阅支付总的扣款周期, 若为null值则为无限
stateString订阅的状态
next_billing_timeString下次扣款时间
last_billing_timeString上次扣款时间
completed_billing_iterationInt已完成的扣款次数
start_timeString订阅开始时间,订阅将开始首次扣款

Cancel subscription 对象

立即取消客户的订阅

API路径: /subscription/v1/cancel

请求参数列表:

参数名称参数类型是否必填描述
subscription_idStringQFPay 系统中的唯一订阅对象ID