收发现金红包之-红包页面支付接口(alipay.fund.coupon.order.page.pay)

简介: 该接口用于用户在商户PC页进行红包的发放,付款时会链接到支付宝PC登录页面进行登录和后续的支付,在支付成功后跳转回商户页。参数详情点击参考文档 我这边分享一下java版的示例供大家参考,适用于jdk版本1.

该接口用于用户在商户PC页进行红包的发放,付款时会链接到支付宝PC登录页面进行登录和后续的支付,在支付成功后跳转回商户页。参数详情点击参考文档 我这边分享一下java版的示例供大家参考,适用于jdk版本1.5及以上的开发环境


1.代码示例:

/**
 *
 */
/**
 * @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.AlipayFundCouponOrderPagePayModel;
import com.alipay.api.request.AlipayFundCouponOrderPagePayRequest;
import com.alipay.api.response.AlipayFundCouponOrderPagePayResponse;          
import alipay.com.config.Config;
 
/**
 * alipay.fund.coupon.order.page.pay(红包页面支付接口)
 * @author wb-wly251833
 * 文档链接:https://docs.open.alipay.com/api_5/alipay.fund.coupon.order.page.pay
 */
public class AlipayFundCouponOrderPagePay{
    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");
            AlipayFundCouponOrderPagePayRequest request = new AlipayFundCouponOrderPagePayRequest();
            AlipayFundCouponOrderPagePayModel model = new AlipayFundCouponOrderPagePayModel();
            ////商户的授权资金订单号 (后面可用此参数用于打款接口)
            model.setOutOrderNo("2017122716463213");
            //商户本次资金操作的请求流水号 
            model.setOutRequestNo("201712271645325");
            model.setOrderTitle("红包页面支付接口发送红包");
            model.setAmount("0.03");
            request.setBizModel(model);
            AlipayFundCouponOrderPagePayResponse response = alipayClient.pageExecute(request,"get");
            if(response.isSuccess()){
                System.out.println("调用成功");
            } else {
                System.out.println("调用失败");
            }
            System.out.println(response.getBody());
    }
}

我们上面使用的是get方式,调用成功则返回访问链接(这个不是同步返回,是请求成功返回):

https://openapi.alipay.com/gateway.do?alipay_sdk=alipay-sdk-java-dynamicVersionNo&app_id=2016112803499836&biz_content=%7B%22amount%22%3A%220.03%22%2C%22order_title%22%3A%22%E7%BA%A2%E5%8C%85%E9%A1%B5%E9%9D%A2%E6%94%AF%E4%BB%98%E6%8E%A5%E5%8F%A3%E5%8F%91%E9%80%81%E7%BA%A2%E5%8C%85%22%2C%22out_order_no%22%3A%222017122716463213%22%2C%22out_request_no%22%3A%22201712271645325%22%7D&charset=utf-8&format=json&method=alipay.fund.coupon.order.page.pay&return_url=https%3A%2F%2Fopenhome.alipay.com%2FdevelopmentDocument.htm&sign=MPLStxWVevgN6QNH1HjwtkNqM6Y0NNzPj%2B3asC71baZ4MMuHsZ7IK99U9nVoWq0yhvS%2FXXuELgd4CdXQaXCsiEN5okJioJchD4Lp4V4ycFomTOGygFGRhTcM6CqMQps%2Bm0YSaFPxwCa4wBJv%2FBq%2BaunFez3rcDsjFB9fiZYV3VA%3D&sign_type=RSA&timestamp=2017-12-27+16%3A47%3A11&version=1.0&sign=MPLStxWVevgN6QNH1HjwtkNqM6Y0NNzPj%2B3asC71baZ4MMuHsZ7IK99U9nVoWq0yhvS%2FXXuELgd4CdXQaXCsiEN5okJioJchD4Lp4V4ycFomTOGygFGRhTcM6CqMQps%2Bm0YSaFPxwCa4wBJv%2FBq%2BaunFez3rcDsjFB9fiZYV3VA%3D

使用链接访问,则会跳到扫码支付页面,使用手机扫码支付或者登陆账号支付 

如果我们去掉get,直接alipayClient.pageExecute(request);则返回

<form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?charset=utf-8&method=alipay.fund.coupon.order.page.pay&sign=SKLQtYB%2FoM5DdeAmhR8ZecWdxeU9rrRU%2FMSXnxPSkwDvZE7IVe57OOkjYG%2FCKV0rRzr9ThMJDXajUDxNFMzID1Jz3ffHGpOwiF2cDxCOSuYI%2BBwPebLuHXY%2FVG0Yq2gyeM2r8z%2BzFFaTiINbG7lmJfgT3b%2BFPP2Fkc8I2e2YuB4%3D&return_url=https%3A%2F%2Fopenhome.alipay.com%2FdevelopmentDocument.htm&version=1.0&app_id=2016112803499836&sign_type=RSA&timestamp=2017-12-27+16%3A53%3A17&alipay_sdk=alipay-sdk-java-dynamicVersionNo&format=json">
<input type="hidden" name="biz_content" value="{"amount":"0.03","order_title":"红包页面支付接口发送红包","out_order_no":"2017122716463213","out_request_no":"201712271645325"}">
<input type="submit" value="立即支付" style="display:none" >

     form>
<script>document.forms[0].submit();
      script>

将form表单放传入前台访问即可成功显示如上图一样的扫码页面 大家记住这里调用的是 alipayClient.pageExecute(request);不要调用错用execute了,否则会报错的!!! 如有其它问题,欢迎论坛评论留言,如有不足之处也欢迎多多吐槽!!!

目录
相关文章
|
JSON Java API
GSON 泛型对象反序列化解决方案
GSON 泛型对象反序列化解决方案
1142 0
|
缓存 API Android开发
一起学点ARM的微架构二?
一起学点ARM的微架构二?
1019 1
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
530 3
|
11月前
|
人工智能 自然语言处理 监控
小白必备:轻松上手自动化测试的强大工具
本文介绍Playwright MCP如何通过结合自然语言处理与测试自动化,实现从需求描述到代码生成的转变。该方案大幅降低脚本编写和维护成本,提升测试稳定性,为传统自动化测试提供智能化升级路径。
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
1567 1
|
小程序 安全 定位技术
高德地图实现-微信小程序地图导航
高德地图实现-微信小程序地图导航
3553 1
|
前端开发
Bootstrap 5 保姆级教程(六):进度条 & 加载效果
Bootstrap 5 保姆级教程(六):进度条 & 加载效果
|
存储 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(十三)(2)
PyTorch 2.2 中文官方教程(十三)
507 1

热门文章

最新文章