接口说明
该接口是页面跳转接口,用于生成用户访问支付宝的跳转链接。请在服务端执行支付宝sdk中pageexecute方法,读取响应中的body()结果。该结果用于跳转到支付宝页面,返回到用户浏览器渲染或重定向跳转到支付宝页面。具体使用方法请参考
通用场景
外部商户app唤起快捷sdk创建现金红包单据并进行支付
公共请求参数
业务请求参数
out_biz_no|外部单号必选string(64)
【描述】商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
【示例值】2018062800001
trans_amount|金额必选price(16)
【描述】订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,9999999999999.99]
【示例值】8.88
product_code|产品码必选string(64)
【描述】销售产品码,商家和支付宝签约的产品码。
std_red_packet:现金红包
【示例值】std_red_packet
biz_scene|场景码必选string(64)
【描述】描述特定的业务场景,可传值如下:
personal_pay: 发红包
【示例值】personal_pay
order_id|订单号可选string(64)
【描述】支付宝订单号
【示例值】20191001110076000006120015113294
remark|备注可选string(200)
【描述】支付备注
【示例值】拼手气红包
order_title|订单标题可选string(128)
【描述】支付订单的标题,用于在收银台和消费记录展示
【示例值】钉钉拼手气红包
time_expire|过期时间可选string(16)
【描述】绝对超时时间,格式为yyyy-mm-dd hh:mm
【示例值】2018-03-23 19:15
refund_time_expire|退款过期时间可选string(16)
【描述】退款超时时间,格式yyyy-mm-dd hh:mm。到指定时间后,系统会自动触发退款,并原路退回到付款账户。如果指定了退款时间,必须早于销售方案里设置的最晚退款时间。
【示例值】2018-11-08 10:00
business_params|业务扩展参数可选string(2048)
【描述】json格式,传递业务扩展参数.
业务扩展字段,json格式。支持如下属性:
sub_biz_scene 子场景,必填,传redpacket
payer_binded_alipay_uid 创建红包的商户会员绑定的支付宝userid,必填
【示例值】{"sub_biz_scene":"redpacket","payer_binded_alipay_uid":"2088302510459335"}
常见请求示例
推荐示例
默认示例
package com.java.sdk.demo;
import com.alipay.api.alipayapiexception;
import com.alipay.api.alipayclient;
import com.alipay.api.defaultalipayclient;
import com.alipay.api.alipayconfig;
import com.alipay.api.domain.alipayfundtransapppaymodel;
import com.alipay.api.request.alipayfundtransapppayrequest;
import com.alipay.api.response.alipayfundtransapppayresponse;
import com.alipay.api.fileitem;
import java.util.base64;
import java.util.arraylist;
import java.util.list;
public class alipayfundtransapppay {
public static void main(string[] args) throws alipayapiexception {
// 初始化sdk
alipayclient alipayclient = new defaultalipayclient(getalipayconfig());
// 构造请求参数以调用接口
alipayfundtransapppayrequest request = new alipayfundtransapppayrequest();
alipayfundtransapppaymodel model = new alipayfundtransapppaymodel();
// 设置外部单号
model.setoutbizno("2018062800001");
// 设置金额
model.settransamount("8.88");
// 设置产品码
model.setproductcode("std_red_packet");
// 设置场景码
model.setbizscene("personal_pay");
// 设置订单标题
model.setordertitle("钉钉拼手气红包");
// 设置业务扩展参数
model.setbusinessparams("{\"sub_biz_scene\":\"redpacket\",\"payer_binded_alipay_uid\":\"2088302510459335\"}");
request.setbizmodel(model);
// 第三方代调用模式下请设置app_auth_token
// request.putothertextparam("app_auth_token", "<-- 请填写应用授权令牌 -->");
alipayfundtransapppayresponse response = alipayclient.pageexecute(request, "post");
// 如果需要返回get请求,请使用
// alipayfundtransapppayresponse response = alipayclient.pageexecute(request, "get");
string pageredirectiondata = response.getbody();
system.out.println(pageredirectiondata);
if (response.issuccess()) {
system.out.println("调用成功");
} else {
system.out.println("调用失败");
// sdk版本是"4.38.0.all"及以上,可以参考下面的示例获取诊断链接
// string diagnosisurl = diagnosisutils.getdiagnosis;
// system.out.println(diagnosisurl);
}
}
private static alipayconfig getalipayconfig() {
string privatekey = "<-- 请填写您的应用私钥,例如:miievqibadanb ... ... -->";
string alipaypublickey = "<-- 请填写您的支付宝公钥,例如:miibijanbg... -->";
alipayconfig alipayconfig = new alipayconfig();
alipayconfig.setserverurl("https://openapi.alipay.com/gateway.do");
alipayconfig.setappid("<-- 请填写您的appid,例如:2019091767145019 -->");
alipayconfig.setprivatekey(privatekey);
alipayconfig.setformat("json");
alipayconfig.setalipaypublickey(alipaypublickey);
alipayconfig.setcharset("utf-8");
alipayconfig.setsigntype("rsa2");
return alipayconfig;
}
}
说明:本示例仅供参考。
公共响应参数
无公共响应参数
业务响应参数
pageredirectiondata|跳转页面数据必选string(16384)
【描述】用于跳转支付宝页面的信息,post和get方法生成内容不同:使用post方法执行,结果为html form表单,在浏览器渲染即可;使用get方法会得到支付宝url,需要打开或重定向到该url。建议使用post方式。具体使用方法请参考
【示例值】请参考响应示例
响应示例
正常示例
说明:本示例仅供参考。
公共错误码
业务错误码
无业务错误码