时间:2021-05-26
支付宝支付分为了很多种场景,这里只讲述支付宝APP支付功能集成,期间遇到了特别大的坑,因此我简单描述下集成过程,并概述遇到的问题及解决方案
由于公司业务简单,只支持支付宝支付,而无需关心退款,查询等等额外功能,因此该篇内容仅仅讲述支付宝支付接口时服务端如何准备APP拉取支付订单的信息,大概流程如下
一、创建应用及配置
首先,需要到蚂蚁金服开发平台(open.alipay.com)注册应用,并获取应用ID,并配置应用,这里在配置时主要是签约,生成应用的RSA2公私钥,同时获取到支付宝提供的支付公钥等,这部分官网后台都有提示,比较简单
二、下载对应SDK
这里我是在PHP后台集成服务,因此下载的是PHP SDK,地址:https://docs.open.alipay.com/54/103419/
三、准备一个可以访问的真实域名
四、案例
当以上三部完成之后,此时就可以进入配置我们自己的业务代码了
4.1、组织APP支付时的支付订单信息
<?phprequire_once (__DIR__.'/alipay-sdk-PHP-20171023143822/AopSdk.php');class Alipay{ /** * 应用ID */ const APPID = '你的应用ID'; /** *请填写开发者私钥去头去尾去回车,一行字符串 */ const RSA_PRIVATE_KEY = '应用对应开发者私钥'; /** *请填写支付宝公钥,一行字符串 */ const ALIPAY_RSA_PUBLIC_KEY = '支付宝提供的公钥'; /** * 支付宝服务器主动通知商户服务器里指定的页面 * @var string */ private $callback = "http://m\Pay\Alipay::ALIPAY_RSA_PUBLIC_KEY;$flag = $aop->rsaCheckV1($_POST, NULL, "RSA2");//验签if($flag){ //处理业务,并从$_POST中提取需要的参数内容 if($_POST['trade_status'] == 'TRADE_SUCCESS' || $_POST['trade_status'] == 'TRADE_FINISHED'){//处理交易完成或者支付成功的通知 //获取订单号 $orderId = $_POST['out_trade_no']; //交易号 $trade_no = $_POST['trade_no']; //订单支付时间 $gmt_payment = $_POST['gmt_payment']; //转换为时间戳 $gtime = strtotime($gmt_payment); //此处编写回调处理逻辑 //处理成功一定要返回 success 这7个字符组成的字符串, //die('success');//响应success表示业务处理成功,告知支付宝无需在异步通知 }}五、遇到的问题
5.1、一直报错40001=>isv.invalid-signature
为了搞清楚原因,先后多次重新生成应用的RSA2公私密钥,发现都没有作用。最后结合网上资料,才发现,原来是支付宝回调地址notifyUrl不能有 '?' 以及 ?后面加参数
5.2、支付宝异步通知成功了,但是$_POST为空
这个也花费了一点时间查找,开始做的时候就是遵照支付宝的建议使用HTTS方式请求。但这样应用后台一直通知没有参数内容。最后才想起来由于我们的应用使用了HTTS双向认证,这个原因导致支付宝的服务器回调的参数为空。最后,把回调地址改为了HTTP方式,验证通过
通过遇到的问题,首先查看支付宝的文档描述以及支付宝提供的错误码解释,实在不行就百度或者谷歌,再加上自己不断测试验证,最终一定可以解决问题
至此,支付宝APP支付这块功能完成,其他的APP退款、对账单等等功能就没继续做,不过按照支付宝官网文档以及支付宝提供的SDK,集成到自己应用也只是时间问题。
以上这篇php 服务端集成支付宝APP支付实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了php支付宝APP支付的具体代码,供大家参考,具体内容如下支付宝网页支付1.支付宝开放平台添加应用,获得appid,并签约。2.在支付宝开放
前言很多APP都需要支付功能,国内一般就是支付宝和微信了。目前这2种接入方式对于APP端来说都已经比较方便了,因为大部分的安全校验之类的逻辑都在服务端。APP端
场景随着移动支付的兴起,在我们的app'中,会经常有集成支付的需求.这时候一般都会采用微信和支付宝的sdk来集成(一)支付宝支付在使用支付宝支付的过程中,我们是
本文实例讲述了PHP实现的支付宝支付功能。分享给大家供大家参考,具体如下:在给app做支付宝支付接口的时候收集内容整理如下:接口:import('alipay.
7月19日消息,今日支付宝服务商平台发文称,为方便服务商在移动端即可随时查看并签约支付宝服务商最新业务政策、项目招商,支付宝服务商平台移动端“支付宝服务商助手-