开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
开放能力 api
支付
用户授权
会员
周期扣款
商家会员卡
消息
模板配置
支付宝卡包
交易组件
小程序商品
开发 > api > 开放能力 api > 周期扣款 > my.paysigncenter
评论
收藏
我的文档
设置

my.paysigncenter(object object)

支付宝客户端 10.0.18 或更高版本; 若版本较低,建议采取 兼容处理

小程序开发者工具: 不支持。

主体: 企业支付宝小程序

唤起周期扣款签约页面。

有关周期扣款的签约流程、使用场景、服务端请求参数等信息,请查阅 周期扣款产品说明

效果示例

周期扣款签约页面效果示例

默认标题0

默认标题1

周期扣款签约流程

为了确保准确接入“周期扣款签约流程”的能力, 需要按照 开发设置 > 绑定商家账号 > 开通产品 > 获取 signstr > api调用 > 获取签约结果 的流程接入。
1
开发设置 开放平台
2
绑定商家账号 商家平台
3
开通产品 商家平台
4
获取 signstr 服务端
5
api调用 小程序
6
获取签约结果 小程序

是否必须: 是。

使用 主账号 登录 ,选择当前开发的小程序,根据下面的说明进行相关开发配置:

  • 接口加签方式:必填

  • 应用网关:必填

  • 支付宝网关:必填

  • 接口内容加密方式:选填,建议配置

  • 服务器ip白名单:选填,涉及到敏感操作时建议配置

具体可参考文档 开发设置

是否必须: 是。

在支付宝开放平台创建的应用归属于对应的开放平台账号。如果要在应用中使用支付和资金等相关产品,需要将应用和支付宝商家平台账号绑定,应用才可调用需要商家开通的产品,具体步骤可查看 绑定应用

是否必须: 是。

在 列表中搜索并为当前小程序开通 周期扣款 产品。

是否必须: 是。

集成并配置服务端 sdk,通过 sdk 调用服务端接口 支付宝个人协议页面签约接口(alipay.user.agreement.page.sign) 获取 signstr。

  1. 下载对应语言版本的最新版 服务端 sdk 并引入开发工程,用于后续的服务端接口调用。

  2. 在 sdk 调用具体的接口前需要进行 alipayclient 对象初始化。alipayclient 对象只需要初始化一次,后续调用不同的接口都可以使用同一个 alipayclient 对象。具体可参考文档 接口调用配置

  3. 通过服务端调用 alipay.user.agreement.page.sign 获取 signstr,具体可参考文档 创建签约协议内容

注意:

  • 调用 alipay.user.agreement.page.sign 生成用于 my.paysigncenter 的 signstr 时,无需传入 return_url(传入也会被忽略);若开发者希望在签约成功后跳转到其他页面,请在 my.paysigncenter 的 success 回调中进行。

  • 需要对 alipay.user.agreement.page.sign 接口返回的内容进行 url encode,才能得到适用于 my.paysigncenter 的 signstr。

是否必须: 是。

在小程序中调用 api,传入参数 signstr 唤起周期扣款签约页面。

是否必须: 是。

根据 my.paysigncenter 的 success 回调的结果进行进一步处理。回调参数结构可参考 success 参数,字段含义参考 success 回调函数说明。

object object

查看示例

属性 类型 默认值 必填 描述
signstr string -

签约字符串,可查看 周期扣款接入指南 来获取该字符串

success function -

调用成功的回调函数

fail function -

调用失败的回调函数

complete function -

调用结束的回调函数(调用成功、失败都会执行)

success 回调函数

参数

object res

查看示例

属性 类型 描述
result string

签约结果(如需该字段内部参数,切记先 json.parse 一下)json.parse 后的对象结构如下:
sign,类型 string,签名
sign_type,类型 string,签名算法类型
alipay_user_agreement_page_sign_response,类型 object

resultstatus string

签约结果码

枚举值 描述 兼容性
7000

协议签约成功

-
7001

签约结果未知(有可能已经签约成功)。
凯发app官方网站的解决方案:可通过服务端调用 alipay.user.agreement.query 查询签约状态,具体可参考文档 周期扣款协议查询

-
7002

协议签约失败。
凯发app官方网站的解决方案:

  • 请检查小程序是否开通了对应的产品,
  • 请检查调用 alipay.user.agreement.page.sign(支付宝个人协议页面签约接口)时的参数是否正确。常见排查思路:
    • 检查 product_code 和 personal_product_code 这两个参数是否传了正确的值,是否传反,传值是否符合文档要求
    • 检查扣款金额是否符合周期扣款额度限制,对每个用户的单笔扣款不超过 100 元,当日扣款不超过 1000 元,当月扣款不超过 30000 元,扣款周期最短为 7 天(最长没有限制)。
-
6001

用户中途取消

-
6002

网络连接错误。
凯发app官方网站的解决方案:检查网络连接后重试

