当前位置:首页 » 编程语言 » 银联在线php支付接口

银联在线php支付接口

发布时间: 2023-07-04 18:22:37

‘壹’ 怎么申请银联在线支付接口

1、五证齐全:营业执照、税务登记证(国地税两证)、组织机构代码证、银行开户许可证。

2、ICP备案:公司网站进行ICP备案。这个应该不是问题。上面两项通过之后基本上银行会和公司来进行协议盖章了,也算是合同,就说明已经生效了。

3、签订完合同盖完章后基本上就会给商户下发接口文件,接口文件有多种语言,asp,java,.net等根据自己网站语言需要来索要即可。

4、测试开通可以找相关接口开发人员及进行接口整合对接到公司网站上面即可进行交易了。

(1)银联在线php支付接口扩展阅读

异常应答说明

1、不返回报文体的情况:

版本号,交易类型、子类,签名方法,签名值等关键域未上送,返回“Invalid request.”; 交易类型和请求地址校验有误,返回“Invalid request URI.”

2、返回全部的请求报文,附加应答码和应答描述(包括的应答码有:01、02、03、10、11、32):

验证签名失败;

报文格式错(包含,必填域缺失,上送银联报文未定义的域,报文域的格式非法,交易时间超出范围);

签名失败;超时等其他系统异常

‘贰’ PHP 工商银行B2C支付接口怎么做

merID:银行提供.唯一确定一个商户的代码,由商户在工行开户时,由工行告知商户。
merAcct:银行提供 , 商城收费入账账号 (只能交易时指定)。
懂得html代码跟PHP的程序员一名
方法/步骤
到银行开户,说明要做B2C在线支付接口,此时银行会提供给你 merID 、merAcct 这两个
由程序员按照一下步骤来做即可,在商城提交表单的页面添加以下控件。
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>网络一下,你就知道 </title>
</head>
<body>
<FORM name="order" METHOD=POST ACTION="https://mybank.dccnet.com.cn/servlet/ICBCINBSEBusinessServlet">
<!--
订单只能使用POST方式提交;使用https协议通讯;
2、接收servlet名称固定为:/servlet/ICBCINBSEBusinessServlet
3、银行地址:如果是生产则为“mybank.icbc.com.cn”,若为模拟测试环境则为“mybank.dccnet.com.cn”
-->
<INPUT NAME="interfaceName" TYPE="text" value="ICBC_PERBANK_B2C" >
<!--接口名称固定为“ICBC_PERBANK_B2C”-->
<INPUT NAME="interfaceVersion" TYPE="text" value="1.0.0.0">
<!--接口版本目前为“1.0.0.0”-->
<INPUT NAME="orderid" TYPE="text" value="000000001">
<!--订单号商户端产生,一天内不能重复。-->
<INPUT NAME="amount" TYPE="text" value="100">
<!--金额以分为单位-->
<INPUT NAME="curType" TYPE="text" value="001">
<!--币种目前只支持人民币,代码为“001”-->
<INPUT NAME="merID" TYPE="text" value="XXXXXXXXXX" >
<!--银行提供(max20),唯一确定一个商户的代码,由商户在工行开户时,由工行告知商户。-->
<INPUT NAME="merAcct" TYPE="text" value="XXXXXXXXXX">
<!--银行提供(max19),商城收费入账账号 (只能交易时指定)。-->
<INPUT NAME="verifyJoinFlag" TYPE="text" value="0" >
<!--“1”判断该客户是否与商户联名;取值“0”不检验客户是否与商户联名。-->
<INPUT NAME="notifyType" TYPE="text" value="HS">
<!--HS方式实时发送通知;AG方式不发送通知;-->
<INPUT NAME="merURL" TYPE="text" value="http://kinderpower.com/servlet">
<!--接收银行通知地址,目前只支持http协议80端口-->
<INPUT NAME="resultType" TYPE="text" value="0">
<!--对于HS方式“0”:发送成功或者失败信息;“1”,只发送交易成功信息。-->
<INPUT NAME="orderDate" TYPE="text" value="20050801192556">
<!--14位时间戳-->
<INPUT NAME="merSignMsg" TYPE="text" value="SFVdS3Kca6d//PYOQLJ/WAtZ5DFYFog7J8pXw0=">
<!--商户签名数据BASE64编码-->
<!--签名数据串,这里举例用的测试私钥user.key(顺序固定;被商户签名的串为各输入项的值):
接口名称的值+接口版本号的值+商城代码的值+商城账号的值+通知地址的值+结果发送类型的值+订单号的值+订单金额的值+支付币种的值+通知类型的值+交易日期时间的值+校验联名标志的值-->
<INPUT NAME="merCert" TYPE="text" value="MIICVjCCAb+BiQKBgQDG+u/C5pad0ZbwvAk9Gv1rr+SpknfFUsTMhJLcI2KiYa+XLSf5vCib0OclOoDDXKIWPt/hkMEz+///Q//+c+L8fkOt37o=">
<!--商户证书公钥BASE64编码-->
<!--这里举例用的测试证书user.crt-->
<INPUT NAME="goodsID" TYPE="text" value="abcd001">
<!--商品编号,自商城获得-->
<INPUT NAME="goodsName" TYPE="text" value="小毡帽">
<!--商品名称,自商城获得-->
<INPUT NAME="goodsNum" TYPE="text" value="1" >
<!--商品数量,自商城获得-->
<INPUT NAME="carriageAmt" TYPE="text" value="100">
<!--已含运费金额,金额以分为单位,自商城获得-->
<INPUT NAME="merHint" TYPE="text" value="跳楼甩卖!" size="60">
<!--商城提示,以上五个字段用于客户支付页面显示-->
<INPUT NAME="remark1" TYPE="text" value=" ">
<!--备注字段 MAX(100)-->
<INPUT NAME="remark2" TYPE="text" value="">
<!--备注字段 MAX(100)-->
<INPUT TYPE="submit" value=" 提 交 订 单 " >
</form>
<body>
END
注意事项
注意商户提交订单数据不能提交接口中没有定义的字段
提交按钮不能设置name属性,如果设置了,提交按钮的值将作为一个变量提交,可能造成数据检查错误
经验内容仅供参考,如果您需解决具

