首頁 > 開發 > Php > 正文

php銀聯網頁支付實現方法

2020-02-18 02:33:59
字體:
來源:轉載
供稿:網友

本文實例講述了php銀聯網頁支付實現方法。分享給大家供大家參考。具體分析如下:
這里介紹的銀聯WAP支付功能,僅限消費功能。

1. PHP代碼如下:
代碼如下:<?php
namespace common/services;
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>
    <div style="text-align:center">跳轉中...</div>
    <form id="pay_form" name="pay_form" action="%s" method="post">
        %s
    </form>
    <script type="text/javascript">
        document.onreadystatechange = function(){
            if(document.readyState == "complete") {
                document.pay_form.submit();
            }
        };
    </script>
</body>
</html>
HTML;
/**
* 構建自動提交HTML表單
* @return string
*/
public function createPostForm()
{
        $this->params['signature'] = $this->sign();
        $input = '';
        foreach($this->params as $key => $item) {
            $input .= "/t/t<input type=/"hidden/" name=/"{$key}/" value=/"{$item}/">/n";
        }
        return sprintf($this->formTemplate, $this->config['frontUrl'], $input);
}
/**
* 驗證簽名
* 驗簽規則:
* 除signature域之外的所有項目都必須參加驗簽
* 根據key值按照字典排序,然后用&拼接key=value形式待驗簽字符串;
* 然后對待驗簽字符串使用sha1算法做摘要;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
金玫玫床戏