首页 后端开发 php教程 支付宝手机支付 接口_PHP教程

支付宝手机支付 接口_PHP教程

Jul 20, 2016 am 11:16 AM
data sign token 参数 手机 接口 支付 格式 讲解

 

 讲解:

  一:取得  token

    要取得 token 有两个 参数是 是必须 

      req_data  和 sign

req_data格式如下(这是一些必填的。如果想要更多的参数自己去下载手册):        

<direct_trade_create_req>
	<notify_url>{通知地址}</notify_url>
	<call_back_url>{返回地址}</call_back_url>
	<seller_account_name>{商家支付宝账号}</seller_account_name>
	<out_trade_no>{外部订单号}</out_trade_no>
	<subject>{商品介绍}</subject>
	<total_fee>{商品价格}</total_fee>
</direct_trade_create_req>
登录后复制

sign(签名)格式如下

   
 $params = array(
            /* 基本信息 */
            'partner'           => {支付宝pid},
            'req_id'            =>  md5({网站订单号}),
            'service'           =>  'alipay.wap.trade.create.direct',
            'format'            =>  'xml',
            'v'                 =>  '2.0',   
            'sec_id'            =>  'MD5',
            "_input_charset"    => CHARSET
            "req_data"      =>  {以面的req_data}
        );
   
    if($sort){
            /* 排序 */
            ksort($params);
            reset($params);
        }
        $sign  = '';
        foreach ($params AS $key => $value)
        {
            $sign  .= "{$key}={$value}&";
        }

        md5(substr($sign, 0, -1) . {支付宝key});
登录后复制

sign 要注意的地方 是 排序 md5之前一定要按手册上的排序不然会出错的

然后以post方式提交给

http://wappaygw.alipay.com/service/rest.htm?

注意 返回的 数据是 经过 urlencode 的 所心我们要用 urldecode 解码 然后还得用解析 返回的数据

/**
	 * 解析远程模拟提交后返回的信息
		 * @param $str_text 要解析的字符串
	 * @return 解析结果
	 */
	function parseResponse($str_text) {
		//以&ldquo;&&rdquo;字符切割字符串
		$para_split = explode('&',$str_text);
		//把切割后的字符串数组变成变量与数值组合的数组
		foreach ($para_split as $item) {
			//获得第一个=字符的位置
			$nPos = strpos($item,'=');
			//获得字符串长度
			$nLen = strlen($item);
			//获得变量名
			$key = substr($item,0,$nPos);
			//获得数值
			$value = substr($item,$nPos+1,$nLen-$nPos-1);
			//放入数组中
			$para_text[$key] = $value;
		}
		
		if( ! empty ($para_text['res_data'])) {			
			//token从res_data中解析出来(也就是说res_data中已经包含token的内容)
			$doc = new DOMDocument();
			$doc->loadXML($para_text['res_data']);
			$para_text['request_token'] = $doc->getElementsByTagName( "request_token" )->item(0)->nodeValue;
		}
		
		return $para_text;
	}
登录后复制

最后的 规范的支付表单数据 就是(这里是要用get)

$params = array(
            'partner'           => $this->_config['wap_alipay_partner'],
            'req_id'            =>  md5({网站订单号}),
            'service'           =>  'alipay.wap.trade.create.direct',
            'format'            =>  'xml',
            'v'                 =>  '2.0',   
            'sec_id'            =>  'MD5',
            "_input_charset"    => CHARSET
			'req_data'=>'<auth_and_execute_req><request_token>' . {token} . '</request_token></auth_and_execute_req>',
			'service'	=>	"alipay.wap.auth.authAndExecute",			
		
	);
	//这个地方也要签名的。方式和上面一样
	$params['sign']	= _get_sign($params);
	
	//get数据
	$return = array(
		'online'    =>  {联线},
		'desc'      =>  {支付说明},
		'method'    =>  'GET',
		'gateway'   =>  'http://wappaygw.alipay.com/service/rest.htm?',
		'params'    =>  $params,
	)
