人生倒计时
- 今日已经过去小时
- 这周已经过去天
- 本月已经过去天
- 今年已经过去个月
支付宝支付接口配置(支付宝手机支付接口)
支付宝接口加签方式说明
支付宝签名采用的是RSA算法,17年之后它提供两种形式,一种叫做RSA,一种叫做RSA2,实际上只是将算法加签的字节长度发生了变化,RSA对应1024长度,RSA2对应2048长度;于此同时,RSA还叫做SHA1withRsa,RSA2叫做SHA256withRsa。
在创建应用的时候需要配置应用公钥,可选项有两个,只需要配置一个即可;这里我们演示RSA的配置。
设置应用公钥:
配置好以后就可以点击提供审核了。
商户私钥、支付宝公钥程序员都会用到,请业主妥善保存提供给程序员。[ 在config里进行配置 ]
php,支付宝接口怎样用
php支付宝接口用法,具体分析如下:
现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来,代码如下:
alipay_config.php配置程序如下:
复制代码 代码如下:
?php
*/
//alipay_config.php 配置程序
$interfaceurl = ":";
$sitename = "网站名称";
$weburl = "http://网站网址";
$o_fee = "0.00"; //平邮费
$e_fee = "0.00"; //快递费
$selleremail = "";//支付宝账号
$payalikey = "";//安全校验码
$imgurl = "pay.gif"; //按钮图片源
$imgtitle = "使用支付宝购买"; //按钮图片说明
?
alipay.php代码如下:
复制代码 代码如下:
?php
/*********************************************************************
filename: alipay.php
author: dboyzhang
version: ver 2.0.0 beta1
contact_me: wangwang:dboyzhang
*********************************************************************/
//alipay.php代码
require_once("alipay_config.php");
class alipay
{
function geturl($s1,$s2,$s3,$s4,$s5,$s6,$s7,$s8,$s9,$s10,$s11,$s12,$s13,$s14,$s15,$s16,$s17,$s18,$s19,$s20,$s21,$s22,$s23)
{
$parameter = array(
'cmd' = $s1,
'subject' = $s2,
'body' = $s3,
'order_no' = $s4,
'price' = $s5,
'url' = $s6,
'type' = $s7,
'number' = $s8,
'transport' = $s9,
'ordinary_fee' = $s10,
'express_fee' = $s11,
'readonly' = $s12,
'buyer_msg' = $s13,
'seller' = $s14,
'buyer' = $s15,
'buyer_name' = $s16,
'buyer_address' = $s17,
'buyer_zipcode' = $s18,
'buyer_tel' = $s19,
'buyer_mobile' = $s20,
'partner' = $s21,
);
$url = $s22.$s14."?";
foreach($parameter as $key = $value){
if($value){
$url .= $key."=".urlencode($value)."";
$acsouce .=$key.$value;
}
}
$url .= 'ac='.md5($acsouce.$s23);
return $url;
}
}
?
pay.php页面如下:
复制代码 代码如下:
?php
error_reporting(0);
$aliname=$_POST["aliname"];
$alizipcode=$_POST["alizipcode"];
$aliphone=$_POST["aliphone"];
$aliaddress=$_POST["aliaddress"];
$aliorder=$_POST["aliorder"];
$alimailtype=$_POST["alimailtype"];
$alimoney=$_POST["alimoney"];
$alimob=$_POST["alimob"];
$alibody=$_POST["alibody"];
require_once("alipay_config.php");
require_once("alipay.php");
$cmd = '0001';
$subject = "订单号:".$aliorder;
$body = '商品介绍';
$order_no = $aliorder;
$price = $alimoney;
$url = '';//你的网址
$type = '1';
$number = '1';
$transport = $alimailtype;
$ordinary_fee = '0.00';
$express_fee = '0.00';
$readonly = 'true';
$buyer_msg = $alibody;
$seller = $selleremail;
$buyer = '';
$buyer_name = $aliname;
$buyer_address = $aliaddress;
$buyer_zipcode = $alizipcode;
$buyer_tel = $aliphone;
$buyer_mobile = $alimob;
$partner = '2088002008096997';
$geturl = new alipay;
$link = $geturl-geturl
(
$cmd,$subject,$body,$order_no,$price,$url,$type,$number,$transport,
$ordinary_fee,$express_fee,$readonly,$buyer_msg,$seller,$buyer,
$buyer_name,$buyer_address,$buyer_zipcode,$buyer_tel,$buyer_mobile,$partner,
$interfaceurl,$payalikey
);
?
html
head
title简易支付宝付款php版/title
link href="admin_style.css教程" rel=stylesheet
meta http-equiv=content-type content="text/html; charset=gb2312"
/head
body
table class=border id=table1 style="font-size: 9pt" height=185 cellspacing=0
cellpadding=0 width=492 align=center border=0
tbody
tr
td class=topbg height=30
div align=centerstrong简易支付宝付款php版/strong/div/td/tr
tr
td style="border-left: #e4e4e4 1px solid; border-bottom: #e4e4e4 1px solid" colspan=3 height=150
table style="font-size: 9pt" height=137 width="100%" align=center bgcolor=#ffffff
tbody
tr class=tdbg
td width="14%"订单号码:/td
td width="86%"? echo $aliorder; ?/td/tr
tr class=tdbg
td width="14%"收 货 人:/td
td width="86%"? echo $aliname; ?/td/tr
tr class=tdbg
td width="14%"付款金额:/td
td width="86%"b? echo $alimoney; ?/b/td/tr
tr class=tdbg
td width="14%"收货地址:/td
td width="86%"? echo $aliaddress; ?/td/tr
tr class=tdbg
td物流方式:/td
td? echo $alimailtype; ? (1.平邮 2.快递 3.虚拟物品)/td/tr
tr class=tdbg
td联系电话:/td
td? echo $aliphone; ?/td/tr
tr class=tdbg
td邮政编码:/td
td? echo $alizipcode; ?/td/tr
tr class=tdbg
td手机号码:/td
td? echo $alimob; ?/td/tr
tr class=tdbg
td客户留言:/td
td? echo $alibody; ?/td/tr
tr class=tdbg
td/td
tdinput type="button" name="submit21" onclick="网页特效:history.go(-1)" value="返回修改订单" a href="?php echo $link?" target="_blank"img src="?php echo $imgurl?" alt="?php echo $imgtitle?" border="0" align='absmiddle' border='0'//a /td/tr/tbody/table/td/tr/tbody/table
/body/html
如何实现多个支付宝商户调用接口完成支付宝扫码支付
步骤 第一步:仅仅把接口配置好,不要放在网站项目中。在本机单独对这个接口进行调试。调试内容包括支付、返回; 第二步:本机调试没有问题后,再放入服务器中调试。调试内容包括:支付、返回、通知。
thinkphp中怎么加入支付宝接口
重新整理接口包文件,这一步应该算是比较关键的(个人认为)
下载下来的接口包文件有很多语言的源码,
我们选择 create_direct_pay_by_user-PHP-UTF-8 这个名称的接口文件。里面包括如下文件:
images文件里是支付宝相关的一些标志的图片,我们暂不管他,lib文件很重要,是整个接口的核心类文件;
alipay.config.php是相关参数的配置文件
alipayapi.php 是支付宝接口入口文件
notify_url.php 是服务器异步通知页面文件;
return_url.php 是页面跳转同步通知文件;
在ThinkPHP的框架文件下,找到Extend 进入,再进入Vendor,在Vendor文件夹下,新建文件夹Alipay,把支付宝作为第三方类库引入。然后,复制支付宝接口文件包中lib文件里的所有文件。一共4个文件,如下:
现在对以上文件进行重命名,
alipay_core.function.php重命名为:Corefunction.php;
alipay_md5.function.php重命名为:Md5function.php;
alipay_notify.class.php重命名为:Notify.php;
alipay_submit.class.php重命名为:Submit.php;
然后,打开Submit.php文件,把以下代码去掉;
require_once("alipay_core.function.php");
require_once("alipay_md5.function.php");
复制代码
同样,打开Notify.php文件,把以下两段代码去掉
require_once("alipay_core.function.php");
require_once("alipay_md5.function.php");
复制代码
为什么要去掉以上两个文件中的这两段代码,因为在项目中调用接口文件的时候,我把所有4个核心文件都通过vendor来进行引入。所以,这不再需要导入。
到此,支付宝接口包相关核心类库的整理基本完成。现在开始在项目中调用;
三、在项目中调用支付宝接口
调用分两步:
1、在配置文件中Conf/Config.php文件中对支付宝相关参数进行配置:
//支付宝配置参数
'alipay_config'=array(
'partner' ='20********50', //这里是你在成功申请支付宝接口后获取到的PID;
'key'='9t***********ie',//这里是你在成功申请支付宝接口后获取到的Key
'sign_type'=strtoupper('MD5'),
'input_charset'= strtolower('utf-8'),
'cacert'= getcwd().'\\cacert.pem',
'transport'= 'http',
),
//以上配置项,是从接口包中alipay.config.php 文件中复制过来,进行配置;
'alipay' =array(
//这里是卖家的支付宝账号,也就是你申请接口时注册的支付宝账号
'seller_email'='pay@xxx.com',
//这里是异步通知页面url,提交到项目的Pay控制器的notifyurl方法;
'notify_url'='',
//这里是页面跳转通知url,提交到项目的Pay控制器的returnurl方法;
'return_url'='',
//支付成功跳转到的页面,我这里跳转到项目的User控制器,myorder方法,并传参payed(已支付列表)
'successpage'='User/myorder?ordtype=payed',
//支付失败跳转到的页面,我这里跳转到项目的User控制器,myorder方法,并传参unpay(未支付列表)
'errorpage'='User/myorder?ordtype=unpay',
),
复制代码
2、新建一个PayAction控制器代码如下:
?php
class PayAction extends Action{
//在类初始化方法中,引入相关类库
public function _initialize() {
vendor('Alipay.Corefunction');
vendor('Alipay.Md5function');
vendor('Alipay.Notify');
vendor('Alipay.Submit');
}
//doalipay方法
/*该方法其实就是将接口文件包下alipayapi.php的内容复制过来
然后进行相关处理
*/
public function doalipay(){
/*********************************************************
把alipayapi.php中复制过来的如下两段代码去掉,
第一段是引入配置项,
第二段是引入submit.class.php这个类。
为什么要去掉??
第一,配置项的内容已经在项目的Config.php文件中进行了配置,我们只需用C函数进行调用即可;
第二,这里调用的submit.class.php类库我们已经在PayAction的_initialize()中已经引入;所以这里不再需要;
*****************************************************/
// require_once("alipay.config.php");
// require_once("lib/alipay_submit.class.php");
//这里我们通过TP的C函数把配置项参数读出,赋给$alipay_config;
$alipay_config=C('alipay_config');
/**************************请求参数**************************/
$payment_type = "1"; //支付类型 //必填,不能修改
$notify_url = C('alipay.notify_url'); //服务器异步通知页面路径
$return_url = C('alipay.return_url'); //页面跳转同步通知页面路径
$seller_email = C('alipay.seller_email');//卖家支付宝帐户必填
$out_trade_no = $_POST['trade_no'];//商户订单号 通过支付页面的表单进行传递,注意要唯一!
$subject = $_POST['ordsubject']; //订单名称 //必填 通过支付页面的表单进行传递
$total_fee = $_POST['ordtotal_fee']; //付款金额 //必填 通过支付页面的表单进行传递
$body = $_POST['ordbody']; //订单描述 通过支付页面的表单进行传递
$show_url = $_POST['ordshow_url']; //商品展示地址 通过支付页面的表单进行传递
$anti_phishing_key = "";//防钓鱼时间戳 //若要使用请调用类文件submit中的query_timestamp函数
$exter_invoke_ip = get_client_ip(); //客户端的IP地址
/************************************************************/
//构造要请求的参数数组,无需改动
$parameter = array(
"service" = "create_direct_pay_by_user",
"partner" = trim($alipay_config['partner']),
"payment_type" = $payment_type,
"notify_url" = $notify_url,
"return_url" = $return_url,
"seller_email" = $seller_email,
"out_trade_no" = $out_trade_no,
"subject" = $subject,
"total_fee" = $total_fee,
"body" = $body,
"show_url" = $show_url,
"anti_phishing_key" = $anti_phishing_key,
"exter_invoke_ip" = $exter_invoke_ip,
"_input_charset" = trim(strtolower($alipay_config['input_charset']))
);
//建立请求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit-buildRequestForm($parameter,"post", "确认");
echo $html_text;
}
/******************************
服务器异步通知页面方法
其实这里就是将notify_url.php文件中的代码复制过来进行处理
*******************************/
function notifyurl(){
/*
同理去掉以下两句代码;
*/
//require_once("alipay.config.php");
//require_once("lib/alipay_notify.class.php");
//这里还是通过C函数来读取配置项,赋值给$alipay_config
$alipay_config=C('alipay_config');
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify-verifyNotify();
if($verify_result) {
//验证成功
//获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表
$out_trade_no = $_POST['out_trade_no']; //商户订单号
$trade_no = $_POST['trade_no']; //支付宝交易号
$trade_status = $_POST['trade_status']; //交易状态
$total_fee = $_POST['total_fee']; //交易金额
$notify_id = $_POST['notify_id']; //通知校验ID。
$notify_time = $_POST['notify_time']; //通知的发送时间。格式为yyyy-MM-dd HH:mm:ss。
$buyer_email = $_POST['buyer_email']; //买家支付宝帐号;
$parameter = array(
"out_trade_no" = $out_trade_no, //商户订单编号;
"trade_no" = $trade_no, //支付宝交易号;
"total_fee" = $total_fee, //交易金额;
"trade_status" = $trade_status, //交易状态
"notify_id" = $notify_id, //通知校验ID。
"notify_time" = $notify_time, //通知的发送时间。
"buyer_email" = $buyer_email, //买家支付宝帐号;
);
if($_POST['trade_status'] == 'TRADE_FINISHED') {
//
}else if ($_POST['trade_status'] == 'TRADE_SUCCESS') { if(!checkorderstatus($out_trade_no)){
orderhandle($parameter);
//进行订单处理,并传送从支付宝返回的参数;
}
}
echo "success"; //请不要修改或删除
}else {
//验证失败
echo "fail";
}
}
/*
页面跳转处理方法;
这里其实就是将return_url.php这个文件中的代码复制过来,进行处理;
*/
function returnurl(){
//头部的处理跟上面两个方法一样,这里不罗嗦了!
$alipay_config=C('alipay_config');
$alipayNotify = new AlipayNotify($alipay_config);//计算得出通知验证结果
$verify_result = $alipayNotify-verifyReturn();
if($verify_result) {
//验证成功
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
$out_trade_no = $_GET['out_trade_no']; //商户订单号
$trade_no = $_GET['trade_no']; //支付宝交易号
$trade_status = $_GET['trade_status']; //交易状态
$total_fee = $_GET['total_fee']; //交易金额
$notify_id = $_GET['notify_id']; //通知校验ID。
$notify_time = $_GET['notify_time']; //通知的发送时间。
$buyer_email = $_GET['buyer_email']; //买家支付宝帐号;
$parameter = array(
"out_trade_no" = $out_trade_no, //商户订单编号;
"trade_no" = $trade_no, //支付宝交易号;
"total_fee" = $total_fee, //交易金额;
"trade_status" = $trade_status, //交易状态
"notify_id" = $notify_id, //通知校验ID。
"notify_time" = $notify_time, //通知的发送时间。
"buyer_email" = $buyer_email, //买家支付宝帐号
);
if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
if(!checkorderstatus($out_trade_no)){
orderhandle($parameter); //进行订单处理,并传送从支付宝返回的参数;
}
$this-redirect(C('alipay.successpage'));//跳转到配置项中配置的支付成功页面;
}else {
echo "trade_status=".$_GET['trade_status'];
$this-redirect(C('alipay.errorpage'));//跳转到配置项中配置的支付失败页面;
}
}else {
//验证失败
//如要调试,请看alipay_notify.php页面的verifyReturn函数
echo "支付失败!";
}
}
}
?

