php支付宝提现demo,php 支付宝 支付Demo模板
【实例简介】
【实例截图】
【核心代码】
/* *
* 类名:AlipaySubmit
* 功能:支付宝各接口请求提交类
* 详细:构造支付宝各接口表单HTML文本,获取远程HTTP数据
* 版本:3.3
* 日期:2012-07-23
* 说明:
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
* 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
*/
//require_once("Corefunction.php");
//require_once("alipay_md5.function.php");
class AlipaySubmit {
var $alipay_config;
/**
*支付宝网关地址(新)
*/
var $alipay_gateway_new = 'https://mapi.alipay.com/gateway.do?';
function __construct($alipay_config){
$this->alipay_config = $alipay_config;
}
function AlipaySubmit($alipay_config) {
$this->__construct($alipay_config);
}
/**
* 生成签名结果
* @param $para_sort 已排序要签名的数组
* return 签名结果字符串
*/
function buildRequestMysign($para_sort) {
//把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
$prestr = createLinkstring($para_sort);
$mysign = "";
switch (strtoupper(trim($this->alipay_config['sign_type']))) {
case "MD5" :
$mysign = md5Sign($prestr, $this->alipay_config['key']);
break;
default :
$mysign = "";
}
return $mysign;
}
/**
* 生成要请求给支付宝的参数数组
* @param $para_temp 请求前的参数数组
* @return 要请求的参数数组
*/
function buildRequestPara($para_temp) {
//除去待签名参数数组中的空值和签名参数
$para_filter = paraFilter($para_temp);
//对待签名参数数组排序
$para_sort = argSort($para_filter);
//生成签名结果
$mysign = $this->buildRequestMysign($para_sort);
//签名结果与签名方式加入请求提交参数组中
$para_sort['sign'] = $mysign;
$para_sort['sign_type'] = strtoupper(trim($this->alipay_config['sign_type']));
return $para_sort;
}
/**
* 生成要请求给支付宝的参数数组
* @param $para_temp 请求前的参数数组
* @return 要请求的参数数组字符串
*/
function buildRequestParaToString($para_temp) {
//待请求参数数组
$para = $this->buildRequestPara($para_temp);
//把参数组中所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对字符串做urlencode编码
$request_data = createLinkstringUrlencode($para);
return $request_data;
}
/**
* 建立请求,以表单HTML形式构造(默认)
* @param $para_temp 请求参数数组
* @param $method 提交方式。两个值可选:post、get
* @param $button_name 确认按钮显示文字
* @return 提交表单HTML文本
*/
function buildRequestForm($para_temp, $method, $button_name) {
//待请求参数数组
$para = $this->buildRequestPara($para_temp);
$sHtml = "
";
while (list ($key, $val) = each ($para)) {
$sHtml.= "";
}
//submit按钮控件请不要含有name属性
$sHtml = $sHtml."
正在向支付宝提交数据...";
$sHtml = $sHtml."";
return $sHtml;
}
/**
* 建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果
* @param $para_temp 请求参数数组
* @return 支付宝处理结果
*/
function buildRequestHttp($para_temp) {
$sResult = '';
//待请求参数数组字符串
$request_data = $this->buildRequestPara($para_temp);
//远程获取数据
$sResult = getHttpResponsePOST($this->alipay_gateway_new, $this->alipay_config['cacert'],$request_data,trim(strtolower($this->alipay_config['input_charset'])));
return $sResult;
}
/**
* 建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果,带文件上传功能
* @param $para_temp 请求参数数组
* @param $file_para_name 文件类型的参数名
* @param $file_name 文件完整绝对路径
* @return 支付宝返回处理结果
*/
function buildRequestHttpInFile($para_temp, $file_para_name, $file_name) {
//待请求参数数组
$para = $this->buildRequestPara($para_temp);
$para[$file_para_name] = "@".$file_name;
//远程获取数据
$sResult = getHttpResponsePOST($this->alipay_gateway_new, $this->alipay_config['cacert'],$para,trim(strtolower($this->alipay_config['input_charset'])));
return $sResult;
}
/**
* 用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数
* 注意:该功能PHP5环境及以上支持,因此必须服务器、本地电脑中装有支持DOMDocument、SSL的PHP配置环境。建议本地调试时使用PHP开发软件
* return 时间戳字符串
*/
function query_timestamp() {
$url = $this->alipay_gateway_new."service=query_timestamp&partner=".trim(strtolower($this->alipay_config['partner']));
$encrypt_key = "";
$doc = new DOMDocument();
$doc->load($url);
$itemEncrypt_key = $doc->getElementsByTagName( "encrypt_key" );
$encrypt_key = $itemEncrypt_key->item(0)->nodeValue;
return $encrypt_key;
}
}
?>
php支付宝提现demo,php 支付宝 支付Demo模板相关推荐
- idea支付宝沙箱环境模拟电脑网站支付demo
1.idea导入demo 支付宝电脑网站支付Demo:https://opendocs.alipay.com/open/270/106291/ 1.导入idea项目 2.选择下载好的项目,选择Ecli ...
- 支付宝提现收费,移动支付大战正式落幕
在今年上半年微信宣布提现不再免费之后,支付宝曾在微博表示提现不收费,不过这种"福利"并未坚持多久.今天支付宝宣布提现将收取0.1%的手续费,每个用户终身拥有2万元免费提现额度.不过 ...
- 银联支付(一)申请测试环境,并运行测试demo(在线网关支付)
1.注册账号 点击进入银联支付开放平台地址 注册账号 选择普通用户登录账号 登录后点击前往商户测试中心 进入后产品列表中选择在线网关支付,然后要点击操作中的集成测试申请支付权限,10分钟后生效(这里如 ...
- 基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付
基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付 今天接口申请下来,下载了官方demo对着调试了一天,终于实现想要的功能,先看图 选择支付宝支付 跳出二维码弹窗 手机支付宝进 ...
- pc二维码支付demo(支付宝/微信)
一.导读 当我第一次对接的时候还是遇到了不少的问题,也找了开源的支付demo,但是网上的开源支付demo感觉不够简单显而易见,我刚好自己对接过,相关支付,只保留了最简单的支付功能和回调通知,有完整的项 ...
- 4 支付宝手机网站支付demo讲解
目录 1 引言 2 业务流程 3 用户下单 4 商户系统处理订单信息 5 支付宝向用户展示支付信息 6 用户付款 7 同步通知与异步通知 1 引言 前面三小节我们已经学过如何使用支付宝手机网站支付的功 ...
- java支付宝支付Demo
支付宝的官方demo 下载之后打开AilpayConfig package com.alipay.config; import java.io.FileWriter; import java.io.I ...
- Idea运行支付宝网站支付demo踩坑解决及其测试注意事项
一.前言 在一些商城网上中,必不可少的是支付,支付宝和微信比较常见,最近小编也是在研究这一块,看看支付宝怎么进行支付的,支付宝给我们提供了demo和沙箱测试.减少我们的申请的麻烦,公钥和秘钥也比之前方 ...
- 支付宝网站支付demo运行教程
一.前言 在一些商城网上中,必不可少的是支付,支付宝和微信比较常见,最近小编也是在研究这一块,看看支付宝怎么进行支付的,支付宝给我们提供了demo和沙箱测试.减少我们的申请的麻烦,公钥和秘钥也比之前方 ...
- Android App支付:支付宝SDK接入详细指南(附官方支付demo)
Android App支付:支付宝SDK接入详细指南(附官方支付demo) 前言 一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多 ...
最新文章
- 虚拟化基础架构Windows 2008篇之1-虚拟化基础服务概述
- C语言深度剖析书籍学习记录 第七章 文件结构
- LeetCode 1506. Find Root of N-Ary Tree(异或)
- 在 windows 下使用 Xming+Putty 显示 Linux 下软件图形界面
- 数据结构与算法——常用数据结构及其Java实现
- UP及按照UP进行软件开发的流程
- mybatis 原理_Mybatis大揭秘:plugin插件设计原理
- [Java] 蓝桥杯ADV-202 算法提高 最长公共子序列
- 老男孩python第一天笔记
- Can you answer these queries? HDU 4027 线段树
- MP3音频解码详细过程(二)
- 2020第六届上海市大学生网安大赛Misc|writeup
- 获取一组坐标的中心点
- s5p4418摄像头程序使用教程
- 机电工程专业成功转行IT的真实经历
- linux mysql 开发环境_RedHat Linux下QT平台MySQL数据库开发环境配置
- 感谢网友,让我实现了Zbrush笔刷自由
- 常用计算机高级语言及其特点,计算机高级语言特点是什么?常见的语种有哪些?...
- C++ 虚函数详解(虚函数表、vfptr)——带虚函数表的内存分布图
- 自动化立体仓库的规划与设计(学习笔记)