谁可以帮我对接下支付接口对接教程

2013年5月 总版技术专家分月排行榜第一
2016年7月 总版技术专家分月排行榜第二2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2012年2月 PHP大版内专家分月排行榜第一2012年1月 PHP大版内专家分月排行榜第一2011年11月 PHP大版内专家分月排行榜第一2011年9月 PHP大版内专家分月排行榜第一
2012年3月 PHP大版内专家分月排行榜第二2011年12月 PHP大版内专家分月排行榜第二2011年10月 PHP大版内专家分月排行榜第二
2016年11月 PHP大版内专家分月排行榜第二2016年10月 PHP大版内专家分月排行榜第二2016年9月 PHP大版内专家分月排行榜第二2016年7月 PHP大版内专家分月排行榜第二2016年6月 PHP大版内专家分月排行榜第二2016年3月 PHP大版内专家分月排行榜第二2016年2月 PHP大版内专家分月排行榜第二2016年1月 PHP大版内专家分月排行榜第二2015年11月 PHP大版内专家分月排行榜第二2015年10月 PHP大版内专家分月排行榜第二2015年8月 PHP大版内专家分月排行榜第二2015年7月 PHP大版内专家分月排行榜第二2015年6月 PHP大版内专家分月排行榜第二2015年4月 PHP大版内专家分月排行榜第二2015年3月 PHP大版内专家分月排行榜第二2015年2月 PHP大版内专家分月排行榜第二2015年1月 PHP大版内专家分月排行榜第二2014年12月 PHP大版内专家分月排行榜第二2014年11月 PHP大版内专家分月排行榜第二2014年10月 PHP大版内专家分月排行榜第二2014年9月 PHP大版内专家分月排行榜第二2014年8月 PHP大版内专家分月排行榜第二2014年7月 PHP大版内专家分月排行榜第二2014年6月 PHP大版内专家分月排行榜第二
2016年8月 PHP大版内专家分月排行榜第三2016年5月 PHP大版内专家分月排行榜第三2016年4月 PHP大版内专家分月排行榜第三2015年12月 PHP大版内专家分月排行榜第三2015年9月 PHP大版内专家分月排行榜第三2015年5月 PHP大版内专家分月排行榜第三2014年5月 PHP大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。哪些家第三方支付公司可以提供接口对接,提供通道,做资金的清算呢?
哪些家第三方支付公司可以提供接口对接,提供通道,做资金的清算呢?
15-12-8 下午1:24
哪些家第三方支付公司可以提供接口对接,提供通道,做资金的清算呢?信用卡通道 信用卡支付 外贸收款 外贸信用卡收款 1.国际外贸信用卡通道收款支付网关是怎么回事?答:信用卡支付网关(Payment Gateway)是银行金融网络系统和Internet网络之间的接口,是由银行操作的将Internet上传输的数据转换为金融机构内部数据的一组服务器设备,或由指派的第三方处理商家支付信息和顾客的支付指令。支付网关可确保交易在Internet用户和交易处理商之间安全、无缝的传递,并且无需对原有主机系统进行修改。它可以处理所有Internet支付协议,Internet安全协议,交易交换,信息及协议的转换以及本地授权和结算处理。它还可以通过设置来满足特定交易处理系统的要求。离开了支付网关,网络银行的电子支付功能也就无法实现。国际外贸信用卡通道收款支付网关,就是指专业提供国际外贸信用卡通道收款收款的银行支付接口。国际外贸信用卡通道收款支付网关一般由第三方支付公司和银行一起合作,2.国际外贸信用卡通道收款支付通道是如何工作的?答:一般到第三方信用卡收款支付公司开通办理国际外贸信用卡通道收款支付网关。把网关接口链接到外贸商家购物车的后台,老外在线消费时,点击购物车下订单,然后点击付款,进入到支付网关界面,老外在线填写他外贸信用卡通道收款的相关信息,就可以支付成功,方便快捷,符合老外的消费习惯,是外贸信用卡收款商家的一个有力助手。3.使用外贸信用卡通道收款支付通道我需要外贸信用卡通道收款吗?答:不需要。外贸信用卡通道收款支付通道是接收老外的外贸信用卡通道收款支付。一般都是第三方公司跟银行合作开发的。所以你要跟第三方支付公司申请外贸信用卡通道,链接接口就行了,然后给第三方支付提供你的结算账户就行了。4.老外是否信任外贸信用卡通道收款支付呢?答:当然。欧美国家的信誉度方面已经非常健全了,用外贸信用卡通道收款消费是他们的主流消费模式,网上购物也是他们实现购物的一个主要途径,因此老外对提供在线支付方式的第三方支付公司也都不陌生,在国外,同样有很多第三方支付公司提供外贸信用卡通道收款支付的。其次,第三方支付公司一般都是取得银行授权,有些也通过PCI(Payment Card Industry)数据安全标准(DSS:Data Security Standard)的,所以老外对第三方支付公司的外贸信用卡通道收款支付通道是非常的熟悉的,不会存在什么信不信任的问题。5.外贸信用卡通道收款支付会不会泄露客户的资料?答:不会。外贸信用卡通道收款支付网关采用的是银行的支付页面。数据都是经过SSL数据加密进行传输的,也就是说外贸信用卡通道收款支付的安全性是有银行这边来控制的,说有的机密数据只有银行那边才可能有,因此外贸信用卡通道收款支付也是非常安全,不会涉及到泄露客户信息的问题,老外可以放心使用。6.开通外贸信用卡通道收款在线支付,商家怎么收到款?答:国际外贸信用卡通道收款在线支付方式与传统的收款方式有点不同,一般都是经过第三方支付公司的,因此款项也不是立即能到达商家账户里面的,第三方支付就是要起一个中间的作用,老外下订单付款,然后商家根据订单发货,第三方支付公司再将款项结算给外贸商家。这中间结算的时间和政策,每个信用卡支付公司都是不相同的。7.外贸信用卡通道收款支付网关是如何能有效避免拒付的?答:欧美国家,外贸信用卡通道收款消费与人们的生活、学习、工作、社会生活等息息相关,使用外贸信用卡通道收款消费关系到人们的信用记录。外贸信用卡通道收款组织有一条规定,只要是外贸信用卡通道收款拒付,就必定会在持卡人的信用记录上刷上一笔,无论是否恶意拒付。这也就意味着没有人会轻易的去拒付,一旦申请拒付,发卡行以及提供外贸信用卡通道收款通道的第三方公司也会介入调查,对持卡人来说是相当麻烦的。这也是外贸信用卡通道收款能有效避免拒付的原因。根据外贸信用卡通道收款组织的统一,外贸信用卡通道收款拒付率仅为万分之三。外贸信用卡通道收款的拒付相对较麻烦,需要用户向银行提出申请,并且将会在用户的银行记录里留下一笔,用户一般情况下不会无理取闹。卖家可以多做一些工作来防止恶意拒付情况的出现,还可以有意地回避某些恶意拒付较严重地区的客户的外贸信用卡通道收款支付。一般外贸信用卡通道收款支付的拒付大部分是因为客服工作没有及时做好。没有跟进客户的交易情况。或者货物的质量确实是出现严重损坏。最严重的是有的商户根本就不发货,这种欺诈老外的方式肯定100%是要拒付的。8.paypal也是外贸信用卡通道收款支付,为什么还要选择外贸信用卡通道收款支付网关?答:老外是非常爱用paypal,虽然paypal账号是与外贸信用卡通道收款相关联的,但拒付和理赔都能做到与外贸信用卡通道收款无关。这就是paypal的高明之处。这样做的好处是不会影响到客户的银行信用记录,因为paypal的信用体系是相对独立的,所以老外可以轻易的做出投诉拒付。Paypal被投诉的概率很高,导致Paypal帐号被封的概率也是很高的,一旦被冻结,款项要到180天后才能提出来,严重影响了商户的外贸生意,资金不是很大的商户,整个生意都可能被停滞,这个损失是非常惨重的。其次,paypal对我们中国的商家带有歧视,对于仿品的限制是非常严格的,这对我们这个仿真大国来讲,是很大的一个打击。外贸信用卡通道收款支付网关就不存在冻结的问题了。因为外贸信用卡通道收款拒付跟持卡人的信誉度是挂钩的,所以外贸信用卡通道收款比paypal更能有效的避免拒付。其次,拥有外贸信用卡通道收款支付网关是只要有一张外贸信用卡通道收款就可以在线支付的,不需要去注册账户之类的,外贸信用卡通道收款持有者的数目远远大于paypal账户拥有者,因此,外贸信用卡通道收款支付网关,能大大增加自己潜在商户的数目,提高商家的客户群体。9.如何开办外贸信用卡通道收款支付网关?答:你可以跟第三方支付公司申请开通支付网关。如国内的yourspay优仕支付。yourspay是深圳市政府扶持的企业,走中国银行的通道,资金安全,成功率高,现行业内就只有yourspay与首信易支持M卡。但是首信易只接公司商户,yourspay个人与公司均可接入。10.外贸信用卡通道收款支付通道的结算周期是多久?答:不同的支付公司结算时间和方式也不一样。目前国内第三方支付公司中,yourspay支付的结算方式是最灵活的,可以对公结算也可以对私结算,每个月的8号和23号,固定结算日,只要满了5000,到了结算周期就可以结算。最短可以7天结算一次。11.国际外贸信用卡通道收款支付网关需要手续费吗?一般手续费是多少的?答:国际外贸信用卡通道收款支付网关一般都是要根据交易金额收取一定比例的手续费的。目前国内第三方支付公司中,手续费一般都在5%左右。12.为什么要收取保证金?答:因为外贸信用卡通道收款有180天的拒付期,有些商户也会因为一些疏忽,比如忘了发货或者发错货了,造成消费者的投诉或拒付,如果投诉多了,对我们整个平台的信誉都会有影响的,我们收取一定的保证金在6个月后滚动结算一是为了保护我们整个平台的安全,另外也督促商户及时处理订单,避免出现拒付等情况。13.如果发生拒付,该怎么办?答:用外贸信用卡通道收款在线支付,难免会碰到外贸信用卡通道收款拒付的问题,外贸信用卡通道收款支付网关的拒付不像paypal拒付那么容易,老外也不会轻易拒付,因为我们都知道,老外的外贸信用卡通道收款用来做房贷、车贷等事情,所以拒付的话影响会他的信用度,拒付对他以后的消费生活有很大的负面作用。14.国外消费者拒付的几种情况?⑴未授权交易有可能是客户不能识别外贸信用卡通道收款帐单或是客户恶意投诉,建议商户在网站上写明收款方并告知客户外贸信用卡通道收款帐单显示,同时告知客户发货时间;⑵未收到货在收到外贸信用卡通道收款帐单后仍然未收到货,建议商户对订单实时跟踪,确保货物安全到达;⑶货不对版建议商户务必在网站上写明商品详细描诉,确保货物和网站上一致,以免造成纠纷;拒付为外贸信用卡通道收款各级结算体系中最严重纠纷,各级清算机构及商户,消费者都应尽量避免拒付发生。建议商户以外贸信用卡通道收款支付网关收单时,避免争议性事项发生。⑷恶意拒付或诈骗建议诈骗防御:通过了解你客户的购买习惯,你可以拒绝一部分订单,来保证你的收益。保证你的收益不受损失,取绝于网络策略和降低的控制方法,为了避免损失,你需要了解风险管理办法,采取有效的的风险管理措施。15. 目前国内哪个信用卡支付公司比较好?答:目前国内比较好的支付公司首选yourspay支付,其功能优势如下:1)独立通道:公司提供的国际外贸信用卡通道收款收款通道是中银的独立的通道,通道是由银行独立开通,通道的稳定性和安全性以及信用卡支付成功率都是有很高的保障的。2)支持卡种:现在公司可以支持VISA、MASTER、JCB,AE四种卡种,是目前国内外卡支付公司支持卡种最多的公司3)多币种交易:人民币、美元、欧元、英镑、日元、澳大利亚元、加拿大元、新加坡元等等币种4)人民币结算:直接人民币结算,可以规避外汇管制的风险。5).安全保障体系:国际领先的反欺诈系统,NETSCREEN 防火墙,MD5数字签名,PCI安全认证,SSL证书加密,密码安全控件,确保每一笔通过yourspay平台收进的款项的安全。而且最近yourspay新推出无品牌限制通道,没有任何品牌限制:支持所有品牌,支持仿牌收款,支持UGG收款,或者是其他敏感仿牌商户,仿牌客户的最好选择。。哪些家第三方支付公司可以提供接口对接,提供通道,做资金的清算呢?信用卡收款通道可以 帮您解决收款问题 无品牌限制,支持仿牌商户手续费低交行合作通道稳定,不关闭开户费用低回款快个人公司都可以办理期待与您合作!哪些家第三方支付公司可以提供接口对接,提供通道,做资金的清算呢?
相关最新文章
支付宝和办理网银那个比较安全?哪个比较划算?充值收手续费么?这两个不是......
支付宝充值要收费吗?用网银网上支付是不收费的,充值也属于网上支付。如......
108支付平台是不是跑路了,为什么网站打不开了.现在的确很多平台,开始我也是.....
199支付是不是跑路了?199支付是不是跑路了?那人家肯定是跑路了,或者是对.....
1月10号的时候用信用卡在支付宝充值,然后提现成功,怎么昨天充了之后今天却提.....
热线电话(服务时间 09 : 00 - 21 : 00 )
Copyright (C) 2015 你我贷()  版权所有;杜绝借款犯罪,倡导合法借贷,信守借款合约
关注你我贷官方微信支付宝:即时到账接口对接
创建 反馈信息表 支付业务逻辑处理
1、支付接口的&合作身份者ID&和&密匙&就要自己申请,这里跳过
下载完demo文档后,选择适合自己项目的语言和编码格式,这里用的是JAVA - UTF-8
然后导入到自己的项目中(目录结构自己自由排版,我采用文档提供的格式)
然后到 AlipayConfig 中填写申请到的合作者ID和密匙
2、反馈信息表 Alipayparams 的创建
(该表也可不创建,主要是为了能够记录每一笔交易的信息记录信息详情)
参考 &即时到账交易接口& 的文档内容 - 》&服务器异步通知参数说明&
创建 alipayparams 表vcD4NCjxwcmUgY2xhc3M9"brush:">
DROP TABLE IF EXISTS
CREATE TABLE alipayparams(
payId INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
sign VARCHAR(100) DEFAULT NULL COMMENT '签名',
sign_type VARCHAR(50) DEFAULT NULL COMMENT '签名方式',
notify_id VARCHAR(100) DEFAULT NULL COMMENT '通知校验ID',
notify_type VARCHAR(50) DEFAULT NULL COMMENT '通知类型 DSA/RSA/MD5',
notify_time DATETIME DEFAULT NULL COMMENT '通知时间',
trade_no VARCHAR(100) DEFAULT NULL COMMENT '支付宝交易号',
out_trade_no VARCHAR(100) DEFAULT NULL COMMENT '商户网站唯一订单号',
subject VARCHAR(257) DEFAULT NULL COMMENT '商品名称',
payment_type VARCHAR(11) DEFAULT NULL COMMENT '支付类型 1:商品购买',
trade_status VARCHAR(100) DEFAULT NULL COMMENT '交易状态',
gmt_create DATETIME DEFAULT NULL COMMENT '交易创建时间',
gmt_payment DATETIME DEFAULT NULL COMMENT '交易付款时间',
gmt_close DATETIME DEFAULT NULL COMMENT '交易关闭时间',
gmt_refund DATETIME DEFAULT NULL COMMENT '退款时间',
refund_status VARCHAR(50)
DEFAULT NULL COMMENT '退款状态',
seller_id VARCHAR(50)
DEFAULT NULL COMMENT '卖家支付宝用户号',
seller_email VARCHAR(100)
DEFAULT NULL COMMENT '卖家支付宝账号',
buyer_id VARCHAR(50)
DEFAULT NULL COMMENT '买家支付宝用户号',
buyer_email VARCHAR(100)
DEFAULT NULL COMMENT '买家支付宝账号',
price INT(11) DEFAULT 0 COMMENT '商品单价',
quantity INT(11) DEFAULT 0 COMMENT '购买数量',
total_fee INT(11) DEFAULT 0 COMMENT '交易金额',
body VARCHAR(100) DEFAULT NULL COMMENT '商品描述',
discount VARCHAR(100) DEFAULT NULL COMMENT '折扣',
is_total_fee_adjust VARCHAR(10) DEFAULT NULL COMMENT '是否调整总价',
use_coupon VARCHAR(10) DEFAULT NULL COMMENT '是否使用红包买家',
extra_common_param VARCHAR(100) DEFAULT NULL COMMENT '公用回传参数',
business_scene VARCHAR(100) DEFAULT NULL COMMENT '是否扫码支付',
createTime DATETIME COMMENT '创建时间'
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='支付宝信息记录表';
接下来开始整合实现的方法
在下载的支付宝demo文档中,可以看到 alipayapi. 和 notify_url.jsp
将这两个页面中的代码 转化成 JAVA形式 写入 AlipayAction.java
* 支付宝服务器异步通知页面
* @param req
* @param res
@RequestMapping(value=&/alipayNotify&)
public void alipayNotify(HttpServletRequest req,HttpServletResponse res){
//获取支付宝POST过来反馈信息
Map params = new HashMap();
Map requestParams = request.getParameterMap();
for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);
String valueStr = &&;
for (int i = 0; i & values. i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i]
: valueStr + values[i] + &,&;
//乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
//valueStr = new String(valueStr.getBytes(&ISO-8859-1&), &gbk&);
params.put(name, valueStr);
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以下仅供参考)//
/**商户订单号*/
//String out_trade_no = new String(request.getParameter(&out_trade_no&).getBytes(&ISO-8859-1&),&UTF-8&);
/**支付宝交易号*/
//String trade_no = new String(request.getParameter(&trade_no&).getBytes(&ISO-8859-1&),&UTF-8&);
/**交易状态*/
String trade_status = &&;
trade_status = new String(request.getParameter(&trade_status&).getBytes(&ISO-8859-1&),&UTF-8&);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以上仅供参考)//
if(AlipayNotify.verify(params)){//验证成功
////////&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&////////
//请在这里加上商户的业务逻辑程序代码
//&&请根据您的业务逻辑来编写程序(以下代码仅作参考)&&
TRADE_FINISHED(表示交易已经成功结束,并不能再对该交易做后续操作);
TRADE_SUCCESS(表示交易已经成功结束,可以对该交易做后续操作,如:分润、退款等);
if(trade_status.equals(&TRADE_FINISHED&)){
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单中查到该笔订单的详细,并执行商户的业务程序
//请务必判断请求时的total_fee、seller_id与通知时获取的total_fee、seller_id为一致的
//如果有做过处理,不执行商户的业务程序
//退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知
} else if (trade_status.equals(&TRADE_SUCCESS&)){
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//请务必判断请求时的total_fee、seller_id与通知时获取的total_fee、seller_id为一致的
//如果有做过处理,不执行商户的业务程序
//付款完成后,支付宝系统发送该交易状态通知
//&&请根据您的业务逻辑来编写程序(以上代码仅作参考)&&
out(&success&,res); //请不要修改或删除
/////&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/////
}else{//验证失败
out(&fail&,res);
* 向支付宝发送请求
* @param req
* @param res
* @param alipayConfig
@RequestMapping(value=&/alipayApi&)
public void alipayApi(HttpServletRequest req,HttpServletResponse res,AlipayConfig alipayConfig){
/**商户订单号,商户网站订单系统中唯一订单号,必填*/
String out_trade_no = &&;
/**订单名称,必填*/
String subject = &&;
/**付款金额,必填*/
String total_fee = &&;
/**商品描述,可空*/
String body = &&;
out_trade_no = new String(request.getParameter(&WIDout_trade_no&).getBytes(&ISO-8859-1&),&UTF-8&);
subject = new String(request.getParameter(&WIDsubject&).getBytes(&ISO-8859-1&),&UTF-8&);
total_fee = new String(request.getParameter(&WIDtotal_fee&).getBytes(&ISO-8859-1&),&UTF-8&);
body = new String(request.getParameter(&WIDbody&).getBytes(&ISO-8859-1&),&UTF-8&);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
//////////////////////////////////////////////////////////////////////////////////
/**把请求参数打包成数组*/
Map sParaTemp = new HashMap();
sParaTemp.put(&service&, AlipayConfig.service);//
sParaTemp.put(&partner&, AlipayConfig.partner);
sParaTemp.put(&seller_id&, AlipayConfig.seller_id);
sParaTemp.put(&_input_charset&, AlipayConfig.input_charset);//
sParaTemp.put(&payment_type&, AlipayConfig.payment_type);//
sParaTemp.put(&notify_url&, AlipayConfig.notify_url);
sParaTemp.put(&return_url&, AlipayConfig.return_url);
sParaTemp.put(&anti_phishing_key&, AlipayConfig.anti_phishing_key);//
sParaTemp.put(&exter_invoke_ip&, AlipayConfig.exter_invoke_ip);//
sParaTemp.put(&out_trade_no&, out_trade_no);
sParaTemp.put(&subject&, subject);
sParaTemp.put(&total_fee&, total_fee);
sParaTemp.put(&body&, body);
//其他业务参数根据在线开发文档,添加参数.文档地址:https://doc./doc2/detail.htm?spm=a219a..0.O9yorI&treeId=62&articleId=103740&docType=1
//如sParaTemp.put(&参数名&,&参数值&);
/**建立请求*/
String sHtmlText = AlipaySubmit.buildRequest(sParaTemp,&get&,&确认&);
out(sHtmlText,res);
之后在 alipayNotify 方法内编写自己的业务逻辑即可。。。。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'支付宝即时到账接口对接总结 - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了7919字,被9人关注,获得了10个喜欢
支付宝即时到账接口对接总结
一、前期准备工作
1.登录公司支付宝账号,申请开通即时到账的服务。
2.根据支付宝文档的要求生成公钥私钥并上传到公司支付宝账户中,然后就可以查询到对应的支付宝公钥了。(注意事项:将支付宝公钥复制到一个 .pem 文件如下图的中间位置,每行64个字符,若格式不匹配,后面验证签名时会报错)
-----BEGIN PUBLIC KEY-----
这里是支付宝公钥
-----END PUBLIC KEY-----
3.下载支付宝即时到账接口文档(php)。
二、接口调试
1.根据公司所有的php框架和现有的架构进行分析,设想几种对接的方式,寻找相对合理的解决方案。
2.接口对接之签名验证:常见的 MD5 和 RSA (MD5 的实现较 RSA 签名模式的实现要简单的多,推荐使用 RSA 签名验证,MD5便于伪造,而公钥和私钥则很难伪造)
3.调试过程中出现最多的错就是签名错误,要么是参数不正确,要么是证书的路径不正确,下面这个三个文件是非常重要的,缺一不可。
商户私钥文件:步骤一中生成的私钥文件
支付宝公钥文件:步骤一中上传秘钥后获取的支付宝公钥文件。
cacert.pem:直接将支付宝文档中的文件拿过来使用
4.同步通知和异步通知
同步通知只有一次,1分钟内有效。
异步通知会有8次,25小时内完成8次通知(频率是:4m,10m,10m,1h,2h,6h,15h)。商户处理接口若打印出 success 则表示交易成功了,通知id将会失效,也不会发送消息了,否则一直发送知道发送8次后失效。
5.同步通知可以在开发环境下测试,异步通知只能在线上服务器上在线测试,所以需要提前做好日志记录。
6.php处理时要注意编码格式,这种情况出现就是chrome可以发起支付,但是ie,360这样的浏览器就会包参数错误。
三、业务融合
1.同步返回和异步通知都可用于更新订单状态。
假设:支付成功后,直接关闭页面,没有发生同步通知,这样就可以测试异步通知是否对剩下的业务逻辑进行处理了。
2.在处理商户订单的时候一定要进行一下判断:
①交易状态码验证
②卖家账号是否一致
③通知id验证
④签名验证
⑤订单状态检验
⑥登录用户是否为订单关联的用户
⑦交易金额是否一致
3.经过上面一系列验证后终于可以走商户的处理逻辑了,处理逻辑也要检验,当订单状态已改变时则直接跳过处理。
4.业务逻辑是可以通过同步通知来走通的。
四、线上调试
1.根据日志记录和php错误来修正代码。
2.防钓鱼ip地址检查和防钓鱼时间戳可以根据需要来设置(anti_phishing_key,exter_invoke_ip),具体看文档中的配置。
前期的准备工作一定要提前完成,不然代码无法调试,其它的介绍文档里面都描述的非常清楚,在开发的过程中一路下来遇到的大部分问题都是在文档中找到的,最纠结的一个问题在于签名的验证,签名的生成是根据返回的所有参数生成的,但是验证的时候我带入了多余的用户 token,所以导致签名一直验证失败。
简书的第一篇随笔,以后会坚持写下去。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮}

我要回帖

更多关于 java对接微信支付接口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信