Batch Transfers 批量企业付款

此批量付款接口适用于以下 8 个渠道:支付宝 alipay、银联电子代付 unionpay、微信 App wx、微信公众号 wx_pub、微信小程序 wx_lite、通联代付 allinpay、京东代付 jdpay、余额 balance

注:

点击查看该付款接口的注意事项:
  • 微信企业付款区分"企业付款到零钱"和"企业付款到银行卡",使用此功能时请确保在微信处开通相应产品。此外,使用微信服务商模式商户暂不支持企业付款。
  • 支付宝 mapi 接口在调用该批量企业付款接口时,仅需要点击退款确认链接,输入一次商户密码即可完成退款;支付宝 openapi 接口的企业付款接口则不需要输入密码。
  • 支付宝 mapi 批量付款手续费率 0.5%,最低 1 元,最高 25 元。手续费按单笔分别计算,批量对象中的手续费 fee 字段会在批量企业付款成功后更新;支付宝 openapi 接口无手续费,详情参考 帮助中心
  • 批量企业付款状态 status 包含一个特殊的 partially_succeeded 状态,若批量企业付款中存在部分成功,部分失败的情况,批量企业付款对象将处于该状态,对于成功部分的付款也会发送 batch_transfer.succeeded 事件
  • 批量企业付款对象 batch_transferrecipients 字段里的元素中,会有每笔付款对象的 transfer (对应的 transfer 对象 ID) 和 status(对应的 transfer 对象状态)字段。
  • 批量企业付款接口单次最多只能请求 200 笔企业付款订单。
  • 此接口的所有请求强制要求签名,必须生成 RSA 签名(SHA256) 并在请求头中添加 Pingplusplus-Signature 字段,需在管理平台上 配置商户公钥;同时必须在请求头中添加 Pingplusplus-Request-Timestamp 字段,其值为请求接口的 Unix 时间戳。

属性描述
id string由 Ping++ 生成的批量企业付款对象 ID
object string值为 batch_transfer
app string创建批量企业付款使用的 app 对象 id,查看如何获取App ID
amount int批量企业付款总金额。
batch_no string批量企业付款批次号,11 ~ 32 位,允许字母和英文。
channel string渠道参数,目前支持alipay(支付宝,包含 mapi 和 openapi 接口)、unionpay(银联电子代付)、wx(微信 App)、wx_pub(微信公众号)、wx_lite(微信小程序)、allinpay(通联代付)、jdpay(京东代付)和balance(余额)。
currency string三位 ISO 货币代码,人民币为 cny
created int批量企业付款创建时的 Unix 时间戳。
description string批量企业付款描述。
extra hash额外信息,当前该字段为空。
failure_msg string错误消息的描述。首次请求支付宝 mapi 批量企业付款成功时,该字段包含了确认付款的 URL 链接地址,仅在渠道为支付宝时有值,你需要获取该地址,在浏览器中打开并且输入支付宝商户密码才能完成批量企业付款;支付宝 openapi 产品接口无密,所以首次请求的 URL 中无付款链接;批量银联电子代付的接口不需要输入密码。
fee int批量企业付款手续费。
livemode boolean是否处于 live 模式。
metadata hash参考元数据
recipients array接收者信息。具体参考下表的 recipients 参数说明
status string批量企业付款状态。目前支持 6 种状态,created: 已创建;pending: 处理中;succeeded: 成功;failed: 失败;partially_succeeded: 部分成功;scheduled: 待发送。
time_succeeded int成功的 Unix 时间戳。
type string付款类型,取值范围:b2c(打款给个人用户)和 b2b(打款给企业用户)。当前 wx、wx_pub、wx_lite、balance 仅支持:b2c ;alipay、unionpay、allinpayjdpay支持:b2b、b2c。
recipients 参数说明
参数描述
account string接收者账号。
amount int付款金额。
name string接收者姓名。
description string批量企业付款描述。
transfer string对应的单笔 transfer 对象 ID
status string对应的单笔 transfer 对象状态。
open_bank string1~15位,开户银行名称,unionpay 渠道会用到此字段。
open_bank_code string4位,开户银行编号,unionpay / allinpay 渠道会用到此字段,详情请参考银联电子代付银行编号说明通联代付银行编号说明
account_type string账户类型,支付宝 openapi 渠道会用到此字段。默认值:"ALIPAY_LOGONID"。ALIPAY_USERID:支付宝账号对应的支付宝唯一用户号,以 2088 开头的 16 位纯数字组成;ALIPAY_LOGONID:支付宝登录号,支持邮箱和手机号格式。
fee int单笔 transfer 的渠道手续费。
failure_msg string单笔 transfer 的错误信息。
order_no string单笔 transfer 的订单号,可选字段,如果不传程序就自动生成。
transaction_no string单笔 transfer 的流水号。
business_code string5位业务代码,allinpay 渠道会用到此字段,根据通联业务人员提供,不填使用通联提供默认值 09900。
card_type int银行卡号类型,allinpay 渠道会用到此字段。1位,0:银行卡、1:存折、2:信用卡,不填默认使用银行卡。
sub_bank stringallinpay 渠道会用到此字段,B2B 转账必填,1~80位,开户行详细名称,也叫网点,如:中国建设银行广州东山广场分理处。详情请下载 支付行号
sub_bank_code stringallinpay 渠道会用到此字段,B2B 转账必填,1~12位,支付行号。详情请下载 支付行号
prov stringallinpay 渠道会用到此字段,B2B 转账必填,1~20位,省份,不带 “省” 或 “自治区”,需填写成:广东、广西、内蒙古等。详情请参考 中国邮政区号表 内的「省洲名称」列的内容填写。
city stringallinpay 渠道会用到此字段,B2B 转账必填,1~40位,城市,不带 “市”,需填写成:广州、南宁等。如果是直辖市,则填区,如北京(市)朝阳(区)。详情请参考 中国邮政区号表 内的「地区名称」列的内容填写。

示例对象

{
  "id": "181610101014367590",
  "object": "batch_transfer",
  "app": "app_ribgW1n2SOqcPxn1",
  "amount": 8000,
  "batch_no": "2016101010380007",
  "channel": "alipay",
  "currency": "cny",
  "created": 1476067087,
  "description": "付款说明",
  "extra": {},
  "failure_msg": null,
  "fee": 0,
  "livemode": true,
  "metadata": {},
  "recipients": [
      {
          "account": "account01@alipay.com",
          "amount": 5000,
          "name": "张三",
          "transfer": "tr_jHWfvDnTKG0SiPmbfPbHW1eH",
          "status": "pending"
      },
      {
          "account": "account02@alipay.com",
          "amount": 3000,
          "name": "李四",
          "transfer": "tr_8u1yPK1eHWv9D08OePzDe1CK",
          "status": "pending"
      }
  ],
  "status": "pending",
  "time_succeeded": null,
  "type": "b2c"
}