收发现金红包之-红包协议支付接口(alipay.fund.coupon.order.agreement.pay)

简介: 商户签署无密支付协议,然后通过代扣的方式发红包,参数详情点击参考文档 我这边分享一下java版的示例供大家参考,适用于jdk版本1.5及以上的开发环境 ,sdk可点击下载 2.代码示例: /** * *//** * @author wb-jm273093 * */package alipay.

商户签署无密支付协议,然后通过代扣的方式发红包,参数详情点击参考文档 我这边分享一下java版的示例供大家参考,适用于jdk版本1.5及以上的开发环境 ,sdk可点击下载 


2.代码示例: 

/**
 *
 */
/**
 * @author wb-jm273093
 *
 */
package alipay.com.test;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
 
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayFundCouponOrderAgreementPayModel;
import com.alipay.api.request.AlipayFundCouponOrderAgreementPayRequest;
import com.alipay.api.response.AlipayFundCouponOrderAgreementPayResponse;
 
import alipay.com.config.Config;
/**
 * 红包协议支付接口(商户即请求的appid账号付款,无需输入密码)
 * @author wb-wly251833
 * 文档链接:https://docs.open.alipay.com/api_5/alipay.fund.coupon.order.agreement.pay
 */
public class AlipayFundCouponOrderAgreementPay {
    public static void main(String[] args) throws AlipayApiException {
        //在SDK调用前需要进行初始化
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", Config.appId, Config.privateKey, "json","utf-8", Config.alipayPulicKey, "RSA");
        AlipayFundCouponOrderAgreementPayRequest request = new AlipayFundCouponOrderAgreementPayRequest();
        AlipayFundCouponOrderAgreementPayModel model = new AlipayFundCouponOrderAgreementPayModel();
        //商户的授权资金订单号 (自己填写,必须保证唯一性)
        model.setOutOrderNo(getoutOrderNo());
        //商户本次资金操作的请求流水号 (自己填写,必须保证唯一性)
        model.setOutRequestNo(getoutOrderNo()+"test");
        //订单描述
        model.setOrderTitle("红包协议支付接口");
        //金额,取值范围:[0.01,100000000.00]
        model.setAmount("0.01");
        //付款方的支付宝唯一用户号,以2088开头的16位纯数字组成
        model.setPayerUserId("2088411964648546");
        //该笔订单允许的最晚付款时间
        model.setPayTimeout("1h");
        request.setBizModel(model);
        AlipayFundCouponOrderAgreementPayResponse response = alipayClient.execute(request);
        if(response.isSuccess()){
            System.out.println("调用成功!");
        }else {
            System.out.println("调用失败!");
        }
         
        System.out.println(response.getBody());
}
     
    /**
     * 随机生成订单号
     * @return
     */
    private static String getoutOrderNo() {
        // TODO Auto-generated method stub
         SimpleDateFormat simpleDateFormat;
         simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
         Date date = new Date();
         String str = simpleDateFormat.format(date);
         Random random = new Random();
         int rannum = (int) (random.nextDouble() * (999 - 100 + 1)) + 100;// 获取5位随机数
         return str+rannum;// 当前时间
    }
}

如果没有权限,则会返回

调用失败!
{"alipay_fund_coupon_order_agreement_pay_response":{"code":"40004","msg":"Business Failed","sub_code":"ERROR_BALANCE_PAYMENT_DISABLE","sub_msg":"余额支付功能关闭","amount":"0.01","auth_no":"2018010410002001540285562705","operation_id":"20180104462225275402","out_order_no":"20180104145007943","out_request_no":"20180104145007657test","status":"INIT"},"sign":"XXXX"}

由于这边权限过期了,所以没有成功返回的信息,但是代码运行是没问题的 该接口是直接使用的alipayClient.execute(request);,几个红包接口调用的方法都不一样,大家要区别开来,不要混用了。 如有其它问题,欢迎论坛评论留言,如有不足之处也欢迎多多吐槽!!!

目录
相关文章
|
存储 缓存 API
实现电商物流API的实时追踪功能
在电商时代,实时物流追踪已成为提升用户体验的核心功能。本文详解如何通过物流API实现包裹位置追踪、ETA计算及数据优化,涵盖API集成、后端处理、前端展示与性能调优,助力构建高效可靠的追踪系统,提升用户信任与满意度。
|
人工智能 数据挖掘
🔔阿里云百炼智能体和工作流可以发布为组件了,AI应用变成“搭积木”
本文介绍了如何通过智能体组件化设计快速生成PPT。首先,创建一个“PPT大纲生成”智能体并发布为组件,该组件可根据用户输入生成结构清晰的大纲。接着,在新的智能体应用中调用此组件与MCP服务(如ChatPPT),实现从大纲到完整PPT的自动化生成。整个流程模块化、复用性强,显著降低AI开发门槛,提升效率。非技术人员也可轻松上手,满足多样化场景需求。
2093 0
|
数据采集 搜索推荐 数据可视化
一文讲透,如何快速完成埋点与用户行为分析产品选型
在ClkLog的日常咨询中,我们发现有接近一半的客户是刚刚起步接触用户行为分析,在意识到这项需求之后,他们常常面临各种困惑。为此,ClkLog通常会建议客户从三个关键点来梳理: 我们的需求目标是什么?可能会涉及哪些产品? 公司对产品数据是否有要求?SaaS还是私有化建设? 核心需求是哪些?是否需要产品包含或可以自己二开?
从零开始学Pyqt5之【控件介绍】(5):QRadioButton单选控件
从零开始学Pyqt5之【控件介绍】(5):QRadioButton单选控件
从零开始学Pyqt5之【控件介绍】(5):QRadioButton单选控件
|
算法 机器学习/深度学习
【算法导论】第i小的元素
第i小的元素       时间复杂度:O(n).       基本思想:和快速排序的思想相似,也是对数组进行递归划分,但是有所差别的是,快速排序会递归处理划分的两边,而随机化的选择算法只选择一边。
1206 0
人工智能 缓存 前端开发
9372 44
人工智能 JavaScript 开发工具
3883 10
开发工具 Swift git
1500 2
缓存 JavaScript Shell
1779 3

热门文章

最新文章