php版银联支付接口开发简明教程

下面是关于“php版银联支付接口开发简明教程”的完整攻略。

一、前置知识

在开始使用银联支付接口进行开发之前,需要掌握以下知识:

  1. PHP基础知识
  2. 网络编程基础知识
  3. HTTP协议基础知识
  4. rsa加密算法基础知识

二、准备工作

在进行银联支付接口开发之前,需要进行以下准备工作:

  1. 申请商户号和商户秘钥
  2. 下载工具包并解压
  3. 了解银联支付接口开发文档

三、接口集成

  1. 引入相关库文件
require "lib/SDKConfig.php";
require "lib/secureUtil.php";
require "lib/LogUtil.php";
  1. 设置接口请求参数
$params = array(
    'version' => '5.0.0',
    'encoding' => 'utf-8',
    'certId' => getSignCertId (),
    'txnType' => '01',
    'txnSubType' => '01',
    'bizType' => '000201',
    'frontUrl' => FRONT_NOTIFY_URL,//前台通知地址
    'backUrl' =>  BACK_NOTIFY_URL,//后台通知地址
    'signMethod' => '01',
    'channelType' => '07',
    'accessType' => '0',
    'currencyCode' => '156',
    'merId' => '898340183922222',
    'orderTime' => date ( 'YmdHis' ),
    'orderId' => date ( 'YmdHis' ) . rand ( 1000, 9999 ),
    'txnAmt' => '100',
    'txnTimeout' => date ( 'YmdHis', strtotime('+15 minutes')),
);
  1. 签名
sign($params);
  1. 发送请求
$result = post($params, SDK_FRONT_TRANS_URL);

至此,银联支付接口集成完毕。

四、示例说明

下面是两个示例说明:

示例一

用户购买商品时,会跳转到银联支付页面,用户输入银行卡信息,银行卡授权完成后,银联会将支付结果返回给商户。

//处理银联支付结果
if( $_POST && isset( $_POST['signature'] ) && isset( $_POST['respCode'] ) &&  $_POST['respCode'] == '00' ){
    $params = array(
        'version' => $_POST['version'],
        'encoding' => $_POST['encoding'],
        'certId' => getSignCertId (),
        'signature' => $_POST['signature'],
        'txnType' => $_POST['txnType'],
        'txnSubType' => $_POST['txnSubType'],
        'bizType' => $_POST['bizType'],
        'accessType' => $_POST['accessType'],
        'merId' => $_POST['merId'],
        'orderId' => $_POST['orderId'],
        'txnTime' => $_POST['txnTime'],
        'txnAmt' => $_POST['txnAmt'],
        'currencyCode' => $_POST['currencyCode'],
        'queryId' => $_POST['queryId'],
        'respCode' => $_POST['respCode'],
        'respMsg' => $_POST['respMsg']
    );
    //验证签名,如果验证通过,则处理订单
    if ( verify ( $params ) ) {
        //处理订单
        orderProc('success', $params);
    } else {
        orderProc('failure', $params);
    }
}

示例二

商户下单成功后,发起支付请求,银联处理完成后,将支付结果返回给商户。

//商户下单成功后再调用此接口
$params = array(
    'version' => '5.0.0',
    'encoding' => 'utf-8',
    'certId' => getSignCertId (),
    'txnType' => '01',
    'txnSubType' => '01',
    'bizType' => '000201',
    'frontUrl' => FRONT_NOTIFY_URL,//前台通知地址
    'backUrl' =>  BACK_NOTIFY_URL,//后台通知地址
    'signMethod' => '01',
    'channelType' => '07',
    'accessType' => '0',
    'currencyCode' => '156',
    'merId' => '898340183922222',
    'orderTime' => date ( 'YmdHis' ),
    'orderId' => date ( 'YmdHis' ) . rand ( 1000, 9999 ),
    'txnAmt' => '100',
    'txnTimeout' => date ( 'YmdHis', strtotime('+15 minutes')),
);

//签名
sign($params);

//发送请求
$result = post($params, SDK_FRONT_TRANS_URL);

以上就是“php版银联支付接口开发简明教程”的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php版银联支付接口开发简明教程 - Python技术站

