开发
API
直播能力

小程序担保支付接入文档-进件篇

基本概念

小程序担保支付中,需要为每一个参与交易的参与方进行一次进件。这里的参与交易包含但不限于以下的行为:

  1. 商户售卖商品,接收货款
  2. 服务商代授权小程序调用担保支付接口,并收取服务费
  3. 分账方参与分账,获得交易的分润

根据以上规则,按小程序开发的不同模式,小程序开发者直接开发与委托第三方服务商开发两种,可以将进件划分为以下的 case:

  1. 小程序开发者为自己进件
  2. 服务商为自己进件
  3. 服务商为委托开发的小程序进件
  4. 小程序开发者为第三方进件
  5. 服务商为第三方进件

其中小程序开发者为自己进件,可以在小程序开发者平台上的相关页面直接操作。对于其他场景,我们认为接入方有多方进件与管理平台搭建的诉求,通过接口提供进件页面 url 与对应商户号账户页面 url 的方式,协助开发者快速搭建平台。 在进件完成后,可以以商户号的维度,下载交易的流水进行对账。

服务商进件接口

在服务商完成担保支付开发者授权后,该接口通过获取进件页 url 来实现服务商的自行进件。使用 component_access_token 调用接口。
接口链接:

POST https://developer.toutiao.com/api/apps/ecpay/saas/add_merchant

输入

名称数据类型是否必传描述
component_access_tokenstring授权码兑换接口调用凭证, 参考第三方平台文档:
thirdparty_component_idstring小程序第三方平台应用 id
url_typenumber链接类型:1-进件页面 2-账户余额页

输出

名称数据类型描述
err_nonumber错误码,成功时为 0
err_tipsstring错误信息
urlstring请求页面链接,两小时过期,注意定时更新,请勿长期保存。
merchant_idstring小程序平台分配商户号,用于后续分账标识分账方。进件完成后,才会有非空返回

服务商代小程序进件

接口用于服务商为授权的小程序提供进件及结算能力。使用第三方平台提供的服务商支付 secret 对请求进行加签。secret 可以在在第三方平台的设置->开发设置中查看。
接口链接:

POST https://developer.toutiao.com/api/apps/ecpay/saas/get_app_merchant

输入

名称数据类型是否必传描述
thirdparty_idstring小程序第三方平台应用 id
app_idstring小程序的 app_id
url_typenumber链接类型:1-进件页面 2-账户余额页
signstring签名,参考附录签名算法

输出

名称数据类型描述
err_nonumber错误码,成功时为 0
err_tipsstring错误信息
urlstring请求页面链接,两小时过期,注意定时更新,请勿长期保存。
merchant_idstring小程序平台分配商户号,用于后续分账标识分账方。

小程序为第三方进件

接口用于小程序开发者为其他关联业务方提供进件及结算能力。使用前要求小程序开发者首先完成自身账户进件,使用开发者平台提供的支付 SALT 对请求进行加签。
接口链接:

POST https://developer.toutiao.com/api/apps/ecpay/saas/app_add_sub_merchant

输入

名称数据类型是否必传描述
sub_merchant_idstring商户 id,用于接入方自行标识并管理进件方。由开发者自行分配管理
app_idstring小程序的 app_id
url_typenumber链接类型:1-进件页面 2-账户余额页
signstring签名,参考附录签名算法

输出

名称数据类型描述
err_nonumber错误码,成功时为 0
err_tipsstring错误信息
urlstring请求页面链接,两小时过期,注意定时更新,请勿长期保存。
merchant_idstring小程序平台分配商户号,用于后续分账标识分账方。

注:这里的 sub_merchant_id 只是为了便于小程序开发者区分管理,在分账时用于标识接受方的商户号为 response 中的 merchant_id 字段。

服务商为第三方进件

接口用于服务商为其他关联业务方提供进件及结算能力。使用前要求服务商首先完成自身账户进件,使用第三方平台提供的服务商支付 SALT 对请求进行加签。SALT 可以在在第三方平台的设置->开发设置中查看。
接口链接:

