1、本接口将支付宝即时到帐接口用作纯网关的功能做详细介绍。在集成时处理机制和原有支付宝即时到帐一样,请求时必须增加默认支付方式(paymethod)和默认网银(defaultbank)2个参数1前言1.1概述本接口主要用在外部集成网银直连(纯网关)功能1.2术语名称说明外部商户、合作伙伴、商户和支付宝进行业务合作的商户通知页参数名称Notify_url,所指定的互联网HTTP地址,当代扣完成之后,支付宝发送信息到该页面去,即调用该页面,该页面中的程序自动运行,并判断请求与处理获取到的信息合作伙伴ID签约后,为商家自动分配的唯一编号。分润分润指将某一部分费用分给其它的帐户页面跳转执行操作后跳转到其它
2、页面2接口功能及参数介绍2.1标准即时到账接口(适用于纯网银)2.1.1功能描述调用此接口,根据用户传过来的参数创建交易,买家再付款。目前该接口的交易全部为即时到帐纯网银支付接口,即只要买家一付款,钱就会从买家银行卡转到卖家的支付宝账号。同时该接口还支持分润,商家传过来分润的账号和金额,系统会自动打款到该账号上。2.1.2交互流程2.1.3交互模式请求/响应交互模式,页面跳转2.1.4接口详细说明2.1.4.1请求参数列表特别注意:a.)此接口只支持https请求,支付宝是以https进行验证b.)按照支付宝外部请求接口概述中要求的签名方式,对输入参数进行签名,该接口请求才能够被支付宝系统接收
3、。c.)本接口支持重复调用,但是提交数据必须一样才可以。d.)在请求时必须增加默认支付方式和默认网银2个参数字段名变量名类型可空协议参数接口名称serviceStringcreate_direct_pay_by_userNpartnerString(16)合作伙伴在支付宝的用户ID与支付宝签约后自动生成通知URLnotify_urlURL(String(190)针对该交易的交易状态同步通知接收URL。返回URLreturn_urlURL结果返回URL,仅适用于立即返回处理结果的接口。支付宝处理完请求后,立即将处理结果返回给这个URL。错误通知地址(需要支付宝功能人员开通)error_notif
4、y_url如果在交易过程中出错(如签名错误等),则通过此URL将错误码返回给合作伙伴系统Y签名sign见签名机制,MD5加密算法后得出的结果签名方式sign_type见签名方式,现今默认是MD5加密,无需更改该参数的值参数编码字符集_input_charsetString(默认为GBK)合作伙伴系统与支付宝系统之间交互信息时使用的编码字符集。合作伙伴可以通过该参数指定使用何种字符集对传递参数进行编码。同时,支付宝系统也会使用该字符集对返回参数或通知参数进行编码。注:该参数必须在queryString中传递,不论使用的是POST还是GET方式发送请求。如:业务参数商品展示网址show_urlSt
5、ring(400)点击商品链接后跳转的页面商品名称subjectString(256)商品的标题商品描述bodyString(1000)商品的具体描述,如果是多种商品,请将商品描述字符串累加传给body外部交易号out_trade_noString(64)合作伙伴交易号(确保在合作伙伴系统中唯一)商品单价priceNumber(13,2)price:单位为RMB Yuan 0.01100000000.00total_fee:单位为RMB Yuan0.01100000000.00quantity:0quantity 0.011000000.00是否调整总价is_total_fee_adjust该
6、交易是否调整过价格交易创建时间gmt_create该笔交易创建的时间交易付款时间gmt_payment该交易买家的付款时间交易关闭时间gmt_close退款时间gmt_refund卖家退款的时间,退款通知时会发送开通了纯网关和伪网关的商户,在交易成功后可以返回网银流水。需要支付宝技术支持人员开启交易状态信息:退款状态refund_status买家卖家信息:是否使用红包use_coupon买家是否在交易过程中使用了红包错误通知参数信息(需要在传入参数增加错误通知地址):错误代码error_codeString(说明接口调用过程中的出错信息2.1.5接口注意事项您需使用HTTPS 协义, 支付宝是
7、以HTTPS的形式进行通知请按照支付宝外部请求接口概述中要求的签名方式,对输入参数进行签名,该接口请求才能够被支付宝系统接收该接口支持重复调用,即:一笔订单可以重新支付,但是前提是这笔订单的信息和原来信息一样,否则会报订单号重复处理支付宝的返回信息可以异步处理也可以同步处理,前提是防止订单重复接收提成数据集:1. 收款方Email_1金额备注|付款方Email收款方Email_2金额备注gwl2510.02分润1|gwl251gwl0610.01分润22. 收款方Email_1金额备注|收款方Email_2金额备注gwl2510.02分润1|gwl0610.01分润23.收款方Email_1金
8、额备注|收款方Email_1收款方Email_2金额备注2.1.6接口错误代码列表错误代码(error_code)ILLEGAL_SIGN签名验证出错ILLEGAL_ARGUMENT参数不正确HAS_NO_PRIVILEGE没有权限访问该服务ILLEGAL_SERVICEService参数不正确ILLEGAL_PARTNER商户ID不正确HAS_NO_PUBLICKEY没有上传公钥USER_NOT_EXIST会员不存在OUT_TRADE_NO_EXIST外部交易号已经存在TRADE_NOT_EXIST交易不存在ILLEGAL_PAYMENT_TYPE无效支付类型,需要联系支付宝技术支持工程师处
9、理BUYER_NOT_EXIST买家不存在SELLER_NOT_EXIST卖家不存在BUYER_SELLER_EQUAL买家、卖家是同一帐户ILLEGAL_SIGN_TYPE签名类型不正确COMMISION_ID_NOT_EXIST佣金收取帐户不存在COMMISION_SELLER_DUPLICATE收取佣金帐户和卖家是同一帐户COMMISION_FEE_OUT_OF_RANGE佣金金额超出范围ILLEGAL_LOGISTICS_FORMAT无效物流格式TOTAL_FEE_LESSEQUAL_ZERO交易总金额小于等于0TOTAL_FEE_OUT_OF_RANGE交易总金额超出范围ILLEGA
10、L_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_
11、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自
12、定义超时参数错误CANT_CREDIT_PAY不能使用信用支付TRADE_NOT_ALLOWED_PAY交易不允许付款NAVIGATION_INCOME_OF_ROYALTY_ACCOUNT在提成情况下的多级分润,二次分润帐户次序问题或者分润时没有预留支付宝服务费3签名通用策略3.1安全方面CheckLista从集成后的系统健壮性考虑,收到支付宝发出的通知后,合作伙伴系统须判断接收到的交易状态、交易金额是否与自己系统中的参数对应,并处理这些数据信息,使网站内的交易信息与支付宝内的交易信息保持一致,可防止掉单情况出现。如果不判断,存在潜在的风险,合作伙伴自行承担因此而产生的所有损失。3.2签名方
13、面3.2.1签名机制a没有值的参数无需传递,也无需包含到待签名数据中。b签名时将字符转变成字节流时指定的字符集要与_input_charset保持一致。c如果传递了_input_charset参数,那么这个参数也应该包含在待签名数据中。d根据HTTP协议要求,传递参数的值中如果存在特殊字符(如:&、等),那么该值需要做URL Encoding,这样请求接受方才能接受到正确的参数值。这种情况下,做签名时使用的应该是原生值而不是encoding之后的值。会员查询接口示例中待签名数据是email=test&partner=2088006300000000&service=test,而不是email=
14、test%&service=test。3.2.24.2.2签名方式按照sign_type参数指定的签名算法对待签名数据进行签名【参见:数字签名构造】3.3其他方面1)您必需使用HTTPS 协义, 支付宝是以HTTPS的形式进行通知2)请按照支付宝外部请求接口概述中要求的签名方式,对输入参数进行签名,该接口请求才能够被支付宝系统接收3)如果设置了notify_url,支付宝会发一条通知到notify_url对应的站点4)通知URL不要如此设置:4附录4.1接口通用机制4.1.1系统调用顾名思义,这类接口是为合作伙伴系统获得支付宝系统信息提供服务的,是一种系统间的调用接口。 系统调用示意图4.1.
15、2页面跳转顾名思义,这类接口都是一些有页面操作的接口。通常是用户在合作伙伴页面执行部分操作,然后跳转到支付宝系统记录订单信息及时再转入网银系统页面完成整个操作。有的甚至可能最后还要再跳回到合作伙伴的下一个页面,继续完成整个操作。根据处理结果的返回方式,又分为:立即返回处理结果,即用户在网银系统页面完成操作后,支付宝将处理结果立即返回给合作伙伴的下一步操作页面,让用户继续完成真个操作流程。所以,调用这类接口时,必须传递参数return_url(即合作伙伴的下一个操作页面)。立即返回(页面跳转)示意图异步返回处理结果,即用户从合作伙伴页面跳转到网银支付页面后(支付宝先做记录),在网银系统完成最后操作,用户不用再回到合作作伙伴页面。这类接口通常是通过通知
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1