文档中心 > 批量付款到支付宝账户

批量付款到支付宝账户有密接口

更新时间:2016/12/16 访问次数:76881

请求参数说明

请求参数是商户在与支付宝进行数据交互时,提供给支付宝的请求数据,以便支付宝根据这些数据进一步处理。

参数

参数名称

类型(长度范围)

参数说明

是否可为空

样例

基本参数

service

接口名称

String

接口名称。

不可空

batch_trans_notify

partner

合作身份者ID

String(16)

签约的支付宝账号对应的支付宝唯一用户号。

以2088开头的16位纯数字组成。

不可空

2088002464631181

_input_charset

参数编码字符集

String

商户网站使用的编码格式,如UTF-8、GBK、GB2312等。

不可空

UTF-8

sign_type

签名方式

String

DSA、RSA、MD5三个值可选,必须大写。

不可空

DSA

sign

签名

String

请参见本文档“附录:签名与验签”。

不可空

_p_w_l_h_j0b_gd_aejia7n_ko4_m%2Fu_w_jd3_nx_s_k_mxus9_hoxg_y_r_lunli_pmma29_t_q==

notify_url

服务器异步通知页面路径

String(200)

支付宝服务器主动通知商户网站里指定的页面http路径。

可空

http://www.test.com/notify/alipay/interface.htm

业务参数

account_name

付款账号名

String

付款方的支付宝账户名。

不可空

毛毛

detail_data

付款详细数据

String

付款的详细数据,最多支持1000笔。

格式为:流水号1^收款方账号1^收款账号姓名1^付款金额1^备注说明1|流水号2^收款方账号2^收款账号姓名2^付款金额2^备注说明2。

每条记录以“|”间隔。

流水号不能超过64字节,收款方账号小于100字节,备注不能超过200字节。当付款方为企业账户,且转账金额达到(大于等于)50000元,备注不能为空。

不可空

0315006^testture0002@126.com^常炜买家^20.00^hello

batch_no

批量付款批次号

String

批量付款批次号。

11~32位的数字或字母或数字与字母的组合,且区分大小写。

注意:

批量付款批次号用作业务幂等性控制的依据,一旦提交受理,请勿直接更改批次号再次上传。

不可空

20080107001

batch_num

付款总笔数

String

批量付款笔数(最少1笔,最多1000笔)。

不可空

1000

batch_fee

付款总金额

String

付款文件中的总金额。

格式:10.01,精确到分。

不可空

20000

email

付款账号

String

付款方的支付宝账号,支持邮箱和手机号2种格式。

不可空

biz_932@alitest.com

pay_date

支付日期

String

支付时间(必须为当前日期)。

格式:YYYYMMDD。

不可空

20080107

buyer_account_name

付款账号别名

String

同email参数,可以使用该参数名代替email输入参数;优先级大于email。

可空

maomao@alipay.com

extend_param

业务扩展参数

String(200)

用于商户的特定业务信息的传递,只有商户与支付宝约定了传递此参数且约定了参数含义,此参数才有效。

参数格式:参数名1^参数值1|参数名2^参数值2|……

多条数据用“|”间隔。

可空

agent^123456

https://mapi.alipay.com/gateway.do?service=batch_trans_notify&partner=2088002464631181&_input_charset=utf-8&notify_url=http%3A%2F%2Fwww.test.com%2Fnotify%2Falipay%2Finterface.htm&sign_type=DSA&sign=_p_w_l_h_j0b_gd_aejia7n_ko4_m%252Fu_w_jd3_nx_s_k_mxus9_hoxg_y_r_lunli_pmma29_t_q%3D%3D&email=biz_932%40alitest.com&pay_date=20080107&batch_no=20080107001&batch_num=1000&account_name=%C3%AB%C3%AB&batch_fee=20000&detail_data=0315006%5Etestture0002%40126.com%5E%E5%B8%B8%E7%82%9C%E4%B9%B0%E5%AE%B6%E4%BA%8C%5E20.00%5Ehello%7C0315001%5Etestture0002%40126.com%5E%E5%B8%B8%E7%82%9C%E4%B9%B0%E5%AE%B6%E4%BA%8C%5E20.00%5Ehello&buyer_account_name=maomao%40alipay.com&extend_param=agent^123456

说明:
本样例仅供参考,支付宝网关为https://mapi.alipay.com/gateway.do

同步返回说明