登录后复制

最后 跳转到支付宝

 <form action="<?php echo $return['gateway'];?>" id="payform" method="<?php echo $return['method'];?>" style="display:none">
<?php foreach ( $return['params'] $_k=>$value){?>
	<input type="hidden" name="<?php echo $_k;>" value="<?php echo $value;>" />
<?php }?>

</form>
<script type="text/javascript">
  document.getElementById('payform').submit();
</script>
登录后复制

  明天上返回的那个

 

        

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440113.htmlTechArticle讲解: 一:取得 token 要取得 token 有两个 参数是 是必须 req_data 和 sign req_data格式如下(这是一些必填的。如果想要更多的参数自己去下载...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

三星 Galaxy S25 Ultra 手机曝料:6.86 英寸、横向屏占比 94.1% 三星 Galaxy S25 Ultra 手机曝料:6.86 英寸、横向屏占比 94.1% Aug 17, 2024 pm 01:49 PM

8月17日消息,消息源@i冰宇宙今天发布微博,表示苹果iPhone16ProMax精确尺寸6.88英寸,GalaxyS25Ultra精确尺寸6.86英寸,两者都可视为6.9英寸。消息源表示三星GalaxyS25Ultra比S24Ultra更窄的机身,还有更宽的屏幕,横向屏占比94.1%,而S24Ultra横向屏占比是91.5%。fenye查询该消息源相关微博,他还评论了最新曝光的iPhone16ProMax照片,认为接近微曲是错误的,该机然是直屏+2.5D玻璃。

'串联OLED”被苹果带火了,比OLED强在哪里? '串联OLED”被苹果带火了,比OLED强在哪里? Aug 19, 2024 am 04:42 AM

虽然最近几年的苹果一直被诟病创新不足,但是苹果也并不总是止步不前。至少在硬件设计上,在苹果产品的高单价支持下,它的工程师可以轻松尝试一些全新的技术,而不需要过多的考虑成本问题。比如iPadPro,作为苹果最喜欢的“显示技术”试验田,iPadPro从2021年的miniLED到2024年的串联OLED,一直走在便携智能设备的显示技术前沿。虽然iPadPro并非首个搭载miniLED屏幕的便携智能设备(微星较苹果早一年发布miniLED笔记本电脑),但是当你对比两者的参数,你会很快意识到他们不是一个

海力士抢先展示UFS 4.1闪存:基于V9 TLC NAND颗粒打造 海力士抢先展示UFS 4.1闪存:基于V9 TLC NAND颗粒打造 Aug 09, 2024 pm 03:33 PM

8月9日消息,在FMS2024峰会上,SK海力士展示了其最新的存储产品,包括尚未正式发布规范的UFS4.1通用闪存。据JEDEC固态技术协会官网信息,目前公布的最新UFS规范是2022年8月的UFS4.0,其理论接口速度高达46.4Gbps,预计UFS4.1将在传输速率上实现进一步的提升。1.海力士展示了512GB和1TBUFS4.1通用闪存产品,基于321层V91TbTLCNAND闪存。SK海力士还展出了3.2GbpsV92TbQLC和3.6GbpsV9H1TbTLC颗粒。海力士展示了基于V7

首发1.5K屏下摄像!努比亚Z70 Ultra来了:全球首款骁龙8 Gen4真全面屏手机 首发1.5K屏下摄像!努比亚Z70 Ultra来了:全球首款骁龙8 Gen4真全面屏手机 Aug 19, 2024 pm 03:47 PM

8月19日消息,努比亚自Z50Ultra发布以来,一直秉承着真全面屏的设计,并且一直在高像素屏下前摄领域不断探索。今日,据数码博主智慧皮卡丘爆料称,今年下半年即将发布的努比亚Z70Ultra将首发1.5K屏下摄像技术,是迄今为止行业内分辨率最高的UDC方案。据悉,目前中兴旗下的屏下前摄方案已推进到第六代。最新的屏下前摄方案在努比亚Z60Ultra、红魔9SPro系列中皆有所应有。屏幕分辨率为2480x1116,介于1080P和1.5K分辨率之间。这一次努比亚将通过突破现有分辨率的限制,将在行业内

苹果华为都想做的无按键手机,被小米先做出来了? 苹果华为都想做的无按键手机,被小米先做出来了? Aug 29, 2024 pm 03:33 PM

根据Smartprix的爆料称,小米正在研发一台代号为「朱雀」的无按键手机。这份爆料称,这台代号朱雀的手机将秉承一体化的理念设计,使用屏下摄像头,并搭载高通骁龙8gen4处理器,如果计划没有变动,我们很可能在2025年看到它的到来。看到这个消息,我恍惚间以为自己回到了2019年——那时候小米发布了小米MIXAlpha概念机,环绕屏无按键设计相当惊艳。这是我第一次见识到无按键手机的魅力。想要一块「魔力玻璃」,就要先把按键干掉在《乔布斯传》中,乔布斯曾经表达过:希望手机能够像一块「充满魔力的玻璃」,

为本地运行谷歌 Gemini Nano AI 模型,三星 Galaxy S25 Ultra 手机被曝配 16GB 内存 为本地运行谷歌 Gemini Nano AI 模型,三星 Galaxy S25 Ultra 手机被曝配 16GB 内存 Jul 31, 2024 pm 05:55 PM

7月31日消息,消息源@i冰宇宙昨日(7月30日)在X平台发布推文,只写道“16GByes!”,但从上下推文来判断,应该是指三星GalaxyS25Ultra手机将会配备16GB的内存。三星手机内存容量更新三星曾在GalaxyS20Ultra和GalaxyS21Ultra手机上推出过16GB内存。从GalaxyS22Ultra开始,包括最新旗舰GalaxyS24Ultra手机,三星手机的内存容量上限均为12GB。有消息称,即将推出的三星GalaxyS25和GalaxyS25+将采用12GBLPDD

华为Mate 70系列配置泄露:全系1.5K屏幕 配超大电池 华为Mate 70系列配置泄露:全系1.5K屏幕 配超大电池 Aug 08, 2024 pm 10:21 PM

8月8日消息,华为Mate70系列手机的详细配置信息近日被曝光,该系列手机预计将在2024年第四季度发布。1.据爆料,Mate70系列将全系采用定制的顶级1.5K分辨率屏幕,满足用户对屏幕清晰度的要求。预计华为Mate70Pro以及超大杯版本将配备四等深屏幕,而标准款的Mate70则可能采用略小的类直屏设计。除了屏幕升级,华为Mate70系列还将全系配备新基材的超大容量电池,预示着华为Mate系列手机续航能力的突破。尽管华为正在研发超声波指纹解锁技术,但今年的Mate70系列将不会搭载此功能。此

首次非最新版本,谷歌 Pixel 9 系列手机被曝预装安卓 14 系统 首次非最新版本,谷歌 Pixel 9 系列手机被曝预装安卓 14 系统 Aug 01, 2024 pm 04:54 PM

8月1日消息,科技媒体AndroidHeadline昨日(7月31日)发布博文,从内部渠道确认谷歌Pixel9系列手机出厂将搭载安卓14系统。这在谷歌Pixel手机发布历史上是头一遭,通常情况下Pixel手机会搭载安卓最新版本,理论上Pixel9系列应该会预装安卓15系统。7月30日报道,谷歌发布了安卓15Beta4.1更新,更新规模较小,主要修复了Pixel设备通话时音频崩溃的问题。鉴于此次更新的规模较小,外界猜测安卓15正式版可能很快就会推出。谷歌通常情况下会在8-9月间发布安卓新版本:安卓

See all articles