‘叁’ 如何利用PHP语言开发平台第三方支付接口

第一步:签订合约通过第三方拿到接口(可以邮件形式发送、也可以在第三方系统下载),拿到接口后,要确认下接口类型,是否是自己需要的接口,比如B2C接口、B2B接口等类型。
第二步:支付接口分很多语言版本,比如ASP、JSP、PHP、.NET语言版本,所以要选择与自己网站语言匹配的接口进行安装。商城网站的技术一般比较清楚商城的开发语言。
第三步:拿到的支付接口一般包括接口文档和接口代码示例,选择合适的接口代码示例,进行联调,比如自己网站是PHP开发的,就选择PHP代码示例联调。
第四步:接口联调的时候,需要第三方支付提供联调测试账号,方可以联调。联调除了需要联调账号除外,还需要该账号的支付密钥,联调过程中,有什么问题,可以直接找第三方支付技术支持给予协调处理。
第五步:接口联调通过后,可先换成生产环境账号,进行交易测试,测试没问题后,可以放到商城网站进行交易。

‘肆’ 亲,php银联在线支付,没做过,请求帮助

支付接口现在有第三方的支付接口也有银行的支付接口。这里就来介绍php版本银联支付接口开发的方法。

银联支付,首先要注意二重要的部分:

PHP运行环境是5.4.18以上

开了扩展openssl

开发手册上面的列子只做参考,因为基本都是错的。你可以试着去官网下一个demo。。。注意现在银联开发,没有测试密钥提供,只能在正式环境开发

下面是我用ThinkPHP编写的一个支付类