POST https://developer.toutiao.com/api/apps/ecpay/saas/add_sub_merchant

输入

名称数据类型是否必传描述
sub_merchant_idstring商户 id,用于接入方自行标识并管理进件方。由开发者自行分配管理
thirdparty_idstring小程序第三方平台应用 id
url_typenumber链接类型:1-进件页面 2-账户余额页
signstring签名,参考附录签名算法

输出

名称数据类型描述
err_nonumber错误码,成功时为 0
err_tipsstring错误信息
urlstring请求页面链接,两小时过期,注意定时更新,请勿长期保存。
merchant_idstring小程序平台分配商户号,用于后续分账标识分账方。

注:这里的 sub_merchant_id 只是为了便于小程序开发者区分管理,在分账时用于标识接受方的商户号为 response 中的 merchant_id 字段。

进件状态查询

提供进件结果查询接口,开发者/服务商可以通过接口查询到分账方进件结果。请求需要使用开发者/第三方平台提供的支付 SALT 进行加签。具体使用方式请参请求 Demo
接口链接:

POST  https://developer.toutiao.com/api/apps/ecpay/saas/query_merchant_status

输入

名称数据类型描述
app_idstring小程序 AppID
thirdparty_idstring第三方平台服务商 id,非服务商模式留空
merchant_idstring小程序平台分配商户号
sub_merchant_idstring商户 id,用于接入方自行标识并管理进件方。由服务商自行分配管理
signstring签名,参考附录签名算法

返回值:

名称数据类型描述
err_noint错误码:成功-0,商户号和 APPID 或三方 ID 不对应-4000,内部异常-1000,签名校验异常-2008
err_tipsstring错误信息
wxint微信渠道进件状态,0-未进件、1-进件成功、2-进件失败、3-审核中、4-冻结中
alipayint支付宝渠道进件状态,0-未进件、1-进件成功、2-进件失败、3-审核中

请求 Demo:

  1. 开发者查询分账方商户,参数需传入 app_id、sign、merchant_id 以及 thirdparty_id,具体实例如下:
curl --location --request POST 'https://developer.toutiao.com/api/apps/ecpay/saas/query_merchant_status' \
--header 'Content-Type: application/json' \
--data-raw '{
    "app_id": "ttdb96ad2b44aeff3301",
    "sign": "c639b06f45e74c7b8025acbb45f04bb1",
    "merchant_id": "69824283230789983130",
    "sub_merchant_id": "",
    "thirdparty_id": "ttc4a8b2155b82682f"
}'

返回值:

{
    "err_no": 0,
    "err_tips": "",
    "wx": 1,
    "alipay": 0
}
  1. 服务商查询分账方商户,参数需传入 sign、sub_merchant_id 以及 thirdparty_id,具体实例如下:
curl --location --request POST 'https://developer.toutiao.com/api/apps/ecpay/saas/query_merchant_status' \
--header 'Content-Type: application/json' \
--data-raw '{
    "app_id": "",
    "sign": "14784648abca76344b87135fe810247b",
    "merchant_id": "",
    "sub_merchant_id": "69560302266147330860",
    "thirdparty_id": "ttd74ca1f148667a24"
}'

返回值:

{
    "err_no": 0,
    "err_tips": "",
    "wx": 1,
    "alipay": 1
}
  1. 服务商查询授权小程序,参数需传入 app_id、sign、merchant_id 以及 thirdparty_id,具体实例如下:
curl --location --request POST 'https://developer.toutiao.com/api/apps/ecpay/saas/query_merchant_status' \
--header 'Content-Type: application/json' \
--data-raw '{
    "app_id": "ttdb96ad2b44aeff3301",
    "sign": "c639b06f45e74c7b8025acbb45f04bb1",
    "merchant_id": "69824283230789983130",
    "sub_merchant_id": "",
    "thirdparty_id": "ttc4a8b2155b82682f"
}'

返回值:

{
    "err_no": 0,
    "err_tips": "",
    "wx": 1,
    "alipay": 0
}
点击纠错
评价此篇文档