-
my.paysigncenter(object object)
success 参数
my.paysigncenter({
  signstr: 'alipay_sdk=alipay-sdk-java-dynamicversionno&app_id=2019072465924554&biz_content=%7b%22sign_validity_period%22%3a%222m%22%2c%22product_code%22%3a%22cycle_pay_auth%22%2c%22external_logon_id%22%3a%2213852852877%22%2c%22personal_product_code%22%3a%22cycle_pay_auth_p%22%2c%22sign_scene%22%3a%22industry%7ccarrental%22%2c%22external_agreement_no%22%3a%22test%22%2c%22third_party_type%22%3a%22partner%22%2c%22prod_params%22%3a%7b%22auth_biz_params%22%3a%22%7b%5c%22platform%5c%22%3a%5c%22taobao%5c%22%7d%22%7d%2c%22promo_params%22%3a%22%7b%5c%22key%5c%22%3a%5c%22value%5c%22%7d%22%2c%22access_params%22%3a%7b%22channel%22%3a%22alipayapp%22%7d%2c%22merchant_process_url%22%3a%22https%3a%2f%2fwww.merchantpage.com%2findex%3fprocessid%3d2345678%22%2c%22identity_params%22%3a%7b%22user_name%22%3a%22%e5%bc%a0%e4%b8%89%22%2c%22cert_no%22%3a%2261102619921108888%22%2c%22identity_hash%22%3a%228d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92%22%2c%22sign_user_id%22%3a%222088202888530893%22%7d%2c%22agreement_effect_type%22%3a%22direct%22%2c%22user_age_range%22%3a%22%7b%5c%22min%5c%22%3a%5c%2218%5c%22%2c%5c%22max%5c%22%3a%5c%2230%5c%22%7d%22%2c%22period_rule_params%22%3a%7b%22period_type%22%3a%22day%22%2c%22period%22%3a9%2c%22execute_time%22%3a%222022-05-23%22%2c%22single_amount%22%3a10.99%2c%22total_amount%22%3a600%2c%22total_payments%22%3a12%7d%7d&charset=utf-8&format=json&method=alipay.user.agreement.page.sign&sign=i8x5tqsvx%2bj8uvikugdz5wc8lpf%2bbtotzlen2n60%2ffqp%2fgk4pubihmzq8duiyapcvjr74le3gfiuhrtrvcmnatfcylp5grwrqfwxxunafemvtsla2hubz7tnbg49o2amhzpylwgetbdsr1yl8nlsnefm4ij46evefx4pnc%2fdxhw3pvwaox6d8jijevtkawbpybg%2f%2brfms08xfmqr58hswdap7x7y7emgjefvmmtqmkhlby8bsfxrv%2bmx%2fwd5jootolohpkvfhjeuhcpcmyphljx7sppw9xannmeja9acrxhwk440y9xt8xib%2f68frfpc%2fcu14keiob5uk5amwynj3q%3d%3d&sign_type=rsa2×tamp=2022-04-22+11%3a04%3a20&version=1.0',
  success: function(res) {
    console.log(res);
  },
  fail: function(err) {
    console.log(err);
  }
});
{
    "result": "{\"alipay_user_agreement_page_sign_response\":{\"code\":\"10000\",\"msg\":\"success\",\"app_id\":\"2017060101317939\",\"auth_app_id\":\"2017060101317939\",\"charset\":\"utf-8\",\"timestamp\":\"2017-06-27 11:40:15\",\"sign_scene\":\"industry|carrental\",\"valid_time\":\"2017-06-27 11:40:13\",\"status\":\"normal\",\"external_agreement_no\":\"test212\",\"agreement_no\":\"20170627457298962889\",\"external_logon_id\":\"13852852877\",\"alipay_logon_id\":\"138****2877\",\"invalid_time\":\"2017-08-27 11:40:13\",\"personal_product_code\":\"general_withholding_p\",\"sign_time\":\"2017-06-27 11:40:14\",},\"sign\": \"kgehosypuhpzhfrjeuwwbrmjjtlup 5ugfq2oxylraweoqksw9fokunodmegkgjk8=\",\"sign_type\":\"rsa\"}",
    "resultstatus": "7000"
}
  • tip
    不支持在 iot 小程序中使用。
  • tip
    关于周期扣款的常见问题可点击 周期扣款常见问题 查看。

q:如何获取签约字符串?

a:

调用 alipay.user.agreement.page.sign(支付宝个人协议页面签约接口)传入周期扣款约定等相关信息创建签约协议内容,将返回内容进行一次 url encode 后做为 signstr 的值传入 my.paysigncenter。示例以及详细信息可查看 创建签约协议内容

q:唤起的开通界面显示“无效签名”,如何处理?

a:

请检查传入的 signstr 是否正确。请对照以下内容进行自查:

传入的 signstr 需要形如:alipay_sdk=alipay-sdk-java-dynamicversionno&app_id=2019072465924554&biz_content=...。如果是使用 sdk 获取的 signstr,得到的是这样的字符串:alipay_sdk=alipay-sdk-java-dynamicversionno&app_id=2019072465924554&biz_content=... ,需要先将这段字符串进行一次 urlencode。使用 java sdk 示例代码如下:

alipayuseragreementpagesignresponse response = alipayclient.sdkexecute(request);
string signstr = urlencoder.encode(response.getbody(), "utf-8");

q:开通失败常见原因有哪些?回调提示报错 7002 如何处理?

a:

可能是小程序未开通 周期扣款 产品,亦可能是 alipay.user.agreement.page.sign 传参问题,请参考错误码 7002 的凯发app官方网站的解决方案。

内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图