(1)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Eclipse PHPEclipse 配置的具体步骤

    Eclipse是一个优秀的开发工具,它提供了许多插件来支持不同的编程语言。在使用Eclipse开发PHP项目时,可以使用PHPEclipse插件来增强其PHP开发支持。 以下是Eclipse PHPEclipse配置的具体步骤: 步骤一:安装Eclipse 如果您已经安装了Eclipse,请跳过此步骤。 首先,您需要下载并安装Eclipse软件。您可以通过以…

    PHP 2023年5月27日
    00
  • PHP 翻页 实例代码

    接下来我将为您详细讲解关于“PHP 翻页 实例代码”的完整攻略。 什么是翻页? 翻页(Paging或Pagination)是指在页面上分多个条目或栏目显示信息,需要在用户界面上实现将这些条目或栏目分批次或一页一页显示的功能。对于常见的网页来说,翻页是一种方便用户查看大量数据的方式,是一个基本而又普遍的需求。 翻页实现的主要难点 PHP实现翻页主要的难点在于计…

    PHP 2023年5月24日
    00
  • php基础知识:控制结构

    接下来我会给你详细讲解 “PHP基础知识: 控制结构” 的完整攻略。 什么是控制结构 控制结构是一种在程序中控制代码执行顺序的方式,通常有三个类型: 顺序结构、选择结构、循环结构。 顺序结构 顺序结构是指按照程序代码的文字顺序执行的结构,在这种结构中,上一组代码执行完后,才会执行下一组代码。 例如以下代码就是一个简单的顺序结构示例: <?php ech…

    PHP 2023年5月23日
    00
  • 将PHP作为Shell脚本语言使用

    将PHP作为Shell脚本语言使用,主要是针对那些在执行Shell命令时需要进行复杂操作的情况,例如在Shell脚本中需要针对某些文本进行替换、处理等。以下是完整的攻略: 1. 安装PHP解释器 由于我们需要将PHP作为Shell脚本语言使用,因此需要安装PHP解释器,同时还需要将其添加到环境变量中。在Linux系统中,可以通过以下命令安装PHP: sudo…

    PHP 2023年5月23日
    00
  • PHP字符串和十六进制如何实现互相转换

    PHP字符串和十六进制是可以相互转换的,可以使用PHP中内置的字符串和十六进制函数来完成。 1.字符串转十六进制 PHP中可以使用bin2hex函数将二进制字符串转换为十六进制。具体示例如下: <?php $str = "hello world"; $hex = bin2hex($str); echo $hex; // 输出:686…

    PHP 2023年5月26日
    00
  • 简单的php文件上传(实例)

    下面为你详细讲解如何进行简单的PHP文件上传,包含如下内容: 准备工作 编写前端页面 编写后端代码 示例说明 1. 准备工作 在进行文件上传之前,需要准备好以下工作: 一个可用的Web服务器,比如Apache或Nginx。 PHP版本必须大于等于5.2.0,且必须开启了file_uploads配置项。 了解文件上传的安全性问题。 2. 编写前端页面 前端页面…

    PHP 2023年5月26日
    00
  • PHP时间戳和日期相互转换操作实例小结

    下面我将为你详细讲解如何使用PHP时间戳和日期相互转换操作。 什么是时间戳 时间戳是指从1970年1月1日00:00:00到现在时刻的秒数,通常用于表示某个事件发生的时间。 使用date函数将时间戳转化成日期 在PHP中,使用date函数可以将时间戳转化成日期。它的语法格式如下: string date ( string $format [, int $ti…

    PHP 2023年5月26日
    00
  • Windows2008 最新版Apache2、PHP5、MySQL6、PHPMyadmin、ZendOptimizer安装图解

    Windows2008 最新版Apache2、PHP5、MySQL6、PHPMyadmin、ZendOptimizer安装图解 准备工作 在开始安装之前,需要下载以下软件: Apache2:官网下载页面 PHP5:官网下载页面 MySQL6:官网下载页面 PHPMyadmin:官网下载页面 ZendOptimizer:官网下载页面 Visual C++ Re…

    PHP 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部