php銀聯網頁支付實現方法
php銀聯網頁支付實現方法,實例分析了php操作銀聯網支付接口的技巧,具有一定參考借鑑價值,需要的朋友可以參考下.
這裏介紹的`銀聯WAP支付功能,僅限消費功能。
1. PHP代碼如下:
複製代碼 代碼如下:
<?php
namespace commonservices;
class UnionPay
{
/**
* 支付配置
* @var array
*/
public $config = [];
/**
* 支付參數,提交到銀聯對應接口的所有參數
* @var array
*/
public $params = [];
/**
* 自動提交表單模板
* @var string
*/
private $formTemplate = <<<'HTML'
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>支付</title>
</head>
<body>
<p style="text-align:center">跳轉中...</p>
<form id="pay_form" name="pay_form" action="%s" method="post">
%s
</form>
<script type="text/javascript">
adystatechange = function(){
if(yState == "complete") {
_it();
}
};
</script>
</body>
</html>
HTML;
/**
* 構建自動提交HTML表單
* @return string
*/
public function createPostForm()
{
$this->params['signature'] = $this->sign();
$input = '';
foreach($this->params as $key => $item) {
$input .= "tt<input type="hidden" name="{$key}" value="{$item}">n";
}
return sprintf($this->formTemplate, $this->config['frontUrl'], $input);
}
/**
* 驗證簽名
* 驗籤規則:
* 除signature域之外的所有項目都必須參加驗籤
* 根據key值按照字典排序,然後用&拼接key=value形式待驗簽字符串;
* 然後對待驗簽字符串使用sha1算法做摘要;
* 用銀聯公鑰對摘要和簽名信息做驗籤操作
*
* @throws Exception
* @return bool
*/
public function verifySign()
{
$publicKey = $this->getVerifyPublicKey();
$verifyArr = $this->filterBeforSign();
ksort($verifyArr);
$verifyStr = $this->arrayToString($verifyArr);
$verifySha1 = sha1($verifyStr);
$signature = base64_decode($this->params['signature']);
$result = openssl_verify($verifySha1, $signature, $publicKey);
if($result === -1) {
throw new Exception('Verify Error:'ssl_error_string());
}
return $result === 1 ? true : false;
}
相關文章
-
php微信支付之APP支付方法
本文實例講述了微信開放平臺移動應用集成微信支付功能。分享給大家供大家參考。具體分析如下,更多消息請關注應屆畢業生網! WechatAppPay文件代碼如下: ? <?php namespace common\services\WechatPay; -
ThinkPHP實現支付寶接口功能實例
ThinkPHP實現支付寶接口功能的方法,實例講述了支付寶接口的下載及二次開發方法,以及對應的ThinkPHP開發技巧,需要的朋友可以參考下.最近做系統,需要實現在線支付功能,毫不猶豫,選擇的是支付寶的接口支付功能,這裏我用 -
PHP列表頁實現的方法
導語:php是一門比較強大的腳步語言,功能齊全。以下的'是本站小編爲大家蒐集的PHP列表頁展示方法,希望對你有所幫助。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""><html xmlns=""><head><meta h -
php頁面緩存實現方法
php頁面緩存實現方法可能很多PHP新手都不是很瞭解,下面給大家介紹php頁面緩存實現方法,一起來了解一下吧! php頁面緩存實現方法在php頁面緩存主要用到的是ob系列函數,如ob_start(),ob_end_flush(),ob_get_contents(), -
php頁面緩存實現方法大綱
PHP利於學習,使用廣泛,主要適用於Web開發領域。以下是爲大家分享的php頁面緩存實現方法,供大家參考借鑑,歡迎瀏覽!在php頁面緩存主要用到的是ob系列函數,如ob_start(),ob_end_flush(),ob_get_contents(),但是更高級的緩存 -
PHP後臺微信支付使用方法
主要爲大家詳細介紹了PHP後臺微信支付和支付寶支付開發的相關資料,具有一定的參考價值,感興趣的小夥伴們可以參考一下. 微信支付項目前提:本人用的是tp框架,PHP語言下載到微信平臺提供的微信支付接口文件,放在了tp第三 -
php網頁病毒清除的方法
很多人的網頁經常被無故的在php,asp,html,js 等文件後臺加上一些木馬地址,造成了很大的困擾,你知道要怎麼清除php網頁病毒嗎?下面是應屆畢業生小編整理的一些關於php網頁病毒清除的'方法的相關資料,供你參考。 php網頁 -
php編程實現簡單的網頁版計算器功能
php編程實現簡單的網頁版計算器功能,涉及php簡單表單操作與數值運算相關實現技巧,需要的朋友可以參考下。本文實例講述了php編程實現簡單的網頁版計算器功能。分享給大家供大家參考,具體如下:如何通過php代碼來實現一個 -
php啓用sphinx全文搜索的實現方法
文章主要介紹了php啓用sphinx全文搜索的實現方法,詳細講述了sphinx相關的配置與使用技巧,具有一定的參考借鑑價值,需要的朋友可以參考下。本文實例講述了php啓用sphinx全文搜索的實現方法。分享給大家供大家參考。具 -
php網頁病毒清除的方法大綱
很多人的網頁經常被無故的在php,asp,html,js 等文件後臺加上一些木馬地址,造成了很大的.困擾,你知道要怎麼清除php網頁病毒嗎?下面是小編整理的一些關於php網頁病毒清除的方法的相關資料,供你參考。php網頁病毒清除的方