/**
*银联支付v0.1
*@auther:Summer<[email protected]>;
*@date:20151202
***/
{
//在类初始化方法中,引入相关类库
publicfunction_initialize(){
header("Content-type:text/html;charset=utf-8");
vendor('Netpay.util.common',"",".php");//导入加密核心文件夹
vendor('Netpay.util.SecssUtil',"",".class.php");//导入加密核心文件夹
vendor('Netpay.util.Settings_INI',"",".php");//导入加密核心文件夹
vendor('Netpay.util.Settings',"",".php");//导入加密核心文件夹
$this->securityPropFile=$_SERVER['DOCUMENT_ROOT']."/ThinkPHP/Extend/Vendor/Netpay/config/security.properties";//谁知道这是啥,反正他们要我加的
$this->b2cPaySend=__APP__."/Index/NetPay/b2cPaySend";
$this->b2cRefundSend=__APP__."/Index/NetPay/b2cRefundSend";
$this->b2cQuerySend=__APP__."/Index/NetPay/b2cQuerySend";
$this->;MerBgUrl=__APP__."/Index/NetPay/MerBgUrl";
$this->MerPageUrl=__APP__."/Index/NetPay/MerPageUrl";
}
publicfunctionindex()
{
$paramArray=array(
'MerId'=>'商户号',
'MerOrderNo'=>'0000001944663232',
'OrderAmt'=>'1',
'TranDate'=>'20151219',
'TranTime'=>'171248',
'TranType'=>'0001',
'BusiType'=>'0001',
'Version'=>'20140728',
'CurryNo'=>'CNY',
'AccessType'=>;'0',
'CommodityMsg'=>'测试商品1号',
'MerPageUrl'=>$this->MerBgUrl,
'MerBgUrl'=>$this->MerPageUrl,
'MerResv'=>'MerResv',
);
if(count($paramArray)>0){
$dispatchUrl=$this->b2cPaySend;
$transResvedJson=array();
$cardInfoJson=array();
$sendMap=array();
foreach($paramArrayas$key=>$value){
if(isEmpty($value)){
continue;
}
if(startWith($key,"trans_")){
$key=substr($key,strlen("trans_"));
$transResvedJson[$key]=$value;
}else
if(startWith($key,"card_")){
$key=substr($key,strlen("card_"));
$cardInfoJson[$key]=$value;
}else{
$sendMap[$key]=$value;
}
}
$transResvedStr=null;
$cardResvedStr=null;
if(count($transResvedJson)>0){
$transResvedStr=json_encode($transResvedJson);
}
if(count($cardInfoJson)>0){
$cardResvedStr=json_encode($cardInfoJson);
}
$secssUtil=newSecssUtil();
if(!isEmpty($transResvedStr)){
$transResvedStr=$secssUtil->decryptData($transResvedStr);
$sendMap["TranReserved"]=$transResvedStr;
}
if(!isEmpty($cardResvedStr)){
$cardResvedStr=$secssUtil->decryptData($cardResvedStr);
$sendMap["card_"]=$cardResvedStr;
}
$securityPropFile=$this>securityPropFile;
$secssUtil->init($securityPropFile);
$secssUtil->sign($sendMap);
$sendMap["Signature"]=$secssUtil->getSign();
$_SESSION=$sendMap;
header("Location:".$dispatchUrl);
}
}
publicfunctionb2cPaySend(){
layout(false);
$settings=newSettings_INI();
$settings->oad($this->securityPropFile);
$pay_url="https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0";
$html="<formname='payment'action='{$pay_url}'method='POST'target='_blank'>;";
$params="TranReserved;MerId;MerOrderNo;OrderAmt;CurryNo;TranDate;SplitMethod;BusiType;MerPageUrl;MerBgUrl;SplitType;MerSplitMsg;PayTimeOut;MerResv;Version;BankInstNo;CommodityMsg;Signature;AccessType;AcqCode;OrderExpiryTime;TranType;RemoteAddr;Referred;TranTime;TimeStamp;CardTranData";
foreach($_SESSIONas$k=>$v){
if(strstr($params,$k)){
$html.="<inputtype='hidden'name='".$k."'value='".$v."'/>";
}
}
$html.="<nputtype='button'type='hidden'value='提交订单'>";
$html.="<;/from>";
$this->html=$html;
$this->display();
}
publicfunctionpgReturn(){
if($_POST){
if(count($_POST)>0){
$secssUtil=newSecssUtil();
$securityPropFile=$this>securityPropFile;
$secssUtil->init($securityPropFile);
$text=array();
foreach($_POSTas$key=>$value){
$text[$key]=urldecode($value);
}
if($secssUtil->verify($text)){
//支付成功
$_SESSION["VERIFY_KEY"]="success";
}else{
//支付失败
$_SESSION["VERIFY_KEY"]="fail";
}
}
}
}
}

银联支付应该是算比较简单的!!

‘伍’ PHP银联在线支付开发怎么自动跳转支付成功界面

在银联支付回调页面的地方 return_url 里面, 做个支付结果判断:
1、支付成功,则跳转到支付成功页面;
2、否则跳转到支付失败页面就可以了。

‘陆’ PHP怎么做银联的支付接口调用

