文档中心 > 预发目录树

alipay.trade.page.pay

更新时间:2017/06/29 访问次数:44184

PC场景下单并支付

公共参数

请求地址:
环境 HTTPS请求地址
正式环境 https://openapi.alipay.com/gateway.do
公共请求参数:
参数 类型 是否必填 最大长度 描述 示例值
app_id String 32 支付宝分配给开发者的应用ID 2014072300007148
method String 128 接口名称 alipay.trade.page.pay
format String 40 仅支持JSON JSON
return_url String 256 同步返回地址,HTTP/HTTPS开头字符串 https://m.alipay.com/Gk8NF23
charset String 10 请求使用的编码格式,如utf-8,gbk,gb2312等 utf-8
sign_type String 10 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2
sign String 256 商户请求参数的签名串,详见签名 详见示例
timestamp String 19 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 2014-07-24 03:07:50
version String 3 调用的接口版本,固定为:1.0 1.0
notify_url String 256 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 https://api.xx.com/receive_notify.htm
biz_content String - 业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档  

请求参数

参数 类型 是否必填 最大长度 描述 示例值
out_trade_no String 64 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复 20150320010101001
product_code String 64 销售产品码,与支付宝签约的产品码名称。 注:目前仅支持FAST_INSTANT_TRADE_PAY FAST_INSTANT_TRADE_PAY
total_amount Price 11 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 88.88
subject String 256 订单标题 Iphone6 16G
body String 128 订单描述 Iphone6 16G
goods_detail String   订单包含的商品列表信息,Json格式,详见商品明细说明 {"show_url":"https://www.alipay.com"}
passback_params String 512 公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝只会在异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给支付宝 merchantBizType%3d3C%26merchantBizNo%3d2016010101111
extend_params String   业务扩展参数,详见业务扩展参数说明 {"sys_service_provider_id":"2088511833207846"}
goods_type String 2 商品主类型:0—虚拟类商品,1—实物类商品(默认)
注:虚拟类商品不支持使用花呗渠道
0
timeout_express String 6

该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。

该参数在请求到支付宝时开始计时。

90m
enable_pay_channels String 128 可用渠道,用户只能在指定渠道范围内支付
当有多个渠道时用“,”分隔
注:与disable_pay_channels互斥
pcredit,moneyFund,debitCardExpress
disable_pay_channels String 128 禁用渠道,用户不可用指定渠道支付
当有多个渠道时用“,”分隔
注:与enable_pay_channels互斥
pcredit,moneyFund,debitCardExpress
auth_token String 40 针对用户授权接口,获取用户相关数据时,用于标识用户授权关系 appopenBb64d181d0146481ab6a762c00714cC27
qr_pay_mode String 2 PC扫码支付的方式,支持前置模式和跳转模式。
前置模式是将二维码前置到商户的订单确认页的模式。需要商户在自己的页面中以 iframe 方式请求支付宝页面。具体分为以下几种:
0:订单码-简约前置模式,对应 iframe 宽度不能小于600px,高度不能小于300px;
1:订单码-前置模式,对应iframe 宽度不能小于 300px,高度不能小于600px;
3:订单码-迷你前置模式,对应 iframe 宽度不能小于 75px,高度不能小于75px;
4:订单码-可定义宽度的嵌入式二维码,商户可根据需要设定二维码的大小。

跳转模式下,用户的扫码界面是由支付宝生成的,不在商户的域名下。
2:订单码-跳转模式
4
qrcode_width String 4

商户自定义二维码宽度

注:qr_pay_mode=4时该参数生效

100

业务扩展参数说明

参数 类型 是否必填 最大长度 描述 示例值
sys_service_provider_id String 64 系统商编号,该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID 2088511833207846

商品明细说明

参数 类型 是否必填 最大长度 描述 示例值
show_url String 400 商品的展示地址 http://www.alipay.com


渠道说明

渠道名称 说明
balance 余额
moneyFund 余额宝
coupon 红包
pcredit 花呗
pcreditpayInstallment 花呗分期
creditCard 信用卡
creditCardExpress 信用卡快捷
creditCardCartoon 信用卡卡通
credit_group 信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期)
debitCardExpress 借记卡快捷
mcard 商户预存卡
pcard 个人预存卡
promotion 优惠(包含实时优惠+商户优惠)
voucher 营销券
point 积分
mdiscount 商户优惠
bankPay 网银

请求示例

JAVA示例

