支付宝采用公钥证书方式进行验证签名,需要加载应用公钥证书、支付宝根证书、支付宝公钥证书,所有证书都是从支付宝创建的应用处下载,详见支付宝设置。
可用支付宝API接口名和参数要求如下:
alipay.trade.app.pay(app支付接口2.0)
alipay.trade.wap.pay(手机网站支付接口2.0)
alipay.trade.page.pay(统一收单下单并支付页面接口,电脑网站支付)
out_trade_no | 必选 | 商户订单号 |
subject | 必选 | 商品描述,示例值:飞鸿网站授权 |
body | 可选 | 正文,示例值:ffwish.com |
total_amount | 必选 | 付款金额(单位元,可二位小数),示例值:0.01 |
返回:支付链接URL字符串 |
alipay.trade.close(统一收单交易关闭接口)
out_trade_no | 特殊可选 | 商户订单号,和支付宝交易号不能同时为空 |
trade_no | 特殊可选 | 支付宝交易号,和商户订单号不能同时为空 |
json | 可选 | 1=JSON字符串,其它=数组 |
注:out_trade_no和trade_no同时存在时,优先取trade_no 返回:数组或JSON字符串 |
alipay.trade.query(统一收单线下交易查询)
out_trade_no | 特殊可选 | 商户订单号,和支付宝交易号不能同时为空 |
trade_no | 特殊可选 | 支付宝交易号,和商户订单号不能同时为空 |
json | 可选 | 1=JSON字符串,其它=数组 |
注:out_trade_no和trade_no同时存在时,优先取trade_no 返回:数组或JSON字符串 |
alipay.trade.close(统一收单交易关闭接口)
out_trade_no | 特殊可选 | 商户订单号,和支付宝交易号不能同时为空 |
trade_no | 特殊可选 | 支付宝交易号,和商户订单号不能同时为空 |
json | 可选 | 1=JSON字符串,其它=数组 |
注:out_trade_no和trade_no同时存在时,优先取trade_no 返回:数组或JSON字符串 |
alipay.trade.refund(统一收单交易退款接口)
out_trade_no | 特殊可选 | 商户订单号,和支付宝交易号不能同时为空 |
trade_no | 特殊可选 | 支付宝交易号,和商户订单号不能同时为空 |
refund_amount | 必选 | 退款金额。需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数。 |
refund_reason | 可选 | 退款原因说明,商家自定义。正常退款 |
json | 可选 | 1=JSON字符串,其它=数组 |
注:out_trade_no和trade_no同时存在时,优先取trade_no 返回:数组或JSON字符串 |
alipay.trade.fastpay.refund.query(统一收单交易退款查询)
out_trade_no | 特殊可选 | 商户订单号,和支付宝交易号不能同时为空 |
trade_no | 特殊可选 | 支付宝交易号,和商户订单号不能同时为空 |
out_request_no | 必选 | 退款请求号。请求退款接口时,传入的退款请求号,如果在退款请求时未传入,则该值为创建交易时的商户订单号。 |
json | 可选 | 1=JSON字符串,其它=数组 |
注:out_trade_no和trade_no同时存在时,优先取trade_no 返回:数组或JSON字符串 |
alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址)
bill_type | 必选 | 账单类型,商户通过接口或商户经开放平台授权后其所属服务商通过接口可以获取以下账单类型,支持:trade:商户基于支付宝交易收单的业务账单;signcustomer:基于商户支付宝余额收入及支出等资金变动的帐务账单,示例值:trade |
bill_date | 必选 | 账单时间,日账单格式为yyyy-MM-dd,最早可下载2016年1月1日开始的日账单;月账单格式为yyyy-MM,最早可下载2016年1月开始的月账单,示例值:2016-04-05 |
json | 可选,1=JSON字符串,其它=数组 | |
返回:数组或JSON字符串 |
alipay.fund.trans.toaccount.transfer(旧版转账到支付宝账户接口)
out_biz_no | 必选 | 商户转账唯一订单号 |
payee_type | 必选 | 收款方账户类型,"ALIPAY_LOGONID":支付宝帐号 |
payee_account | 必选 | 收款方账户。与payee_type配合使用 |
amount | 必选 | 转账金额,元 |
payer_show_name | 可选 | 付款方显示姓名 |
payee_real_name | 可选 | 收款方真实姓名,如果本参数不为空,则会校验该账户在支付宝登记的实名是否与收款方真实姓名一致。 |
remark | 可选 | 转账备注,金额大于50000时必填 |
json | 可选 | 1=JSON字符串,其它=数组 |
返回:数组或JSON字符串 |
alipay.fund.trans.uni.transfer(单笔转账接口)
out_biz_no | 必选 | 商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。 |
trans_amount | 必选 | 订单总金额,单位为元,精确到小数点后两位,STD_RED_PACKET 产品取值范围[0.01,100000000]; TRANS_ACCOUNT_NO_PWD产品取值范围[0.1,100000000] |
product_code | 必选 | 业务产品码, 收发现金红包固定为:STD_RED_PACKET; 单笔无密转账到支付宝账户固定为:TRANS_ACCOUNT_NO_PWD; 单笔无密转账到银行卡固定为:TRANS_BANKCARD_NO_PWD |
biz_scene | 可选 | 描述特定的业务场景,可传的参数如下: PERSONAL_COLLECTION:C2C现金红包-领红包; DIRECT_TRANSFER:B2C现金红包、单笔无密转账到支付宝/银行卡 |
order_title | 可选 | 转账业务的标题,用于在支付宝用户的账单里显示 |
original_order_id | 可选 | 原支付宝业务单号。C2C现金红包-红包领取时,传红包支付时返回的支付宝单号;B2C现金红包、单笔无密转账到支付宝/银行卡不需要该参数。 |
identity | 必选 | 收款方支付宝登录号,支持邮箱和手机号格式 |
name | 必选 | 收款方真实姓名,收款支付宝账号姓名一致 |
remark | 业务备注 | |
business_params | 可选 | 转账业务请求的扩展参数,支持传入的扩展参数如下: 1、sub_biz_scene 子业务场景,红包业务必传,取值REDPACKET,C2C现金红包、B2C现金红包均需传入; 2、withdraw_timeliness为转账到银行卡的预期到账时间,可选(不传入则默认为T1),取值T0表示预期T+0到账,取值T1表示预期T+1到账,因到账时效受银行机构处理影响,支付宝无法保证一定是T0或者T1到账; |
json | 可选 | 1=JSON字符串,其它=数组 |
返回:数组或JSON字符串 |
alipay.fund.trans.order.query(查询转账订单接口)
out_biz_no | 特殊可选 | 商户转账唯一订单号,和支付宝转账单据号不能同时为空 |
order_id | 特殊可选 | 支付宝转账单据号,和商户转账唯一订单号不能同时为空 |
json | 可选 | 1=JSON字符串,其它=数组 |
注:out_biz_no和order_id不能同时为空 返回:数组或JSON字符串 |
alipay.fund.trans.common.query(转账业务单据查询接口)
product_code | 必选 | 业务产品码, 收发现金红包固定为:STD_RED_PACKET; 单笔无密转账到支付宝账户固定为:TRANS_ACCOUNT_NO_PWD; 单笔无密转账到银行卡固定为:TRANS_BANKCARD_NO_PWD |
biz_scene | 必选 | 描述特定的业务场景,可传的参数如下: PERSONAL_COLLECTION:C2C现金红包-领红包; DIRECT_TRANSFER:B2C现金红包、单笔无密转账到支付宝/银行卡 |
out_biz_no | 可选 | 商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。 |
order_id | 可选 | 支付宝转账单据号 |
pay_fund_order_id | 可选 | 支付宝支付资金流水号 |
json | 可选 | 1=JSON字符串,其它=数组 |
返回:数组或JSON字符串 |
alipay.data.bill.balance.query(支付宝商家账户当前余额查询)
json | 可选 | 1=JSON字符串,其它=数组 |
返回:数组或JSON字符串 |
有不明白的地方,可以参照支付宝官方开发文档。