如何做支付宝支付接口
具体操作流程如下。
1,注册支付宝,成功后去支付宝网站签约,要有自己的网站,并且已经备案。
2,若签约成功,支付宝会提供支付接口。
3,支付宝会按比例在你的收入中提取手续费,大约4%。
iOS 调用支付宝接口,参数配置正确,为什么不能跳转到支付宝界面
iOS 调用支付宝接口,参数配置正确,不能跳转到支付宝界面,原因是使用旧版支付宝SDK做的,使用最新SDK试能跳转到支付宝界面了。
支付宝(中国)网络技术有限公司是国内领先的第三方支付平台,致力于提供“简单、安全、快速”的支付解决方案。支付宝公司从2004年建立开始,始终以“信任”作为产品和服务的核心。旗下有“支付宝”与“支付宝钱包”两个独立品牌。自2014年第二季度开始成为当前全球最大的移动支付厂商。
支付宝主要提供支付及理财服务。包括网购担保交易、网络支付、转账、信用卡还款、手机充值、水电煤缴费、个人理财等多个领域。在进入移动支付领域后,为零售百货、电影院线、连锁商超和出租车等多个行业提供服务。还推出了余额宝等理财服务。
支付宝与国内外180多家银行以及VISA、MasterCard国际组织等机构建立战略合作关系,成为金融机构在电子支付领域最为信任的合作伙伴。