import com.alipay.api.*;
import com.alipay.api.request.*;
public void doPost(HttpServletRequest httpRequest,
                      HttpServletResponse httpResponse) throws ServletException, IOException {
    AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE); //获得初始化的AlipayClient
    AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();//创建API对应的request
    alipayRequest.setReturnUrl("http://domain.com/CallBack/return_url.jsp");
    alipayRequest.setNotifyUrl("http://domain.com/CallBack/notify_url.jsp");//在公共参数中设置回跳和通知地址
    alipayRequest.setBizContent("{" +
        "    \"out_trade_no\":\"20150320010101001\"," +
        "    \"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
        "    \"total_amount\":88.88," +
        "    \"subject\":\"Iphone6 16G\"," +
        "    \"body\":\"Iphone6 16G\"," +
        "    \"passback_params\":\"merchantBizType%3d3C%26merchantBizNo%3d2016010101111\"," +
        "    \"extend_params\":{" +
        "    \"sys_service_provider_id\":\"2088511833207846\"" +
        "    }"+
        "  }");//填充业务参数
    String form="";
    try {
        form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
    } catch (AlipayApiException e) {
        e.printStackTrace();
    }
    httpResponse.setContentType("text/html;charset=" + CHARSET);
    httpResponse.getWriter().write(form);//直接将完整的表单html输出到页面
    httpResponse.getWriter().flush();
    httpResponse.getWriter().close();
}

PHP示例

  require_once("AopSdk.php");

  //构造参数
  $aop = new AopClient ();
  $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
  $aop->appId = '请填写APPID';
  $aop->rsaPrivateKey = '请填写商户私钥';
  $aop->apiVersion = '1.0';
  $aop->signType = 'RSA2';
  $aop->postCharset= 'utf-8';
  $aop->format='json';
  $request = new AlipayTradePagePayRequest ();
  $request->setReturnUrl('请填写您的页面同步跳转地址');
  $request->setNotifyUrl('请填写您的异步通知地址');
  $request->setBizContent('{"product_code":"FAST_INSTANT_TRADE_PAY","out_trade_no":"20150320010101001","subject":"Iphone6 16G","total_amount":"88.88","body":"Iphone6 16G"}');

  //请求
  $result = $aop->pageExecute ($request); 

  //输出
  echo $result;

.NET示例

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "app_id", "merchant_private_key", "json", "1.0", "RSA2", "alipay_public_key", "utf-8", false);
AlipayTradePagePayRequest  request= new AlipayTradePagePayRequest() ;
request.BizContent="{" +
"    \"body\":\"Iphone6 16G\"," +
"    \"subject\":\"Iphone6 16G\"," +
"    \"out_trade_no\":\"20150320010101001\"," +
"    \"total_amount\":88.88," +
"    \"product_code\":\"FAST_INSTANT_TRADE_PAY\"" +
"  }";
AlipayTradePagePayResponse response=client.pageExecute(request);
string  form  =  response.Body;
Response.Write(form);

页面回跳参数

对于PC网站支付的交易,在用户支付完成之后,支付宝会根据API中商户传入的return_url参数,通过GET请求的形式将部分支付结果参数通知到商户系统。

公共参数:

参数 类型 是否必填 最大长度 描述 示例值
app_id String 32 支付宝分配给开发者的应用ID 2016040501024706
method String 128 接口名称 alipay.trade.page.pay.return
sign_type String 10 签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2
sign String 256 支付宝对本次支付结果的签名,开发者必须使用支付宝公钥验证签名 详见示例
charset String 10 编码格式,如utf-8,gbk,gb2312等 utf-8
timestamp String 19 前台回跳的时间,格式"yyyy-MM-dd HH:mm:ss" 2016-08-11 19:36:01
version String 3 调用的接口版本,固定为:1.0 1.0
auth_app_id String 32 授权方的appid
注:由于本接口暂不开放第三方应用授权,因此auth_app_id=app_id
2016040501024706

 业务参数:

参数 类型 是否必填 最大长度 描述 示例值
out_trade_no String 64 商户网站唯一订单号 70501111111S001111119
trade_no String 64 该交易在支付宝系统中的交易流水号。最长64位。 2016081121001004630200142207
total_amount Price 9 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 9.00
seller_id String 16 收款支付宝账号对应的支付宝唯一用户号。 以2088开头的纯16位数字 2088111111116894

页面回跳示例

https://m.alipay.com/GkSL?total_amount=0.10&timestamp=2016-11-02+18%3A34%3A19&sign=G3WI0czviMAOzS5t0fYaDgK32sGpjkkXYVFTpYMtgX8JaXLiGiUTO%2F2IHogcCFT96jBCLZ6IsNzd%2BmxkB%2FRuwG%2F7naQk1qReuORMkrB5cpBf9U40bIUoCmSNqtANsTE2UPV7GKegYG2RqoCRScTmeFAFHj5L7zsM%2BLuYb9mqN3g%3D&trade_no=2016110221001004330228438026&sign_type=RSA2&auth_app_id=2014073000007292&charset=UTF-8&seller_id=2088411964605312&method=alipay.trade.page.pay.return&app_id=2014073000007292&out_trade_no=20150g320g010101001&version=1.0
 

FAQ

关于此文档暂时还没有FAQ
返回
顶部