支付宝对商户提供的请求数据进行处理后,返回给商户结果数据,以便商户根据这些数据进一步处理。

  • 正常输出:
    enter image description here
  • 发生错误时输出:
    enter image description here

服务器异步通知参数说明

支付宝对商户的请求数据处理完成后,会将处理的结果数据通过服务器主动通知的方式通知给商户网站。这些处理结果数据就是服务器异步通知参数。

参数

参数名称

类型(长度范围)

参数说明

是否可为空

样例

notify_time

通知时间

Date

通知的发送时间。

格式yyyy-MM-dd HH:mm:ss。

不可空

2009-08-12 11:08:32

notify_type

通知类型

String

通知的类型。

不可空

batch_trans_notify

notify_id

通知校验ID

String

支付宝通知校验ID,商户可以用这个流水号询问支付宝该条通知的合法性。

不可空

70fec0c2730b27528665af4517c27b95

sign_type

签名方式

String

DSA、RSA、MD5三个值可选,必须大写。

不可空

DSA

sign

签名

String

请参见本文档“附录:签名与验签”。

不可空

_p_w_l_h_j0b_gd_aejia7n_ko4_m%2Fu_w_jd3_nx_s_k_mxus9_hoxg_y_r_lunli_pmma29_t_q==

batch_no

批次号

String

转账批次号。

不可空

20100101001

pay_user_id

付款账号ID

String

付款的支付宝账号对应的支付宝唯一用户号。

以2088开头的16位纯数字组成。

不可空

2088002464631181

pay_user_name

付款账号姓名

String

付款账号姓名。

不可空

毛毛

pay_account_no

付款账号

String

付款账号。

不可空

20880024646311810156

success_details

转账成功的详细信息

String

批量付款中成功付款的信息。

格式为:流水号^收款方账号^收款账号姓名^付款金额^成功标识(S)^成功原因(null)^支付宝内部流水号^完成时间。

每条记录以“|”间隔。

可空

0315001^gonglei1@handsome.com.cn^龚本林^20.00^S^null^200810248427067^20081024143652|

fail_details

转账失败的详细信息

String

批量付款中未成功付款的信息。

格式为:流水号^收款方账号^收款账号姓名^付款金额^失败标识(F)^失败原因^支付宝内部流水号^完成时间。

每条记录以“|”间隔。

可空

0315006^xinjie_xj@163.com^星辰公司1^20.00^F^TXN_RESULT_TRANSFER_OUT_CAN_NOT_EQUAL_IN^200810248427065^20081024143651|

http://商户自定义地址/alipay/notify_url.php?notify_time=2009-08-12+11%3A08%3A32&notify_type=%E4%BA%A4%E6%98%93%E7%8A%B6%E6%80%81%E5%90%8C%E6%AD%A5%E9%80%9A%E7%9F%A5%28trade_status_sync%29&notify_id=70fec0c2730b27528665af4517c27b95&sign_type=DSA&sign=_p_w_l_h_j0b_gd_aejia7n_ko4_m%252Fu_w_jd3_nx_s_k_mxus9_hoxg_y_r_lunli_pmma29_t_q%3D%3D&batch_no=20100101001&pay_account_no=maomao%40alipay.com&pay_user_id=2088002464631181&pay_user_name=%C3%AB%C3%AB&success_details=0315001%5Egonglei1%40handsome.com.cn%5E%E9%BE%9A%E6%9C%AC%E6%9E%97%5E20.00%5ES%5Enull%5E200810248427067%5E20081024143652%7C&fail_details=0315006%5Exinjie_xj%40163.com%5E%E6%98%9F%E8%BE%B0%E5%85%AC%E5%8F%B81%5E20.00%5EF%5ETXN_RESULT_TRANSFER_OUT_CAN_NOT_EQUAL_IN%5E200810248427065%5E20081024143651%7C

说明:
本样例仅供参考,实际网关为商户域名。

