支付方式——支付宝集成及使用

Posted 撕烤的攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支付方式——支付宝集成及使用相关的知识,希望对你有一定的参考价值。

每一个支付平台都有自己的加密、解密的原理;还有各种签名的原理;通过各种内容发送数据,防止恶意攻击等功能的原理。

接下来对于部署支付方式,首先要分清几个名词:

集成接入:支付宝已经集成好各种原理和函数,集成一个个的具体的功能。

比如:支付宝的即时到账、当面付、分享给好友支付、移动登陆等。具体详见:支付宝集成接入

下载DEMO后可以通过样例测试各种功能,在理解支付原理的情况下,对DEMO稍加修改就可以整合到自己的项目中了。

 

支付宝平台的SDK的介绍

    1. SDK已经对加签验签逻辑做了封装,使用SDK可直接调用API。
    2. 确定接口对应的类
      例如接口名:alipay.offline.material.image.upload
      在SDK中对应的类为:每个单词首字母大写,并去掉分隔符(“.”),末尾加上Request(或Response)
      如上接口名对应的类为:
      AlipayOfflineMaterialImageUploadRequest(请求类)
      AlipayOfflineMaterialImageUploadResponse(响应类)
      具体调用方式见下方各语言

然而对于php语言下的SDK,笔者下载后发现竟然是lotusphp,一个第三方的开发框架,呵呵,真不友好。我觉得这个SDK应该是用来研究支付宝的底层原理和调用的。对于将支付集成到自己的项目中,我看只用支付宝集成接入的DEMO就可以了。

其实人家也说了。服务端SDK适用于服务窗卡券包当面付店铺管理商品管理广告管理集分宝口碑服务市场订购信息等功能。那么需要更加复杂和自定制的功能,应该是用这个东西比较好,以后有机会研究研究吧。

 

引用:--处理支付宝返回通知失败几种情况:
1、SIGN与MYSIGN不等,responseTxt为invalid命令参数不对,该错误 是由于合作伙伴ID(parnterID)与安全校验码(key)未填,或填错导致
2、SIGN与MYSIGN相等,responseTxt为false,是由于服务器、端口等因素导致,这时请检查
a.防火墙是否屏蔽支付宝的IP(支付宝锁使用的IP地址是:121.0.26.11,范围:121.026.0~255)
b.端口80或者443端口开放没有或者被其他服务占用
c.以上如果都没有问题,可能会是网络验证超时导致(支付宝验证时间是1分钟,SIGN与MYSIGN不等会导致超时),需要等待网络稳定再确定问题
3、SIGN与MYSIGN不等,responseTxt为true,此时只有两种情况会出现:
其一:传递参数时格式不符合(例如:带自定义参数)导致签名不一致
其二:编码格式出现问题,这时候请检查服务器编码和网站编码是否一致,可以写编码过滤解决也可以在返回页面强制编码转换

 

以上是关于支付方式——支付宝集成及使用的主要内容,如果未能解决你的问题,请参考以下文章

PayDemo - 支付宝和微信支付两种方式集成

IOS支付宝支付步骤

iOS支付宝,微信,银联支付集成封装调用(下)

支付宝集成纪录

Spring Boot入门教程(三十六):支付宝集成-当面付

微信和支付宝支付模式详解及实现二