PHP做银联支付接口调用问题
//在工商支付接口之前要找到工行提供的接口文件级dll文件
//将订单签名数据公钥加密提供给工行指定页面
//组织要签名的数据串
$src="ICBC_PERBANK_B2C1.0.0.0".$infomer["merid"].$infomer["meracct"].$returnaddress."HS".$ddnumber.$amount."0010".$nowtime."0";
$com=new com('ICBCEBANKUTIL.B2CUtil');
$rc=$com->init("c:\WINDOWS\user.crt","c:\WINDOWS\user.crt","c:\WINDOWS\user.key","11111111");
$ssrc=$com->signC($src, strlen($src)); //订单签名数据
$rc=$com->verifySignC($src,strlen($src), $ssrc, strlen($ssrc));
$cert=$com->getCert(1); //商城证书公钥
//将商户证书存储到c:\WINDOWS目录下,然后创建form表单,将指定的数据提交到工行指定的网页中
<!--支付宝支付的接口操作,提交的数据-->
<td width="100"><a href="<{$link}>"><img src="images/sy_19.gif" width="90" height="25" border="0"></a></td>
<!--——————————————————-->
<!--工行支付的接口操作,提交的数据-->
<form action="https://mybank.icbc.com.cn/" method="post" name="form_bank">
<input name="interfaceName" type="hidden" value="ICBC_PERBANK_B2C"/>
<input name="interfaceVersion" type="hidden" value="1.0.0.0"/>
<input name="orderid" type="hidden" value="<{$ddnumber}>"/>
<input name="amount" type="hidden" value="<{$amount}>"/>
<input name="curType" type="hidden" value="001"/>
<input name="merID" type="hidden" value="<{$merid}>"/>
<input name="merAcct" type="hidden" value="<{$meracct}>"/>
<input name="verifyJoinFlag" type="hidden" value="0"/>
<input name="notifyType" type="hidden" value="HS"/>
<input name="merURL" type="hidden" value="<{$returnaddress}>"/>
<input name="resultType" type="hidden" value="0"/>
<input name="orderDate" type="hidden" value="<{$nowtime}>"/>
<input name="merSignMsg" type="hidden" value="<{$ssrc}>" />
<input name="merCert" type="hidden" value="<{$cert}>" />
</form>

‘柒’ php网站如何集成银联的在线支付

银联官方有SDK文件,也有案例。
你下载下来,看一下就明白了!
大概分几步,
1,你自己的网站把要交易的数据post给银联,
2,银联处理你post过来的数据,然后用户输入一些账号信息,付款。
3,付款后,银联会post交易后的数据给你的网站,(这个地址会在开始你传给银联的的数据里面)
4,你接受银联传输回来的数据,自己处理!
注意的是,回调地址有个后台的,还有个前台的,不要搞混乱了!

‘捌’ php网站如何做个页面接入网银在线支付接口,这是毕业设计,我弄不了

1.做网银在线支付首先要和银行签订相关协议(比如中国银行等),签订协议后他们会提供给你支付接口的文档和调用demo,同时还要一个测试用的支付网关和测试用户。
2.调用支付接口很简单,就是一个表单提交,把订单相关数据按照银行给你的文档里的格式要求,提交到指定的支付网关,然后用网银账户登录进去支付即可。
3.做网银在线支付一般需要有企业执照,个人网站估价银行不会跟你签。你做毕业设计的话可以试试做支付宝等第三方支付,那个当然也得签协议,但是条件相对简单,而且网上实例代码很多

热点内容
冠道如何选择配置 发布:2025-02-09 12:20:21 浏览:970
为什么安卓手机wearpro搜不到手表 发布:2025-02-09 12:16:07 浏览:670
服务器安全怎么做 发布:2025-02-09 12:08:08 浏览:484
传奇编译完整部署教程 发布:2025-02-09 12:03:39 浏览:830
vivo手机微信聊天记录在哪个文件夹 发布:2025-02-09 11:55:24 浏览:839
数控内孔循环编程实例 发布:2025-02-09 11:51:41 浏览:762
工作站玩游戏买什么配置的电脑 发布:2025-02-09 11:49:34 浏览:773
奶块透视脚本群 发布:2025-02-09 11:44:18 浏览:544
敢死连狙击手之无名高地ftp 发布:2025-02-09 11:27:21 浏览:584
lol天使辅助脚本 发布:2025-02-09 11:24:39 浏览:140