服务器异步通知页面特性

  1. 必须保证服务器异步通知页面(notify_url)上无任何字符,如空格、HTML标签、开发系统自带抛出的异常提示信息等;
  2. 支付宝是用POST方式发送通知信息,因此该页面中获取参数的方式,如:
    request.Form("out_trade_no")、$_POST['out_trade_no'];
  3. 支付宝主动发起通知,该方式才会被启用;
  4. 只有在支付宝的交易管理中存在该笔交易,且发生了交易状态的改变,支付宝才会通过该方式发起服务器通知(即时到账中交易状态为“等待买家付款”的状态默认是不会发送通知的);
  5. 服务器间的交互,不像页面跳转同步通知可以在页面上显示出来,这种交互方式是不可见的;
  6. 第一次交易状态改变(即时到账中此时交易状态是交易完成)时,不仅页面跳转同步通知页面会启用,而且服务器异步通知页面也会收到支付宝发来的处理结果通知;
  7. 程序执行完后必须打印输出“success”(不包含引号)。如果商户反馈给支付宝的字符不是success这7个字符,支付宝服务器会不断重发通知,直到超过24小时22分钟。
    一般情况下,25小时以内完成8次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h);
  8. 程序执行完成后,该页面不能执行页面跳转。如果执行页面跳转,支付宝会收不到success字符,会被支付宝服务器判定为该页面程序运行出现异常,而重发处理结果通知;
  9. cookies、session等在此页面会失效,即无法获取这些数据;
  10. 该方式的调试与运行必须在服务器上,即互联网上能访问;
  11. 该方式的作用主要防止订单丢失,即页面跳转同步通知没有处理订单更新,它则去处理;
  12. 当商户收到服务器异步通知并打印出success时,服务器异步通知参数notify_id才会失效。也就是说在支付宝发送同一条异步通知时(包含商户并未成功打印出success导致支付宝重发数次通知),服务器异步通知参数notify_id是不变的。

通知触发条件

触发条件名

触发条件描述

触发条件默认值

BATCH_TRANS_NOTIFY

转账成功

true(触发通知)

说明:
通知商户的notify_url在请求参数中设置。

业务错误码

错误代码(error_code)

含义

UPLOAD_FILE_NOT_FOUND

非常抱歉,找不到上传的文件!

UPLOAD_FILE_NAME_ERROR

上传文件名不能为空

UPLOAD_USERID_ERROR

上传用户ID不能为空

UPLOAD_ISCONFIRM_ERROR

复核参数错误

UPLOAD_XTEND_NAME_ERROR

抱歉,上传文件的格式不正确,文件扩展名必须是xls、csv

UPLOAD_CN_FILE_NAME_ERROR

抱歉,上传文件的文件名中不能有乱码

UPLOAD_FILE_NAME_LENGTH_ERROR

抱歉,上传文件的文件名长度不能超过64个字节

UPLOAD_FILE_NAME_DUPLICATE

抱歉,您上传文件的文件名不能和以前上传过的有重复

EMAIL_ACCOUNT_LOCKED

您暂时无法使用此功能,请立即补全您的认证信息

BATCH_OUT_BIZ_NO_DUPLICATE

业务唯一校验失败

BATCH_OUT_BIZ_NO_LIMIT_ERROR

抱歉,上传文件的批次号必须为11~32位的数字、字母或数字与字母的组合

AMOUNT_FORMAT_ERROR

抱歉,您上传的文件中,第二行第五列的金额不正确。格式必须为半角的数字,最高精确到分,金额必须大于0

PAYER_FORMAT_ERROR

您上传的文件中付款账户格式错误

PAYER_IS_NULL

抱歉,您上传的文件中付款账户不能为空

FILE_CONTENT_NULL

抱歉,您上传的文件内容不能为空

FILE_CONTENT_LIMIT

抱歉,您上传的文件付款笔数超过了最大限制

PAYER_USERINFO_NOT_EXIST

抱歉,您上传文件中的付款账户,与其所对应的账户信息不匹配或状态异常

DAILY_QUOTA_LIMIT_EXCEED

日限额超限

FILE_SUMMARY_NOT_MATCH

抱歉,您填入的信息与上传文件中的数据不一致

ILLEGAL_CONTENT_FORMAT

文件内容格式非法

DETAIL_OUT_BIZ_NO_REPEATE

同一批次中商户流水号重复

TOTAL_COUNT_NOT_MATCH

总笔数与明细汇总笔数不一致

TOTAL_AMOUNT_NOT_MATCH

总金额与明细汇总金额不一致

PAYER_ACCOUNT_IS_RELEASED

付款账户名与他人重复,无法进行收付款。为保障资金安全,建议及时修改账户名

PAYEE_ACCOUNT_IS_RELEASED

收款账户名与他人重复,无法进行收付款

ERROR_INVALID_UPLOAD_FILE

抱歉,您上传的文件无效!请确认文件是否存在,并且是有效的文件格式。

FILE_SAVE_ERROR

文件上传到服务器失败,请确认您是否已关闭待上传的文件

