更新时间:2023-06-21 10:56:18收藏我的文档设置返回文档由于周期/商家扣款分为 先签约,后代扣 场景与 支付后签约 场景,使用的应用场景也是不同的。先签约,后代扣h5页面●支付宝端外h5页面:采用 alipays://platformapi/startapp?appid=20000067&url=encode (服务生成含有支付宝网关的签约url)做重定向,可访问打开支付宝客户端进行签约。●支付宝端内h5页面:○可参见 pageexecute()方法如何生成url形式 生成 url 在支付宝端内 h5 直接打开签约页面。○在 h5 内调用 唤起签约页,需通过:alipayuseragreementpagesignresponse response = alipayclient.sdkexecute(request); 方式获取 response 参数。商家app必须参考 无线端唤起签约说明 步骤。pc页面由于接口请求生成url链接是必须在支付宝客户端内打开签约,不支持用户在pc页面登录签约。若要pc端签约可参考以下方式:1alipay.user.agreement.page.sign(支付宝个人协议页面签约接口)使用 pageexecute()get请求 的方式生成url;2将生成的 url 转换为二维码,在pc端页面展示;3引导用户使用支付宝客户端扫一扫功能扫码,在支付宝客户端内实现签约;4需注意签约后回调 return_url 在支付宝客户端内h5页面打开,无法在pc页面跳转;5商家根据回调后信息查询是否签约成功,进行数据处理并返回给pc端页面。小程序●若使用 my.paysigncenter 接口唤起签约页,需通过:alipayuseragreementpagesignresponse response = alipayclient.sdkexecute(request); 方式获取 response 参数。●若想获取签约链接直接点击或生成二维码供用户扫码签约可使用:alipayuseragreementpagesignresponse response = alipayclient.pageexecute(request,"get"); 方式获取跳转链接。详情可查看 周期/商家扣款。注意事项接口api:alipay.user.agreement.page.sign(支付宝个人协议页面签约接口)请求参数必传:personal_product_code、access_params、period_rule_params。支付后签约h5页面●h5 页面集成 方式不支持在支付宝客户端外使用,只支持端内调用。●h5 页面通过 方式在支付宝客户端内的 h5 页面请求支付,该方式存在一定风险导致被拦截导致无法唤起收银台。商家app集成方案按照app支付请求支付的模式即可,可查看 客户端demo。pc页面接口请求生成请求字符串是必须在商家app,不支持用户在pc页面登录支付签约。若要pc端签约可参考以下方式:1将 (app支付接口2.0)生成的请求字符串转换为二维码,在pc端页面展示;2商家自己有一个商家app;3引导用户使用商家app扫码获取请求字符串,参考商家app集成方式请求;4签约后回调 return_url 在支付宝客户端内h5页面打开,无法在pc页面跳转;5商家根据回调后信息查询是否签约成功,进行数据处理并返回给pc端页面。小程序开发者调用 (app支付接口2.0)传入签约相关参数使用 sdkexecute 方法,将 response.getbody() 方法返回值作为 orderstr 参数,将其传入 jsapi 即可实现唤起收银台支付并签约。详见 。注意事项接口api:(app支付接口2.0)请求参数必传:subject、out_trade_no、total_amount、product_code、agreement_sign_params在 agreement_sign_params 中设置签约周期/商家扣款的签约参数 personal_product_code、access_params、period_rule_params。注意事项●无论是先签约后代扣,还是支付后签约,在后续扣款中都根据调用 alipay.trade.pay(统一收单交易支付接口),在支付接口中设置签约协议号等数据进行支付,不是通过系统实现自动扣款。●周期/商家扣款一对多模式下,签约时必须设置 external_agreement_no(外部商户签约号)与 sign_scene(协议签约场景)。