已更新更新时间:2024-10-17 11:15:46文档更新记录 >配置项检测工具收藏订阅更新我的文档设置接入检测(即可查看检测结果)若有未通过的接入检测项,接口将无法调通去登录返回文档接口功能:外部商户 app 通过调用 alipay.trade.app.pay 接口唤起快捷 sdk 创建订单并支付。注意:开发者在接入 app 支付 功能时,调用支付接口时的参数和示例代码请以此文档为准。由于 alipay.trade.app.pay 接口还用于其它功能,可能会存在部分参数说明的冲突,如 product_code 等。请求参数是商户在与支付宝进行数据交互时,提供给支付宝的请求数据,以便支付宝根据这些数据进一步处理。1 公共参数参数类型是否必填最大长度描述示例值app_idstring是32支付宝分配给开发者的应用 appid。2014072300007148methodstring是128接口名称alipay.trade.app.payformatstring否40仅支持 jsonjsoncharsetstring是10请求使用的编码格式,app 支付建议使用 utf-8 格式,如使用gbk,gb2312 等格式会有“系统繁忙,请稍后再试”的报错utf-8sign_typestring是10商户生成签名字符串所使用的签名算法类型,目前支持rsa2和rsa,推荐使用rsa2rsa2signstring是256商户请求参数的签名串,可查看 签名。详情可查看示例timestampstring是19发送请求的时间,格式"yyyy-mm-dd hh:mm:ss"。2014-07-24 03:07:50versionstring是3调用的接口版本,固定为:1.0。1.0notify_urlstring是256支付宝服务器主动通知商户服务器里指定的页面 http/https 路径,建议商户使用 https。https://api.xx.com/receive_notify.htmbiz_contentstring是-业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档-2 请求参数参数类型是否必填最大长度描述示例值bodystring否128对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。iphone6 16gsubjectstring是256商品的标题/交易标题/订单标题/订单关键字等。大乐透out_trade_nostring是64商户网站唯一订单号70501111111s001111119timeout_expressstring否6该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。注意:若为空,则默认为15d。90mtotal_amountstring是9订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]9.00product_codestring是64销售产品码,商家和支付宝签约的产品码,app支付功能中该值固定为: quick_msecurity_payquick_msecurity_paygoods_typestring否2商品主类型。●0:虚拟类商品。●1:实物类商品。注意:虚拟类商品不支持使用花呗渠道0goods_detailgoodsdetail[] 否订单包含的商品列表信息,json 格式,其它说明可查看商品明细说明。详情可查看 alipay.trade.app.pay。passback_paramsstring否512公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝会在异步通知时将该参数原样返回。本参数必须进行 urlencode 之后才可以发送给支付宝。merchantbiztype=3c&merchantbizno=2016010101111promo_paramsstring否512优惠参数。注意:仅与支付宝协商后可用。{"storeidtype":"1"}extend_paramsstring否业务扩展参数,可查看下表的 业务扩展参数(extend_params)说明。{"sys_service_provider_id":"2088511833207846"}enable_pay_channelsstring否128可用渠道,用户只能在指定渠道范围内支付 当有多个渠道时用“,”分隔。注意:与 disable_pay_channels 互斥,可用支付渠道可查看下方 渠道说明。pcredit,moneyfund,debitcardexpressdisable_pay_channelsstring否128禁用渠道,用户不可用指定渠道支付 当有多个渠道时用“,”分隔。注意:与 enable_pay_channels 互斥,可用支付渠道可查看下方 渠道说明。pcredit,moneyfund,debitcardexpressstore_idstring否32商户门店编号。该参数用于请求参数中以区分各门店,非必传项。nj_001ext_user_infoextuserinfo否外部指定买家,可查看 外部指定买家(ext_user_info)参数说明。2.1 业务扩展参数(extend_params)说明参数类型是否必填最大长度描述示例值sys_service_provider_idstring否64系统商编号,该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的pid2088511833207846needbuyerrealnamedstring否1是否发起实名校验。●t:发起。●f:不发起。ttrans_memostring否128账务备注。注意:该字段显示在离线账单的账务备注中促销hb_fq_numstring否5花呗分期数(目前仅支持 3、6、12) 。注意:使用该参数需要仔细阅读 。3hb_fq_seller_percentstring否3卖家承担收费比例,商家承担手续费传入 100,用户承担手续费传入 0,仅支持传入100、0 两种,其它比例暂不支持。注意:使用该参数需要仔细阅读 。1002.2 渠道说明渠道名称说明balance余额moneyfund余额宝coupon红包pcredit花呗pcreditpayinstallment花呗分期creditcard信用卡creditcardexpress信用卡快捷creditcardcartoon信用卡卡通credit_group信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期)debitcardexpress借记卡快捷mcard商户预存卡pcard个人预存卡promotion优惠(包含实时优惠 商户优惠)voucher营销券point积分mdiscount商户优惠bankpay网银2.2.1 外部指定买家(ext_user_info)参数说明参数类型是否必填最大长度描述示例值namestring否16姓名注意: need_check_info=t时该参数才有效李明mobilestring否20手机号注意:该参数暂不校验16587658765cert_typestring否32身份证:identity_card、护照:passport、军官证:officer_card、士兵证:soldier_card、户口本:hokou等。如有其它类型需要支持,请与凯发app官方网站的技术支持联系。注意: need_check_info=t时该参数才有效identity_cardcert_nostring否64证件号。注意:need_check_info=t时该参数才有效362334768769238881min_agestring否3允许的最小买家年龄,买家年龄必须大于等于所传数值。注意:●need_check_info=t 时该参数才有效。●min_age为整数,必须大于等于 0。18fix_buyerstring否8是否强制校验付款人身份信息t:强制校验,f:不强制fneed_check_infostring否1是否强制校验身份信息t:强制校验,f:不强制f3 请求示例请求参数组装分下列 3 步,以最后第三步获取到的请求为准。 1请求参数按照 key=value&key=value 方式拼接的未签名原始字符串:2再对原始字符串进行签名,可查看 签名规则:3最后对请求字符串的所有一级 value(biz_content 作为一个 value)进行 encode,编码格式按请求串中的 charset 为准,没传 charset 按 utf-8 处理,获得最终的请求字符串:4 特殊说明(很重要)1商户在请求参数中,自己附属的一些额外参数,不要和支付宝系统中约定的 key(下表中 公共请求参数\请求参数)重名,否则将可能导致未知的异常。 例如以下示例中 app_id=2014072300007148**&version=1.0&biz_content 的 key 是公共请求参数,业务方自己的扩展参数需要放在 biz_content 内部,例如示例中 tips 属性,很显然下面 total_amount 属性是商户按照自己的业务属性赋值的,但是由于 total_amount 也是支付宝关键 key,支付宝将会认为这个 total_amount 是支付宝业务的参数应该是金额,这个最终将导致误解析。下列请求串为了展示清晰,未进行 encode 并且做了格式化处理,下同。2商户的请求参数中,所有的 key(支付宝关键 key 或者商户自己的 key),其对应的 value 中都不应该出现支付宝关键 key,否则该类交易将可能被支付宝拦截禁止支付。 例如以下的请求中"subject":“大乐透 这个辣条不错 out_trade_no=123 total_fee=123.5”,其 value 值中有支付宝关键 key "out_trade_no"、"total_fee",这样的业务请求参数支付宝将会拦截。3商户支付请求参数的安全注意点: a请求参数的 sign 字段请务必在服务端完成签名生成(不要在客户端本地签名);b支付请求中的订单金额 total_amount,请务必依赖服务端,不要轻信客户端上行的数据(客户端本地上行数据在用户手机环境中无法确保一定安全)。