ERROR_FILE_NAME_DUPLICATE

上传的文件名不能重复

BATCH_ID_NULL

批次明细查询时批次ID为空

BATCH_NO_NULL

批次号为空

PARSE_DATE_ERROR

到账户批次查询日期格式错误

USER_NOT_UPLOADER

用户查询不是其上传的批次信息

ERROR_ACCESS_DATA

无权访问该数据

ILLEGAL_FILE_NAME

文件名不合法,只允许为数字、英文(半角)、中文、点以及下划线

ERROR_FILE_EMPTY

非常抱歉,找不到上传的文件或文件内容为空!

ERROR_FILE_NAME_SURFFIX

错误的文件后缀名

ERROR_FILE_NAME_LENGTH

过长的文件名

ERROR_SEARCH_DATE

付款记录的查询时间段跨度不能超过15天

ERROR_BALANCE_NULL

用户余额不存在

ERROR_USER_INFO_NULL

用户信息为空

ERROR_USER_ID_NULL

用户名为空

ERROR_BATCH_ID_NULL

批次ID为空

ERROR_BATCH_ID_NULL

批次号为空

STATUS_NOT_VALID

请等待该批次明细校验完成后再下载

USER_SERIAL_NO_ERROR

商户流水号的长度不正确,不能为空或必须小于等于32个字符

USER_SERIAL_NO_REPEATE

同一批次中商户流水号重复

RECEIVE_EMAIL_ERROR

收款人EMAIL的长度不正确,不能为空或必须小于等于100个字符

RECEIVE_NAME_ERROR

收款人姓名的长度不正确,不能为空或必须小于等于128个字符

RECEIVE_REASON_ERROR

付款理由的长度不正确,不能为空或必须小于等于100个字符

RECEIVE_MONEY_ERROR

收款金额格式必须为半角的数字,最高精确到分,金额必须大于0

RECEIVE_ACCOUNT_ERROR

收款账户有误或不存在

RECEIVE_SINGLE_MONEY_ERROR

收款金额超限

LINE_LENGTH_ERROR

流水列数不正确,流水必须等于5列

SYSTEM_DISUSE_FILE

用户逾期15天未复核,批次失败

MERCHANT_DISUSE_FILE

用户复核不通过,批次失败

TRANSFER_AMOUNT_NOT_ENOUGH

转账余额不足,批次失败

RECEIVE_USER_NOT_EXIST

收款用户不存在

ILLEGAL_USER_STATUS

用户状态不正确

ACCOUN_NAME_NOT_MATCH

用户姓名和收款名称不匹配

ERROR_OTHER_CERTIFY_LEVEL_LIMIT

收款账户实名认证信息不完整,无法收款

ERROR_OTHER_NOT_REALNAMED

收款账户尚未实名认证,无法收款

用户撤销

用户撤销

USER_NOT_EXIST

用户不存在

PERMIT_NON_BANK_LIMIT_PAYEE_L0_FORBIDDEN

根据监管部门的要求,对方未完善身份信息,无法收款

PERMIT_PAYER_L1_FORBIDDEN

根据监管部门的要求,当前余额支付额度仅剩XX元,请尽快完善身份信息提升额度

PERMIT_PAYER_L2_L3_FORBIDDEN

根据监管部门的要求,您今日余额支付额度仅剩XX元,今年余额支付额度仅剩XX元

PERMIT_CHECK_PERM_AML_DATA_INCOMPLETE

由于您的资料不全,付款受限

PERMIT_CHECK_PERM_AML_CERT_EXPIRED

由于您的证件过期,付款受限

PERMIT_CHECK_PERM_AML_CERT_MISS_4_TRANS_LIMIT

您的账户收付款额度超限

PERMIT_CHECK_PERM_AML_CERT_MISS_4_ACC_LIMIT

为了保证您的资金安全,请尽快完成信息补全

PERMIT_CHECK_PERM_IDENTITY_THEFT

您的账户存在身份冒用风险,请进行身份核实解除限制

PERMIT_CHECK_PERM_LIMITED_BY_SUPERIOR

根据监管部门的要求,请补全您的身份信息解除限制

PERMIT_CHECK_PERM_ACCOUNT_NOT_EXIST

根据监管部门的要求,请补全您的身份信息,开立余额账户

PERMIT_CHECK_PERM_INSUFFICIENT_ACC_LEVEL

根据监管部门的要求,请完善身份信息解除限制

FAQ

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