开发者社区> 问答> 正文

#支付宝 周期扣款到期是否自动扣款?

用户与商户之前签约周期扣款协议,设定周期时间,是否是到期后系统自动扣款,将金额收款到商户账户呢?

展开
收起
保持可爱mmm 2020-05-07 09:37:17 1428 0
1 条回答
写回答
取消 提交回答
  • 解决方案

    不是的,周期扣款在后续扣款时,需商户调用【alipay.trade.pay(统一收单交易支付接口)】进行扣款,不是无感知的系统自动扣款。

    1、扣款时间

    目前允许商户在约定日期之前3天开始扣款,如扣款时间2019-11-04,可从11-01到11-04调用扣款接口。

    2、到账时间

    接口调用扣款成功,钱包内就显示账单,支付成功。

    如:周期要求为2019-11-04扣款,在11-01调用接口后,实际11-01已扣款成功,而不是等待到11-04才进行扣款。

    接口调用是否扣款成功,根据【alipay.trade.query(统一收单线下交易查询)】返回的trade_status(交易状态)进行判断:TRADE_SUCCESS和TRADE_FINISHED都表示扣款成功。

    3、扣款次数

    在周期内第一次扣款成功,第二次扣款必须等下一个周期才可以扣款,否则同一个周期内扣款2次,第二次报错ACQ.CYCLE_PAY_DATE_NOT_MATCH(扣款日期不在签约时的允许范围之内)。

    4、传参示例

    参考【alipay.trade.pay(统一收单交易支付接口)】修改如下

    (1)product_code:修改为CYCLE_PAY_AUTH 必填;

    (2)添加agreement_params,在agreement_params添加二级参数agreement_no

    (3)参考接口说明必传subject、out_trade_no、total_amount。

    java示例:

    AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2"); AlipayTradePayRequest request = new AlipayTradePayRequest(); //创建API对应的request类 request.setBizContent("{" + ""subject":"大乐透"," + ""out_trade_no":"70501111111S04181414881819"," + ""total_amount":"0.01"," + // 修改添加:product_code: CYCLE_PAY_AUTH 必填 ""product_code":"CYCLE_PAY_AUTH"," + ""agreement_params":{" + // 支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号 ) ""agreement_no":"20195830578877424886"" +
    " }" + " }"); AlipayTradePayResponse response = alipayClient.execute(request); System.out.println(response.getBody()); try { } catch (Exception e) { e.printStackTrace(); } }

    2020-05-07 11:52:22
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载