AliP资料ay支付宝标准快速付款接口文档Word文档格式.docx
- 文档编号:21496138
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:35
- 大小:243.14KB
AliP资料ay支付宝标准快速付款接口文档Word文档格式.docx
《AliP资料ay支付宝标准快速付款接口文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《AliP资料ay支付宝标准快速付款接口文档Word文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
2.1.6接口错误代码列表11
3
签名通用策略13
3.2签名方面-13
3.2.1签名机制13
3.2.24.2.2签名方式13
3.3
其他方面-14
4.1接口通用机制14
4.1.1系统调用14
4.1.2页面跳转14
4.1.3支付宝主动通知处理流程16
4.1.4通知验证17
4.2数字签名构造18
4.2.1请求参数构造18
4.3公用枚举表21
4.3.1通知返回结果枚举21
4.3.2通用交易状态枚举表21
4.3.1银行列表22
4.3.2信用卡大额银行列表23
4.3.3订单状态列表23
4.4FAQ(常见问题的的解答)24
1前言
1.1概述
本接口主要用在外部集成网银直连(纯网关)功能
1.2术语
名称
说明
外部商户、合作伙伴、商户
和支付宝进行业务合作的商户
通知页
参数名称Notify_url,所指定的互联网HTTP地址,当代扣完成之后,支付宝发送信息到该页面去,即调用该页面,该页面中的程序自动运行,并判断请求与处理获取到的信息
合作伙伴ID
签约后,为商家自动分配的唯一编号。
分润
分润指将某一部分费用分给其它的帐户
页面跳转
执行操作后跳转到其它页面
2.1.1功能描述
调用此接口,根据用户传过来的参数创建交易,买家再付款。
目前该接口的交易全部为即时到帐纯网银支付接口,即只要买家一付款,钱就会从买家银行卡转到卖家的支付宝账号。
同时该接口还支持分润,商家传过来分润的账号和金额,
系统会自动打款到该账号上
2.1.2交互流程
2.1.3交互模式
请求/响应交互模式,页面跳转
2.1.4接口详细说明
2.1.4.1请求参数列表
特别注意:
a.)此接口只支持https请求,支付宝是以https进行验证
b.)按照支付宝外部请求接口概述中要求的签名方式,对输入参数进行签名,该接口请求才
能够被支付宝系统接收。
c.)本接口支持重复调用,但是提交数据必须一样才可以。
d.)在请求时必须增加默认支付方式和默认网银2个参数
字段名
变量名
类型
可空
协议参数
接口名称
SerViCe
String
Createdirectpaybyus
N
er
Partner
String(16)
合作伙伴在支付宝的用户ID
与支付宝签约后自动生成
通知URL
notify_url
URL
(String(190))
针对该交易的交易状态同步
通知接收URLO
返回URL
return_url
结果返回URL,仅适用于立即返回处理结果的接口。
支付宝处理完请求后,立即将处理结果返回给这个URLo
错误通知地址
(需要支付宝功
能人员开通)
error_notify
_url
(String(190
))
如果在交易过程中出错(如签名错误等),则通过此URL将错误码返回给合作伙伴系统
Y
签名
Sign
见签名机制,MD5加密算法
后得岀的结果
签名方式
Sign_type
见签名方式,现今默认是
MD5加密,无需更改该参数
的值
参数编码字符集
_input_Char
Set
String(默认为
GBK)
合作伙伴系统与支付宝系统之间交互信息时使用的编码字符集。
合作伙伴可以通过该参数指定使用何种字符集对传递参数进行编码。
同时,支付宝系统也会使用该字符集对返回参数或通知参数进行编码。
注:
该参数必须在
queryString中传递,不论
使用的是PoST还是GET方式发送请求。
女口:
…ate/gateway.do?
_input_charset=utf-8
业务参数
商品展示网址
showurl
String(400)
点击商品链接后跳转的页面
商品名称
SUbjeCt
String(256)
商品的标题
商品描述
body
String(1000)
商品的具体描述,如果是多种
商品,请将商品描述字符串累
加传给body
外部交易号
out_trade_n
o
String(64)
合作伙伴交易号(确保在合作
伙伴系统中唯一)
商品单价
PriCe
NUmber(13,2)
price:
单位为RMBYUan
0.01〜100000000.00total_fee:
单位为RMB
YUan
0.01〜100000000.00
quantity:
OVqUantityV
1000000
规则:
1.如果是多个商品可以汇总
后传入,这个时候商品数量默
认为1
2.总价和单价不可以同时出
现
3.如果使用总价
total_fee,则数量为
qUantity=1.
3.如果使用单价PriCe,则商品数量qUantity传递实
际商品数量
交易金额
total_fee
购买数量
quantity
NUmber(6,0)
支付类型
Payment_ty
Pe
String(4)
默认为:
1(商品购买);
默认支付方式
PaymethOd
bankPay(网银)
默认网银
defaultban
k
见常见银行列表
卖家Email
Selleremail
String(100)
卖家在支付宝的注册Email
或注册ID,两者任何一个。
卖家ID
sellerid
提成类型
royalty_typ
e
String
(2)
目前只支持一种类型:
卖家给
第三方提成(目前参数=10)
提成信息集
royalty_Parameters
String(500)
信息格式下面两种都可:
1、收款方Email_1^金额^备注|付款方Email^收款方
Email_2^金额^备注
2、收款方Email_1^金额^备注|收款方Email_2^金额
^备注
3.(属于多级分润)收款方
Email_1^金额^备注|收款方Email_1^收款方
如有多条则用隔开,最多不能超过10条,备注最多
1000个字符,即500个汉
字,详见“接口注意事项”
超时时间
it_b_Pay
String(3)
商户开通自定义超时功能才有用(支付宝控制权限),定义该交易的超时时间,m表示分钟,h表示小时,d表示天,
C表示当天。
商户如果需要改功能,需要告知配置的时间点或者区间,有支付宝技术支持配置。
例如:
1m~15d表示在1分钟和15天之内任何一个时间都
可以。
备注:
默认15d关闭交易。
当天理论上是当天的0点后关闭,但是由于是定时任务可能有所延迟。
公用回传参数
extra_CQmmon_Param
String(200)
用于商户回传参数,该值不能包含=&
等
特殊字符。
如果用户请求时传递了该参
数,则返回给商户时会回传该参数.
一个完整的支付接入请求实例:
支付宝支付
&
defaultbank=CMB&
notify_url=.wangjinmin.vip1.es163.net/ganning/asp_bank_before/Alipay_Notify.asp&
out_trade_no=2009128201522&
partner=208810156834***5&
payment_type=1&
paymethod=bankPay&
return_url=.w
angjinmin.vip1.es163.net/ganning/asp_bank_before/return_Alipay_No
tify.asp&
seller_email=gwl25@126.com&
SerViCe=Create_direct_Pay_by_
user&
subject=测试商品
totaLfee=Ioo&
sign=f67dd8e2c2bc26e4bb137be0e32f0cbc&
sign_tyPe=MD
5
2.1.4.2返回参数列表
此接口有两种返回方式:
注意:
选择具体网银支付方法,进入网银支付页面后才能创建交易,支付完成才返回通知。
需要强调的是部分网银可能不支持支付完成及时跳转,所以商户最好在异步通知中做数据处
理或者2个返回处理都集成,增加订单重复接受即可
A.(同步通知):
系统根据执行的结果将相关订单信息返回(只做返回不需要商户和支付宝
系统交互)
输出参数列表
总价
买家Email
buyer_email
买家ID
buyer_id
String(30)
seller_email
seller_id
交易状态
trade_StatUS
见交易状态枚举表
extra_common_Param
网银流水号
bank_Seq_no
String(20)
开通了纯网关和伪网关的商户,在交易成功后可以返回网银流水。
其他不返回该值。
B.异步通知(即notify_url通知):
支付宝系统根据商户传入的notify_url,定时通知执行
结果返回给商户,若通知后没有获取商户返回的SUCCeSS支付宝会重复多次执行通知。
字段名变量名类型
通知类型
notifytype
tradeStatUSSynC
通知ID
notify_id
支付宝通知流水号,合作伙伴可以用这个流水号询问支付宝该条通知的合法性
通知时间
notify_time
TimeStamP
通知时间(支付宝时间),格
式:
YYYY-MM-DDhh:
mm:
SS
见签名机制,
该参数需要获取做签名校验。
Signtype
见签名方式
订单信息:
支付宝交易号
trade_no
该交易在支付宝系统中的交
易流水号
out_trade_no
该交易在合作伙伴系统的流
水号
折扣
discount
Paymenttype
1
Number(13,2)
单位为RMBYUan
Number(6,0)
>
0.01〜1000000.00
是否调整总价
is_total_fee_adjust
String
(1)
该交易是否调整过价格
交易创建时间
gmt_Create
该笔交易创建的时间
交易付款时间
gmt_Payment
该交易买家的付款时间
交易关闭时间
gmt_close
退款时间
gmt_refund
卖家退款的时间,退款通知时会发送
bank_seq_no
开通了纯网关和伪网关的商户,在交易
成功后可以返回网银流水。
需要支付宝技术支持人员开启
交易状态信息:
tradeStatUS
退款状态
refund_StatUS
买家卖家信息:
selleremail
buyerid
buyeremail
是否使用红包
USe_coupon
买家是否在交易过程中使用
了红包
错误通知参数信息(需要在传入参数增加错误通知地址):
错误代码
error_code
String(
说明接口调用过程中的岀错
信息
2.1.5接口注意事项
您需使用HTTPS协义,支付宝是以HTTPS的形式进行通知
请按照支付宝外部请求接口概述中要求的签名方式,对输入参数进行签名,该接口请求才能够被支付宝系统接收
该接口支持重复调用,即:
一笔订单可以重新支付,但是前提是这笔订单的信息和
原来信息一样,否则会报订单号重复
处理支付宝的返回信息可以异步处理也可以同步处理,前提是防止订单重复接收
提成数据集:
1.收款方EmaiL1^金额^备注|付款方Email^收款方Email.2^金额^备注
gwl251@A0.02A分润1|gwl251@Agwl061@A0.01A分润2
2.收款方EmaiL1^金额^备注|收款方Email.2^金额^备注
gwl251@A0.02A分润1∣gwl06^^0.01^分润2
3.收款方EmaiL1^金额^备注|收款方Emailj^收款方Email.2^金额^备注
2.1.6接口错误代码列表
错误代码(error_code)
ILLEGAL_SIGN
签名验证出错
ILLEGAL_ARGUMENT
参数不正确
HAS_NO_PRIVILEGE
没有权限访问该服务
ILLEGAL_SERVICE
SerViCe参数不正确
ILLEGAL_PARTNER
商户ID不止确
HAS_NO_PUBLICKEY
没有上传公钥
USER_NOT_EXIST
会员不存在
OUT_TRADE_NO_EXIST
外部交易号已经存在
TRADE_NOT_EXIST
交易不存在
ILLEGAL_PAYMENT_TYPE
无效支付类型,需要
联系支付宝技术支持
工程师处理
BUYER_NOT_EXIST
买家不存在
SELLER_NOT_EXIST
卖家不存在
BUYER_SELLER_EQUAL
买家、卖家是同一帐户
ILLEGAL_SIGN_TYPE
签名类型不正确
COMMISION」D_NOT_EXIST
佣金收取帐户不存在
COMMISION_SELLER_DUPLICATE
收取佣金帐户和卖家
是同一帐户
CoMMlSloN_FEE_0UT_0F_RANGE
佣金金额超出范围
ILLEGAL_LOGISTICS_FORMAT
无效物流格式
TOTAL_FEE_LESSEQUAL_ZERO
交易总金额小于等于
TOTAL_FEE_OUT_OF_RANGE
交易总金额超出范围
ILLEGAL_FEE_PARAM
非法交易金额格式
(参考单价、总价、数量三个组合规则)
DONATE_GREATER_THAN_MAX
小额捐赠总金额超出
最大值限制
DIRECT_PAY_AMOUNT_OUT_OF_RANGE
快速付款交易总金额超出最大值限制
DIGITAL_FEE_GREATER_THAN_MAX
虚拟物品交易总金额超出最大值限制
SELF_TIMEOUT_NOT_SUPPORT
不支持自定义超时
COMMISION_NOT_SUPPORT
不支持佣金
VIRTUAL_NOT_SUPPORT
不支持虚拟发货方式
ILLEGAL_CHARSET
字符集不合法
ROYALTY_SELLER_ENABLE_STATUS_FORBID
有提成情况下,卖家
状态不正常
ROYALTY_SELLER_NOT_CERTIFY
未通过认证
ROYALTY_FORAMT_ERROR
提成信息错误,请检
查后重新集成
ROYALTY_TYPE_ERROR
提成类型不支持,请
检查后重新集成
ROYALTY_PAY_EMAIL_NOT_EXIST
提成付款帐户不存在
ROYALTY_RECEIVE_EMAIL_NOT_EXIST
提成收款帐户不存在
DEFAULT_BANK_MUST_NOT_NULL
默认网银不能为空
LLEGAL_PAYMENT_TYPE
错误的
Payment_type参
数
ILLEGAL_OUTTIME_ARGUMENT
自定义超时参数错误
CANT_CREDIT_PAY
不能使用信用支付
TRADE_NOT_ALLOWED_PAY
交易不允许付款
NAVIGATIQN」NCQME_QF-RQYALTY_ACCQUNT
在提成情况下的多级分润,二次分润帐户次序冋题或者分润时没有预留支付宝服务费
3签名通用策略
3.1安全方面CheCkLiSt
a从集成后的系统健壮性考虑,收到支付宝发出的通知后,合作伙伴系统须判断接收到的
交易状态、交易金额是否与自己系统中的参数对应,并处理这些数据信息,使网站内的
交易信息与支付宝内的交易信息保持一致,可防止掉单情况出现。
如果不判断,存在潜
在的风险,合作伙伴自行承担因此而产生的所有损失。
3.2签名方面
3.2.1签名机制
a没有值的参数无需传递,也无需包含到待签名数据中。
b签名时将字符转变成字节流时指定的字符集要与」nPUt_CharSet保持一致。
C如果传递了_inPUt_CharSet参数,那么这个参数也应该包含在待签名数据中。
d根据HTTP协议要求,传递参数的值中如果存在特殊字符(如:
&
、@等),那么该值
需要做URLEnCoding,这样请求接受方才能接受到正确的参数值。
这种情况下,做签
名时使用的应该是原生值而不是encoding之后的值。
例如:
会员查询接口示例中待签
名数据是email=test@&
partner=2088006300000000&
service=test,而不是email=test%&
service=test。
3.2.24.2.2签名方式
按照sign_type参数指定的签名算法对待签名数据进行签名【参见:
数字签名构造】
3.3其他方面
1)您必需使用HTTPS协义,支付宝是以HTTPS的形式进行通知
2)请按照支付宝外部请求接口概述中要求的签名方式,对输入参数进行签名,该接口请求才能够被支付宝系统接收
3)如果设置了notify_url,支付宝会发一条通知到notify_url对应的站点
4)通知URL不要如此设置:
?
id=xxx,即不要带自加的
自定义参数,这会导致通知返回时判断失败。
4附录
4.1接口通用机制
4.1.1系统调用
顾名思义,这类接口是为合作伙伴系统获得支付宝系统信息提供服务的,是一种系
统间的调用接口。
系统调用示意图
4.1.2页面跳转
顾名思义,这类接口都是一些有页面操作的接口。
通常是用户在合作伙伴页面执行
部分操作,然后跳转到支付宝系统记录订单信息及时再转入网银系统页面完成整个操
作。
有的甚至可能最后还要再跳回到合作伙伴的下一个页面,继续完成整个操作。
根据
处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AliP 资料 ay 支付 标准 快速 付款 接口 文档