Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solution

单笔查询接口

通过单笔交易查询接口,商户可以根据支付宝交易订单号或商户网站唯一订单号查询交易详细信息。

网关URL

环境HTTPS请求URL
生产环境https://intlmapi.alipay.com/gateway.do
测试环境https://mapi.alipaydev.com/gateway.do

请求参数

参数类型(长度范围)参数说明是否可为空样例
基本参数
serviceString接口名称。不可空single_trade_query
partnerString(16)签约的支付宝账号对应的支付宝唯一用户号。 
以2088开头的16位纯数字组成。
不可空2088001159940003
_input_charsetString商户网站使用的编码格式,如utf-8、gbk、gb2312等。不可空GBK
signString参数值不可空d8ed9f015214e7cd59bfadb6c945a87b
sign_typeString签名方式只支持DSA、RSA、MD5。不可空MD5
业务参数
trade_noString(64)支付宝根据商户请求,创建订单生成的支付宝交易号。 
最短16位,最长64位。 
建议使用支付宝交易号进行查询,用商户网站唯一订单号查询的效率比较低。
可空2010121502730740
out_trade_noString(64)支付宝合作商户网站唯一订单号(确保在商户系统中唯一)。可空210909550602881

同步返回

参数类型(长度范围)参数说明是否可为空样例
基本参数
is_successString

请求是否成功。请求成功不代表业务处理成功。

  • T代表成功
  • F代表失败
不可空T
signString签名值不可空tphoyf4aoio5e6zxoaydjevem2c1s1zo
sign_typeString签名方式只支持DSA、RSA、MD5。不可空MD5
errorString只有当查询交易失败后,才返回错误代码。可空TRADE_NOT_EXIST
业务参数
buyer_emailString买家支付宝账号。不可空tianc002@alipay.com
buyer_idString买家支付宝账号对应的支付宝唯一用户号。不可空2088002007274897
trade_statusString

交易状态包含:

  • TRADE_FINISHED
  •  WAIT_BUYER_PAY
  • TRADE_CLOSED
不可空TRADE_FINISHED
is_total_fee_adjustString
  • 调整过-T;
  • 没有调整过-F。
不可空F
out_trade_noString支付宝合作商户网站唯一订单号(确保在商户系统中唯一)。可空20080108-5
trade_noString支付宝根据商户请求,创建订单生成的支付宝交易号。
最短16位,最长64位。
不可空2010073000019942
subjectString商品的标题/交易标题/订单标题/订单关键字等。不可空Cannon相机
flag_trade_lockedString
  • 1表示冻结;
  • 0表示未冻结。
不可空0
bodyString对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。不可空Canon最新款卡片机
gmt_createDate交易创建的时间。
格式为yyyy-MM-dd HH:mm:ss。
不可空2008-01-08 20:36:12
seller_emailString卖家的支付宝账号。不可空tianc001@alipay.com
seller_idString卖家支付宝账号对应的支付宝唯一用户号。
以2088开头的纯16位数字。
不可空2088002007272365
total_feeNumber单位:RMB。交易金额大于0元。
担保交易单笔交易金额不能超过100万,精确到小数点后两位。
不可空325
price

Number

单位为:RMB Yuan。取值范围为[0.01,1000000.00],精确到小数点后两位。可空10.00
quantity

Number

购买数量。可空1

coupon_discount

String

支付宝代金券金额

可空

1

use_couponString(1)
  • 使用过-T;
  • 未使用过-F。
可空T
discountString折扣。可空0.00
gmt_last_modified_timeDate交易额最新修改时间。
格式为yyyy-MM-dd HH:mm:ss。
可空2008-01-08 20:39:30
gmt_paymentDate交易付款的时间。
格式为yyyy-MM-dd HH:mm:ss。
可空2008-01-08 20:39:30
to_buyer_feeString累计的已经退款金额。可空1.00
to_seller_feeString累计的已打款给卖家的金额。可空20.00
payment_typeString收款类型。可空1
operator_roleString
  • B:买家
  • S:卖家
可空B

 

示例

请求示例

https://intlmapi.alipay.com/gateway.do?service=single_trade_query&sign=d8ed9f015214e7cd59bfadb6c945a87b&trade_no=2010121502730740&partner=2088721091300630&out_trade_no=2009011803596246&sign_type=MD5

返回示例

成功返回
copy
<alipay>
<is_success>T</is_success>
<request>
<param name="_input_charset">UTF-8</param>
<param name="service">single_trade_query</param>
<param name="partner">2088721091300630</param>
<param name="out_trade_no">2009011803596246</param>
<param name="sendFormat">normal</param>
</request>
<response>
<trade>
<body>hello</body>
<buyer_email>intltest059@service.alipay.com</buyer_email>
<buyer_id>2088122921745555</buyer_id>
<discount>0.00</discount>
<flag_trade_locked>0</flag_trade_locked>
<gmt_create>2017-06-15 16:25:31</gmt_create>
<gmt_last_modified_time>2017-06-15 16:25:58</gmt_last_modified_time>
<gmt_payment>2017-06-15 16:25:58</gmt_payment>
<is_total_fee_adjust>F</is_total_fee_adjust>
<operator_role>B</operator_role>
<out_trade_no>2009011803596246</out_trade_no>
<payment_type>100</payment_type>
<price>0.02</price>
<quantity>1</quantity>
<seller_email>test@126.com</seller_email>
<seller_id>2088721091300630</seller_id>
<subject>world</subject>
<to_buyer_fee>0.00</to_buyer_fee>
<to_seller_fee>0.02</to_seller_fee>
<total_fee>0.02</total_fee>
<trade_no>2017061521001003550204235677</trade_no>
<trade_status>TRADE_FINISHED</trade_status>
<use_coupon>F</use_coupon>
</trade>
</response>
<sign>6283ce0cf5aaa812d9c1d29719d53e8d</sign>
<sign_type>MD5</sign_type>
</alipay>
错误输出
copy
<?xml version="1.0"  encoding="utf-8"?>
  <alipay>
  <is_success>F</is_success>
  <error>ILLEGAL_SIGN</error>
  </alipay>

