手机银联接口php源码-php版银联支付接口开发简明教程

大佬教程整理的这篇文章主要介绍了银联支付接口PHP版开发的简明教程。 大佬教程觉得挺好的。 现在我将其分享给大家手机银联接口php源码,供大家参考。

本文介绍了银联支付接口PHP版的开发方法。 分享给大家,供大家参考,具体如下:

支付接口目前包括第三方支付接口和银行支付接口。 这里介绍一下银联支付接口PHP版的开发方法。

银联接口api接口_手机银联接口php源码_银联支付api接口文档

使用银联支付时,首先要注意两个重要部分:

PHP运行环境为5.4.18以上

手机银联接口php源码_银联支付api接口文档_银联接口api接口

打开扩展 openssl

开发手册中的例子仅供参考手机银联接口php源码,因为基本上都是错误的。 你可以尝试去官网看一下demo。 。 .注意,对于银联开发,没有提供测试密钥,只能在官方环境中开发。

银联支付api接口文档_银联接口api接口_手机银联接口php源码

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

="">@H_607_15@

<pre class="brush:php;">
/**
* 银联支付 v0.1
* @auther:Summer;
* @date:20151202
* **/
class NetPayAction extends BaseAction{
//在类初始化方法中,引入相关类库
public function _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";
}
public function index()
{
$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 ($paramArray as $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 = new SecssUtil();
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);
}
}
public function b2cPaySend(){
layout(false);
$setTings = new SetTings_INI();
$setTings->oad($this->securityPropFilE);
$pay_url = "https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0";
$html = ";";
$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 ($_SESSION as $k =>$v) {
if (strstr($params,$k)) {
$html .= "@H_801_19@";
}
}
$html .= "";
$html .= "";
$this->html = $html;
$this->display();
}
public function pgReturn(){
if ($_POST) {
if (count($_POST) > 0) {
$secssUtil = new SecssUtil();
$securityPropFile = $this>securityPropFile;
$secssUtil->init($securityPropFilE);
$text = array();
foreach($_POST as $key=>$value){
$text[$key] = urldecode($value);
}
if ($secssUtil->verify($text)) {
//支付成功
$_SESSION["VERIFY_KEY"] = "success";
} else {
//支付失败
$_SESSION["VERIFY_KEY"] = "fail";
}
}
}
}
}

老板总结

以上就是大师教程为您收集的银联支付接口PHP版开发简明教程的全部内容。 希望文章能够帮助您解决银联支付接口PHP版开发简明教程中遇到的程序开发问题。

如果您觉得大哥教程网站的内容不错,欢迎您将大哥教程推荐给您的程序员朋友。