懒人——支付宝app支付
1、下载、放置的第三方类库目录下、thinkphp放在vendor下
https://github.com/alipay/alipay-sdk-php-all
2、引用AopClient和AlipayTradeAppPayRequest,引用方式有很多,下面用了其中一种
require_once 'vendor/ali/aop/AopClient.php';
require_once 'vendor/ali/aop/request/AlipayTradeAppPayRequest.php';
其他的import
、ure
、include
等
3、下面懒人支付代码
header("Content-type:text/html;charset=utf-8");require_once 'vendor/ali/aop/AopClient.php';require_once 'vendor/ali/aop/request/AlipayTradeAppPayRequest.php';$aop = new \AopClient;
$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$aop->appId = "2021002134693554";
$aop->rsaPrivateKey = '密钥';
$aop->alipayrsaPublicKey = '支付宝公钥';
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
$request = new \AlipayTradeAppPayRequest();$arr = ["body"=>$params['body'],"subject"=>$params['body'],"out_trade_no"=>$params['out_trade_no'],"timeout_express"=>"30m","total_amount"=> $params['total_fee'] ,"product_code"=>"QUICK_MSECURITY_PAY"
];$bizcontent = json_encode($arr);
$request->setNotifyUrl($this->notify_url);
$request->setBizContent($bizcontent);
$response = $aop->sdkExecute($request);
//htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有
return htmlspecialchars($response);die;
4、懒人回调
require_once 'vendor/ali/aop/AopClient.php'; $aop = new \AopClient(); $aop->alipayrsaPublicKey = '支付宝公钥'; //验证签名$result = $aop->rsaCheckV1($_POST,NULL,"RSA2"); // $_POST['sign_type'] if($result=='true'){//1、签名验证通过后需做以下操作,所有操作全部判定成功后才视为支付成功。//1-1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号;//1-2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额);//1-3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email);//1-4、验证app_id是否为该商户本身。//2、判断返回状态,并根据返回状态做相应处理,//2-1、状态TRADE_SUCCESS的通知触发条件是商户签约的产品支持退款功能的前提下,买家付款成功;//2-2、状态TRADE_FINISHED的通知触发条件是商户签约的产品不支持退款功能的前提下,买家付款成功;或者,商户签约的产品支持退款功能的前提下,交易已经成功并且已经超过可退款期限。if($_POST['trade_status'] == 'TRADE_FINISHED' || $_POST['trade_status'] == 'TRADE_SUCCESS') {//处理更新订单状态等相关逻辑$transaction_id = $_POST['trade_no']; //支付宝的订单编号$out_trade_no = $_POST['out_trade_no']; //我系统中的编号$total_fee = $_POST['total_amount']; // 支付价格//业务处理}}else{//验签失败echo 'fail';exit();}
懒人——支付宝app支付相关推荐
- 支付宝app支付java后台流程、原理分析(含nei wang chuan tou)
java版支付宝app支付流程及原理分析 本实例是基于springmvc框架编写 一.流程步骤 1.执行流程 当手机端app(就是你公司开发的app) ...
- 支付宝app支付功能-服务端的实现-python3版
支付宝app支付功能-服务端的实现-python3版 一:需求说明 二:支付宝app支付处理流程 三:所需依赖 3.1 依赖库 3.2 支付配置 3.2.1 沙箱环境配置 3.2.2 正式环境配置 四 ...
- 支付宝 APP支付(证书)方式遇到的问题和解决办法
支付宝 APP支付(证书)方式遇到的问题和解决办法 参考文章: (1)支付宝 APP支付(证书)方式遇到的问题和解决办法 (2)https://www.cnblogs.com/fubing/p/121 ...
- java后端实现集成支付宝APP支付(沙箱环境)
沙箱环境集成支付宝APP支付后端实现 前言 获取支付宝相关信息 整体开发流程 1.获取核心参数 2.将支付宝SDK集成到项目中 3.后台使用支付宝SDK与支付宝进行交互逻辑 1.将支付宝公共信息参数写 ...
- android通过webview调起支付宝app支付
android通过webview调起支付宝app支付 webview在加载网页的时候会默认调起手机自带的浏览器加载网页,用户体验不好.但当用户设置浏览器客户端(setWebViewClient)设置这 ...
- java SpringBoot 对接支付宝 APP支付 证书模式及非证书模式
一. 添加maven依赖 sdk <dependency><groupId>com.alipay.sdk</groupId><artifactId>al ...
- 这样可以几分钟快速对接支付宝APP支付和手机网站支付
这个接口主要是实现企业支付宝APP支付已经签约完成的,想对接到手机网站实现手机网站支付来用的. 如果对接到PC网站,用户支付的时候就是扫码支付,网站出付款码,用户扫码完成支付. 如果对接到APP平台, ...
- 可以几分钟快速对接支付宝APP支付和手机网站支付?
这个接口主要是实现企业支付宝APP支付已经签约完成的,想对接到手机网站实现手机网站支付来用的. 如果对接到PC网站,用户支付的时候就是扫码支付,网站出付款码,用户扫码完成支付. 如果对接到APP平台, ...
- fastadmin 微信支付宝整合插件 支付宝APP支付 ALIN10146
1.调试微信支付宝整合插件支付宝APP支付,支付宝支付一直报错 ALIN10146调了6个小时 我使用的是 微信支付宝整合插件,以下为我调用支付的代码 $params = ['amount'=> ...
- aliPay支付宝APP支付操作流程
[TOC] aliPay支付宝APP支付操作流程 1 注册帐号&官方文档解析 在支付宝商家中心注册帐号,已经拥有支付宝帐号的用户,直接登录商家中心即可(同一个支付宝帐号,可以既是买家也是商家) ...
最新文章
- 提供前进、后退功能及其他JAVASCRIPT速成秘诀
- binary_crossentropy(二元交叉熵)的定义
- OC仿支付宝输入UITextField输入车牌号
- 00-02.PHP 网站假设 之 学习PHP语法 [James建站]
- 社交网络登录失败 当尝试用您的社交网络账号进行第三方登录时,发生了一个错误。
- AI+BI,真的如想象中的那么美好吗?
- 散热器老化引起电脑死机
- 雇佣黑客组织利用 3Ds Max 恶意软件攻击全球企业
- zb_system login.php,zblog后台登录地址怎么修改?
- python中时间、日期、时间戳的转换
- 3.docker run / create
- set列表对象去重_set去重应用
- matlab 将路径靠左,latex 图片位置靠左
- 俄勒冈之旅_我在俄勒冈州SAO软件协会上通过A hrefhttpdbsaoorgcalendarofeventseventdescription进行介绍...
- Windows出现“未连接到互联网代理服务器出现问题,或者地址有误。问题解决办法”
- [容斥 状压DP] Atcoder ARC093 F - Dark Horse
- Django小项目:云笔记项目
- Dialog的高冷用法
- 神思二代身份证阅读器集成WEB实例文档js及说明
- 街区尺度下的通勤出行方式挖掘及其影响因子:以北京市为例
热门文章
- 如何结束vbs的代码
- Python之动态网页爬虫方案介绍及selenium+chrome详解
- android播放器录制视频,Android播放器的录制实践
- 数据库操作系统——Visual FoxPro 6.0安装步骤
- 人心涣散亏损扩大 优酷土豆合并宣告失败
- PDFlib+PDI图像和超文本元素提供了许多有用的功能
- 安装Visio2010 64bit时提示不能安装32位版本的Office 2010 ,因为您当前已经安装了64位Office产品的解决方法(亲测可行)
- 好用的在线JSON编辑与格式化工具
- python读取音频文件的几种方式
- matlab 读取mp3文件,MATLAB音频文件读取