错误码

基本上API接口的调用的检查是在支付宝的2个级别进行的 

第一个级别是在支付宝网关。在这里会进行一些基础的校验,如签名,商家ID是否有效或者是否有权限使用某个接口等。如果校验失败,就会返回相应的错误码,归类在下面的网关错误中。 

一旦网关校验通过了,接口请求就会被转发到内部系统进行进一步的处理。 这里会进行业务逻辑的校验。如果校验失败,就会返回相应的错误码,归类在业务错误代码中。

业务错误码

错误代码(error_code)含义
TRADE_NOT_EXIST交易不存在,请检查提供的商户网站唯一订单号或者支付宝交易号是否正确
ILLEGAL_SIGN签名不正确
ILLEGAL_DYN_MD5_KEY动态密钥信息错误
ILLEGAL_ENCRYPT加密不正确
ILLEGAL_ARGUMENT参数不正确
ILLEGAL_SERVICEService参数不正确
ILLEGAL_USER客户ID不正确
ILLEGAL_PARTNER商户ID不正确
ILLEGAL_EXTERFACE接口配置不正确
ILLEGAL_PARTNER_EXTERFACE商户接口信息不正确
ILLEGAL_SECURITY_PROFILE未找到匹配的密钥配置
ILLEGAL_AGENT代理ID不正确
ILLEGAL_SIGN_TYPE签名类型不正确
ILLEGAL_CHARSET字符集不合法
ILLEGAL_CLIENT_IP客户端IP地址无权访问服务
HAS_NO_PRIVILEGE无权访问
ILLEGAL_DIGEST_TYPE摘要类型不正确
ILLEGAL_DIGEST文件摘要不正确
ILLEGAL_FILE_FORMAT文件格式不正确
ILLEGAL_ENCODING不支持该编码类型
EXTERFACE_IS_CLOSED接口已关闭
ILLEGAL_REQUEST_REFERER防钓鱼检查不支持该请求来源
ILLEGAL_ANTI_PHISHING_KEY防钓鱼检查非法时间戳参数
ANTI_PHISHING_KEY_TIMEOUT防钓鱼检查时间戳超时
ILLEGAL_EXTER_INVOKE_IP防钓鱼检查非法调用IP

系统错误码

当出现系统错误提示时,请联系支付宝技术支持协助处理。

错误代码(error_code)含义
SYSTEM_ERROR支付宝系统错误
SESSION_TIMEOUTsession超时
ILLEGAL_TARGET_SERVICE错误的target_service
ILLEGAL_ACCESS_SWITCH_SYSTEMpartner不允许访问该类型的系统

EXTERFACE_IS_CLOSED

接口已关闭

收款类型

枚举名枚举说明
01红包结算金预收款
02红包结算金
03提醒收款
04自动发货商品
1商品购买
2服务购买
3网络拍卖
4捐赠
5邮费补偿
6奖金
7基金购买
8机票购买
9收AA款
10团购
11电子客票
12彩票
13拍卖
14手机支付类型
15鲜花礼品
16代理商电子客票
17党费
18外汇
19自动直充
20境外收单退款
21即时到账退款
22业务保证金
24送礼金
25交房租
26motopay类型
23购物车支付
27团购担保交易付款

交易状态

枚举名枚举说明
WAIT_BUYER_PAY等待买家付款
WAIT_SELLER_SEND_GOODS买家已付款,等待卖家发货
WAIT_BUYER_CONFIRM_GOODS卖家已发货,等待买家确认
TRADE_FINISHED交易成功结束
TRADE_CLOSED交易中途关闭(已结束,未成功完成)
WAIT_SYS_CONFIRM_PAY支付宝确认买家银行汇款中,暂勿发货
WAIT_SYS_PAY_SELLER买家确认收货,等待支付宝打款给卖家
TRADE_REFUSE立即支付交易拒绝
TRADE_REFUSE_DEALING立即支付交易拒绝中
TRADE_CANCEL立即支付交易取消
TRADE_PENDING等待卖家收款
TRADE_SUCCESS支付成功
BUYER_PRE_AUTH买家已付款(语音支付)
COD_WAIT_SELLER_SEND_GOODS等待卖家发货(货到付款)
COD_WAIT_BUYER_PAY等待买家签收付款(货到付款)
COD_WAIT_SYS_PAY_SELLER签收成功等待系统打款给卖家(货到付款)

交易附加状态

枚举名枚举说明
ZHIFUBAO_CONFIRM客服代买家确认收货
ZHIFUBAO_CANCEL_FP客服代付款方取消快速支付
DAEMON_CONFIRM_CANCEL_PRE_AUTH超时程序取消预授权
DAEMON_CONFIRM_CLOSE超时程序因买家不付款关闭交易