名字 | 类型 | 整理 | 属性 | 空 | 默认 | 额外 | 注释 |
---|---|---|---|---|---|---|---|
pay_id | varchar(25) | utf8_general_ci | 否 | 无 | 付款单ID | ||
pay_type | varchar(20) | utf8_general_ci | 否 | recharge | recharge|order | ||
order_id | varchar(50) | utf8_general_ci | 否 | 无 | 订单表pe_order.order_id | ||
order_outid | varchar(50) | utf8_general_ci | 否 | 无 | 第三方支付订单号 | ||
order_name | varchar(100) | utf8_general_ci | 否 | 无 | |||
order_data | text | utf8_general_ci | 否 | 无 | |||
order_state | varchar(10) | utf8_general_ci | 否 | wpay | wpay|success | ||
order_payment | varchar(20) | utf8_general_ci | 否 | alipay_js | 支付方式类型 | ||
order_payment_name | varchar(20) | utf8_general_ci | 否 | 无 | 支付方式名称 | ||
order_money | decimal(10,2) | UNSIGNED | 否 | 0.00 | |||
order_atime | int(10) | UNSIGNED | 否 | 0 | 下单时间 | ||
order_ptime | int(10) | UNSIGNED | 否 | 0 | 付款时间 | ||
order_pstate | tinyint(1) | UNSIGNED | 否 | 0 | 付款状态 | ||
user_id | int(10) | UNSIGNED | 否 | 无 | |||
user_name | varchar(20) | utf8_general_ci | 否 | 无 |
pay_id | pay_type | order_id | order_outid | order_name | order_money | order_data | order_state | order_payment | order_payment_name | order_atime | order_ptime | order_pstate | user_id | user_name |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
pay_231023151853275 | recharge | 商城用户【137****2550】账户充值1元 | 1.00 | wpay | wxpay | 微信支付 | 1698045533 | 0 | 0 | 6 | 137****2550 |
支付宝手机网站支付流程手机截图
alipay.trade.page.pay(统一收单下单并支付页面接口)
电脑网站支付
PC场景下单并支付
1 公共请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | String | 必选 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
method | String | 必选 | 128 | 接口名称 | alipay.trade.page.pay |
charset | String | 必选 | 10 | 请求使用的编码格式,如utf-8、gbk、gb2312等 | utf-8 |
sign_type | String | 必选 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
sign | String | 必选 | 344 | 商户请求参数的签名串,详见签名 | 详见示例 |
timestamp | String | 必选 | 19 | 发送请求的时间,格式yyyy-MM-dd HH:mm:ss | 2014-07-24 03:07:50 |
version | String | 必选 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
biz_content | String | 必选 | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 | ||
format | String | 可选 | 40 | 仅支持JSON | JSON |
return_url | String | 可选 | 256 | HTTP/HTTPS开头字符串 | 支付宝同步通知详细说明 |
notify_url | String | 可选 | 256 | 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 | |
app_auth_token | String | 可选 | 40 | 详见应用授权概述 |
2 请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
out_trade_no | String | 必选 | 64 | 商户订单号。 由商家自定义,64个字符以内,仅支持字母、数字、下划线且需保证在商户端不重复。 | 20150320010101001 |
total_amount | Price | 必选 | 11 | 订单总金额,单位为元,精确到小数点后两位,取值范围为[0.01,100000000],金额不能为0。 | 88.88 |
subject | String | 必选 | 256 | 订单标题。 注意:不可使用特殊字符,如/、=、&等。 | Iphone6 16G |
product_code | String | 必选 | 64 | 销售产品码,与支付宝签约的产品码名称。注:目前电脑支付场景下仅支持FAST_INSTANT_TRADE_PAY | FAST_INSTANT_TRADE_PAY |
qr_pay_mode | String | 可选 | 2 |
PC扫码支付的方式。 支持前置模式和跳转模式。 前置模式是将二维码前置到商户的订单确认页的模式。需要商户在自己的页面中以iframe方式请求支付宝页面。具体支持的枚举值有以下几种: 0:订单码-简约前置模式,对应iframe宽度不能小于600px,高度不能小于300px; 1:订单码-前置模式,对应iframe宽度不能小于 300px,高度不能小于600px; 3:订单码-迷你前置模式,对应iframe宽度不能小于75px,高度不能小于75px; 4:订单码-可定义宽度的嵌入式二维码,商户可根据需要设定二维码的大小。 跳转模式下,用户的扫码界面是由支付宝生成的,不在商户的域名下。支持传入的枚举值有: 2:订单码-跳转模式 | |
qrcode_width | Number | 可选 | 4 | 商户自定义二维码宽度。 注:qr_pay_mode=4时该参数有效 | |
time_expire | String | 可选 | 32 |
订单绝对超时时间。 格式为yyyy-MM-dd HH:mm:ss。超时时间范围:1m~15d。 注:time_expire和timeout_express两者只需传入一个或者都不传,两者均传入时,优先使用time_expire。 |
异步通知说明
对于PC网站支付的交易,在用户支付完成之后,支付宝会根据API中商家传入的notify_url,通过POST请求的形式将支付结果作为参数通知到商家系统。
1 异步通知参数
1.1 公共参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
notify_time | Date | 是 | - | 通知的发送时间。格式为yyyy-MM-dd HH:mm:ss | 2018-10-21 15:45:22 |
notify_type | String | 是 | 64 | 通知类型 | trade_status_sync |
notify_id | String | 是 | 128 | 通知校验ID | ac05099524730693a8b330c45cf72da943 |
charset | String | 是 | 10 | 编码格式。如utf-8、gbk、gb312等 | utf-8 |
version | String | 是 | 3 | 调用的接口版本。固定为1.0 | 1.0 |
sign_type | String | 是 | 10 | 签名类型。签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
sign | String | 是 | 344 | 签名。详情可查看异步返回结果的验签 | 601510b7970e52cc63db0f44997cf70e |
auth_app_id | String | 是 | 32 | 授权方的APPID。由于本接口暂不开放第三方应用授权,因此 auth_app_id=app_id | 2018072300007418 |
1.2 业务参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
trade_no | String | 是 | 64 | 支付宝交易号,支付宝交易凭证号。 | 2013112011001004330000121536 |
app_id | String | 是 | 32 | 支付宝应用的APPID。支付宝分配给开发者的应用ID | 2019082200007148 |
out_trade_no | String | 是 | 64 | 商家订单号。原支付请求的商家订单号 | 6823789339978248 |
out_biz_no | String | 否 | 64 | 商家业务号。商家业务ID,通常是退款通知中返回的退款申请流水号 | HZRF001 |
buyer_id | String | 否 | 16 | 买家支付宝账号ID。以2088开头的纯16位数字 | 20881***524333 |
seller_id | String | 否 | 30 | 卖家支付宝账号ID。以2088开头的纯16位数字 | 20881***2239364 |
trade_status | String | 否 | 32 |
交易状态。交易目前所处状态 WAIT_BUYER_PAY 交易创建,等待买家付款。 TRADE_CLOSED 未付款交易超时关闭,或支付完成后全额退款。 TRADE_SUCCESS 交易支付成功。 TRADE_FINISHED 交易结束,不可退款。 | TRADE_CLOSED |
total_amount | Number | 否 | 11 | 订单金额。本次交易支付订单金额,单位为人民币(元),精确到小数点后2位 | 20.00 |
receipt_amount | Number | 否 | 11 | 实收金额。商家在交易中实际收到的款项,单位为人民币(元),精确到小数点后2位 | 15.00 |
invoice_amount | Number | 否 | 11 | 开票金额。用户在交易中支付的可开发票的金额,单位为人民币(元),精确到小数点后2位 | 13.88 |
buyer_pay_amount | Number | 否 | 11 | 用户在交易中支付的金额,单位为人民币(元),精确到小数点后2位 | 12.00 |
point_amount | Number | 否 | 11 | 使用集分宝支付金额,单位为人民币(元),精确到小数点后2位 | 12.00 |
refund_fee | Number | 否 | 11 | 总退款金额。退款通知中,返回总退款金额,单位为人民币(元),精确到小数点后2位 | 2.58 |
subject | String | 否 | 256 | 订单标题/商品标题/交易标题/订单关键字等,是请求时对应参数,会在通知中原样传回 | |
body | String | 否 | 400 | 商品描述。该订单的备注、描述、明细等。对应请求时的body参数,会在通知中原样传回 | |
gmt_create | Date | 否 | - | 交易创建时间。格式为 yyyy-MM-dd HH:mm:ss | 2018-08-25 15:34:42 |
gmt_payment | Date | 否 | - | 交易付款时间。格式为 yyyy-MM-dd HH:mm:ss | 2018-08-25 15:34:42 |
gmt_refund | Date | 否 | - | 交易退款时间。格式为 yyyy-MM-dd HH:mm:ss.S | 2018-08-26 10:34:44.340 |
gmt_close | Date | 否 | - | 交易结束时间。格式为 yyyy-MM-dd HH:mm:ss | 2018-08-26 16:32:30 |
fund_bill_list | String | 否 | 512 | 支付金额信息。支付成功的各个渠道金额信息。 | |
vocher_detail_list | String | 否 | 512 | 优惠券信息。本交易支付时所使用的所有优惠券信息。详情可查看下表优惠券信息说明 | |
passback_params | String | 否 | 512 | 回传参数,公共回传参数,如果请求时传递了该参数,则返回的异步通知会原样传回。本参数必须进行UrlEncode之后才可传入。 | merchantBizType%3d3C%26merchantBizNo%3d201601001111 |
alipay.trade.query(统一收单交易查询)
该接口提供所有支付宝支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。需要调用查询接口的情况:
当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
调用支付接口后,返回系统错误或未知交易状态情况;
调用alipay.trade.pay,返回INPROCESS的状态;
调用alipay.trade.cancel之前,需确认支付状态。
1 公共请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | String | 必选 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
method | String | 必选 | 128 | 接口名称 | alipay.trade.query |
format | String | 可选 | 40 | 仅支持JSON | JSON |
charset | String | 必选 | 10 | 请求使用的编码格式,如utf-8、gbk、gb2312等 | utf-8 |
sign_type | String | 必选 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
sign | String | 必选 | 344 | 商户请求参数的签名串,详见签名 | |
timestamp | String | 必选 | 19 | 发送请求的时间,格式yyyy-MM-dd HH:mm:ss | 2014-07-24 03:07:50 |
version | String | 必选 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
app_auth_token | String | 可选 | 40 | 详见应用授权概述 | |
biz_content | String | 必选 | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
2 请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
out_trade_no | String | 特殊可选 | 64 |
订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no、out_trade_no如果同时存在优先取trade_no | 20150320010101001 |
trade_no | String | 特殊可选 | 64 | 支付宝交易号,和商户订单号不能同时为空 | |
query_options | String[] | 可选 | 1024 |
查询选项,商户通过上送该参数来定制同步需要额外返回的信息字段,数组格式。支持枚举如下: fund_bill_list:交易支付使用的资金渠道; voucher_detail_list:交易支付时使用的所有优惠券信息; discount_goods_detail:交易支付所使用的单品券优惠的商品优惠信息; mdiscount_amount:商家优惠金额; 枚举值 交易结算信息:trade_settle_info 交易支付使用的资金渠道:fund_bill_list 交易支付时使用的所有优惠券信息:voucher_detail_list 交易支付使用单品券优惠的商品优惠信息:discount_goods_detail 商家优惠金额:mdiscount_amount 医保信息:medical_insurance_info | trade_settle_info |
3 公共响应参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
code | String | 必选 | - | 网关返回码,详见文档 | 40004 |
msg | String | 必选 | - | 网关返回码描述,详见文档 | Business Failed |
sub_code | String | 可选 | - | 业务返回码,参见具体的API接口文档 | ACQ.TRADE_HAS_SUCCESS |
sub_msg | String | 可选 | - | 业务返回码描述,参见具体的API接口文档 | 交易已被支付 |
sign | String | 必选 | - | 签名,详见文档 |
4 响应参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
trade_no | String | 必选 | 64 | 支付宝交易号 | 2013112011001004330000121536 |
out_trade_no | String | 必选 | 64 | 商家订单号 | 6823789339978248 |
buyer_logon_id | String | 必选 | 100 | 买家支付宝账号 | 159****5620 |
trade_status | String | 必选 | 32 |
交易状态: WAIT_BUYER_PAY(交易创建,等待买家付款) TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款) TRADE_SUCCESS(交易支付成功) TRADE_FINISHED(交易结束,不可退款) | TRADE_CLOSED |
total_amount | Price | 必选 | 11 | 交易的订单金额,单位为元,两位小数。该参数的值为支付时传入的total_amount | 88.88 |
buyer_pay_amount | Price | 可选 | 11 | 买家实付金额,单位为元,两位小数。该金额代表该笔交易买家实际支付的金额,不包含商户折扣等金额 | 8.88 |
point_amount | Price | 可选 | 11 | 积分支付的金额,单位为元,两位小数。该金额代表该笔交易中用户使用积分支付的金额,比如集分宝或者支付宝实时优惠等 | 10 |
invoice_amount | Price | 可选 | 11 | 交易中用户支付的可开具发票的金额,单位为元,两位小数。该金额代表该笔交易中可以给用户开具发票的金额 | 12.11 |
send_pay_date | Date | 特殊可选 | 32 | 本次交易打款给卖家的时间 | 2014-11-27 15:45:57 |
receipt_amount | String | 特殊可选 | 11 | 实收金额,单位为元,两位小数。该金额为本笔交易,商户账户能够实际收到的金额 | 15.25 |
store_id | String | 特殊可选 | 32 | 商户门店编号 | NJ_S_001 |
terminal_id | String | 特殊可选 | 32 | 商户机具终端编号 | NJ_T_001 |
fund_bill_list | TradeFundBill[] | 必选 | 交易支付使用的资金渠道。只有在签约中指定需要返回资金明细,或者入参的query_options中指定时才返回该字段信息。 | ||
fund_channel | String | 必选 | 32 | 交易使用的资金渠道,详见支付渠道列表 | ALIPAYACCOUNT |
amount | Price | 必选 | 32 | 该支付工具类型所使用的金额 | 10 |
real_amount | Price | 可选 | 11 | 渠道实际付款金额 | 11.21 |
store_name | String | 特殊可选 | 512 | 请求交易支付中的商户店铺的名称 | 证大五道口店 |
buyer_user_id | String | 必选 | 16 | 买家在支付宝的用户id | 2088101117955611 |
buyer_user_type | String | 特殊可选 | 18 |
买家用户类型。 枚举值 企业用户: CORPORATE 个人用户: PRIVATE | PRIVATE |
mdiscount_amount | String | 特殊可选 | 11 | 商家优惠金额 | 88.88 |
discount_amount | String | 特殊可选 | 11 | 平台优惠金额 | 88.88 |
ext_infos | String | 特殊可选 | 1024 | 交易额外信息,特殊场景下与支付宝约定返回。json格式。 | {"action":"cancel"} |
未付款
pay_id | pay_type | order_id | order_outid | order_name | order_money | order_data | order_state | order_payment | order_payment_name | order_atime | order_ptime | order_pstate | user_id | user_name |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
pay_231023151853275 | recharge | 商城用户【137****2550】账户充值1元 | 1.00 | wpay | wxpay | 微信支付 | 1698045533 | 0 | 0 | 6 | 137****2550 |
支付完成
pay_id | pay_type | order_id | order_outid | order_name | order_money | order_data | order_state | order_payment | order_payment_name | order_atime | order_ptime | order_pstate | user_id | user_name |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
pay_231023151853275 | recharge | 2023102522001443710501215677 | 商城用户【137****2550】账户充值1元 | 1.00 | success | alipay | 支付宝 | 1698045533 | 1698226649 | 1 | 6 | 137****2550 |
名字 | 类型 | 整理 | 属性 | 空 | 默认 | 额外 | 注释 |
---|---|---|---|---|---|---|---|
user_id | int(10) | UNSIGNED | 否 | 无 | AUTO_INCREMENT | 用户ID | |
user_name | varchar(20) | utf8_general_ci | 否 | 无 | 用户名 | ||
user_pw | char(32) | utf8_general_ci | 否 | 无 | 登录密码 | ||
user_paypw | char(32) | utf8_general_ci | 否 | 无 | 支付密码 | ||
user_logo | varchar(100) | utf8_general_ci | 否 | 无 | 用户头像 | ||
user_money | decimal(10,1) | UNSIGNED | 否 | 0.0 | 账户余额 | ||
user_money_cost | decimal(10,1) | UNSIGNED | 否 | 0.0 | 总消费额 | ||
user_money_tg | decimal(10,1) | UNSIGNED | 否 | 0.0 | 推广总收益 | ||
user_point | int(10) | UNSIGNED | 否 | 0 | 帐户积分余额 | ||
user_point_all | int(10) | UNSIGNED | 否 | 0 | 累计获得积分 | ||
user_tname | varchar(10) | utf8_general_ci | 否 | 无 | 用户姓名 | ||
user_phone | char(11) | utf8_general_ci | 否 | 无 | 用户手机 | ||
user_tel | varchar(20) | utf8_general_ci | 否 | 无 | 固定电话 | ||
user_qq | varchar(10) | utf8_general_ci | 否 | 无 | 用户QQ | ||
user_email | varchar(30) | utf8_general_ci | 否 | 无 | 用户邮箱 | ||
user_atime | int(10) | UNSIGNED | 否 | 0 | 用户注册时间 | ||
user_ltime | int(10) | UNSIGNED | 否 | 0 | 用户上次登录时间 | ||
user_address | varchar(255) | utf8_general_ci | 否 | 无 | 用户地址 | ||
user_ordernum | int(10) | UNSIGNED | 否 | 0 | |||
user_tgnum | int(10) | UNSIGNED | 否 | 0 | 邀请人数 | ||
user_state | tinyint(1) | UNSIGNED | 否 | 1 | |||
user_token | char(32) | utf8_general_ci | 否 | 无 | |||
user_ip | char(15) | utf8_general_ci | 否 | 无 | 用户注册IP | ||
user_wx_openid | varchar(50) | utf8_general_ci | 否 | 无 | |||
userlevel_id | smallint(5) | UNSIGNED | 否 | 0 | 用户等级ID | ||
tguser_id | int(10) | UNSIGNED | 否 | 0 | 推广用户ID | ||
tguser_name | varchar(20) | utf8_general_ci | 否 | 无 | 推广用户名 |
名字 | 类型 | 整理 | 属性 | 空 | 默认 | 额外 | 注释 |
---|---|---|---|---|---|---|---|
moneylog_id | int(10) | UNSIGNED | 否 | 无 | AUTO_INCREMENT | ||
moneylog_type | varchar(10) | utf8_general_ci | 否 | 无 | recharge、add、cashout、back | ||
moneylog_in | decimal(10,2) | UNSIGNED | 否 | 0.00 | 收入 | ||
moneylog_out | decimal(10,2) | UNSIGNED | 否 | 0.00 | 支出 | ||
moneylog_now | decimal(10,2) | UNSIGNED | 否 | 0.00 | 当前结余 | ||
moneylog_atime | int(10) | UNSIGNED | 否 | 0 | 时间 | ||
moneylog_adate | date | 否 | 无 | ||||
moneylog_text | varchar(255) | utf8_general_ci | 否 | 无 | |||
user_id | int(10) | UNSIGNED | 否 | 0 | 用户ID | ||
user_name | varchar(30) | utf8_general_ci | 否 | 无 | 用户名 |