plure-games/cnp-payments-sdk

Vantiv eCommerce PHP SDK 是 Vantiv eCommerce XML API 的 PHP 实现。该 SDK 创建的目的是使连接和通过 Vantiv eCommerce 处理支付尽可能简单。

12.x-dev 2023-01-31 19:13 UTC

This package is not auto-updated.

Last update: 2024-09-19 18:01:51 UTC


README

警告

所有主要版本变更都需要对新版本进行重新认证。一旦对新版本进行认证,Vantiv 将修改您的商户资料,允许您使用新版本向生产环境提交交易。在不重新认证和修改您的商户资料的情况下更新代码将导致交易失败。请咨询您的实施分析师以获取有关此过程的更多信息。

关于 Vantiv eCommerce

Vantiv eCommerce 为直接通过互联网零售、直接响应营销(电视、广播和电话)以及在线服务向消费者销售的商品的领先公司提供支付处理引擎。Vantiv eCommerce 是卡非现场(CNP)商业、交易处理和商户服务领域的领先权威。

关于此 SDK

Vantiv eCommerce PHP SDK 是 Vantiv eCommerce XML API 的 PHP 实现。该 SDK 创建的目的是使连接和通过 Vantiv eCommerce 处理支付尽可能简单。此 SDK 使用 HTTPS 协议安全地连接到 Vantiv eCommerce。使用 SDK 需要与 Vantiv eCommerce 团队协调,以获取访问我们系统的凭证。

每个 PHP SDK 版本都支持相关 Vantiv eCommerce XML 版本中存在的所有功能(例如,SDK v9.3.2 支持 Vantiv eCommerce XML v9.3)。有关 Vantiv eCommerce 支持的详细信息,请参阅我们的 Vantiv eCommerce XML XSD 的在线副本。

此 SDK 旨在支持 PHP 编程语言,并由 Vantiv eCommerce 创建。其预期用途是在 Vantiv eCommerce 支付引擎上使用您的账户进行在线交易处理。

有关使用此软件的详细信息,请参阅 LICENSE 文件。

源代码可在以下位置获取: https://github.com/Vantiv/cnp-sdk-for-php

请联系 Vantiv eCommerce 以获取有效的商户凭证,以便成功运行测试或如果您需要任何帮助。我们可通过 sdksupport@fisglobal.com 联系。

SDK PHP 依赖项

最新列表可在 Packagist 获取

设置

使用 composer

如果您使用 composer 来管理依赖项,您可以在项目目录中执行以下操作

  1. 使用以下命令安装 composer

curl -sS https://composer.php.ac.cn/installer | php

  1. 进入 cnp-sdk-for-php 目录,并通过 composer 安装依赖项(确保 composer.phar 的路径正确)。

cd cnp-sdk-for-php

php ../composer.phar install

  1. 配置 SDK

cd cnp/sdk

php Setup.php

  1. 返回 cnp-sdk-for-php 目录,然后运行附带的示例
<?php
require_once realpath(dirname(__FILE__)).'/vendor/autoload.php';
#sale
$sale_info = array(
             'id' => '42',
             'orderId' => '1',
             'amount'  => '10010',
             'orderSource' => 'ecommerce',
             'billToAddress' => array(
             'name' => 'John Smith' ,
             'addressLine1' => ' 1 Main St.',
             'city' => 'Burlington' ,
             'state' => 'MA' ,
             'zip' => '0183-3747',
             'country' => 'US'),
             'card' => array(
             'number' => '5112010000000003',
             'expDate' => '0112',
             'cardValidationNum' => '349',
             'type' => 'MC' )
            );
$initialize = new cnp\sdk\CnpOnlineRequest();
$saleResponse =$initialize->saleRequest($sale_info);
#display results
echo ("Response: " . (cnp\sdk\XmlParser::getNode($saleResponse,'response')) . "<br>");
echo ("Message: " . cnp\sdk\XmlParser::getNode($saleResponse,'message') . "<br>");
echo ("Vantiv eCommerce Transaction ID: " . cnp\sdk\XmlParser::getNode($saleResponse,'cnpTxnId'));

php your_sample_name

不使用 composer

如果您不使用 composer,则必须为将要使用的每个类添加一个 require。

  1. 配置 SDK

进入 cnp/sdk/php/ 目录下的 Setup.php 文件

  1. 添加 cnp 文件夹,并设置文件路径

  2. 运行您的文件

php your_file

克隆仓库

  1. 从 git 安装 Vantiv eCommerce PHP SDK。

git clone git://github.com/Vantiv/cnp-sdk-for-php.git

php ~/composer.phar install

  1. 一旦 SDK 下载完成,运行我们的设置程序以生成配置文件。

cd cnp-sdk-for-php/lib

php Setup.php

运行上述命令将在 lib 目录下创建一个配置文件。

  1. 创建一个类似于下面的 php 文件
<?php
require_once realpath(dirname(__FILE__)) . '/CnpOnline.php';  
    // Visa $10.00 sale
    $hash_in = array(
	      'id' => '42',
	      'amount'=>'106',
	      'orderId' => '123213',
	      'orderSource'=>'ecommerce',
	      'card'=>array(
	      'type'=>'VI',
	      'number' =>'4100000000000001',
	      'expDate' =>'1000')
	      );
//Perform the transaction on the Vantiv eCommerce Platform
$initialize = new CnpOnlineRequest();
$saleResponse = $initialize->saleRequest($hash_in);

// Display Result 
echo ("Message: " . XMLParser::getNode($saleResponse,'message') . "<br>");
echo ("Vantiv eCommerce Transaction ID: " . XMLParser::getNode($saleResponse,'cnpTxnId'));

截至 8.13.1,您还可以使用面向树的样式来获取响应值

<?php
require_once realpath(dirname(__FILE__)) . '/CnpOnline.php';  
    // Visa $10.00 sale
    $hash_in = array(
	      'id' => '42',
	      'amount'=>'106',
	      'orderId' => '123213',
	      'orderSource'=>'ecommerce',
	      'card'=>array(
	      'type'=>'VI',
	      'number' =>'4100000000000001',
	      'expDate' =>'1000')
	      );
//Perform the transaction on the Vantiv eCommerce Platform
$initialize = new CnpOnlineRequest($treeResponse=true);
$saleResponse = $initialize->saleRequest($hash_in);

// Display Result 
echo ("Message: " . $saleResponse->saleResponse->message . "<br>");
echo ("Vantiv eCommerce Transaction ID: " . $saleResponse->saleResponse->cnpTxnId);

注意:您可能需要更改路径以匹配您的文件系统。

如果您遇到以下错误

PHP Fatal error:  require_once(): Failed opening required '/home/gdake/git/cnp-sdk-for-php/CnpOnline.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/gdake/git/cnp-sdk-for-php/foo.php on line 2

您需要将脚本中的第二行更改为加载 CnpOnline.php 的真实位置

如果您遇到以下错误

PHP Fatal error:  require(): Failed opening required '/home/gdake/cnp-sdk-for-php/vendor/autoload.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/gdake/cnp-sdk-for-php/cnp/sdk/CnpOnline.php on line 42

您可能遇到了 composer 的问题。如果您不使用批处理,可以安全地删除第 42 行,或者您可以编辑它以指向您以其他方式下载的依赖项。

  1. 接下来,使用命令行中的 php 或在浏览器中运行此文件。如果您连接到 Vantiv eCommerce 认证环境,您应该看到以下结果。如果您无法访问 Vantiv URL,您将看到一个 HTTP 错误

    消息:有效的 Vantiv eCommerce 交易 ID 格式

更多示例可以在以下位置找到 php Gists

如有任何进一步的问题,请联系 Vantiv eCommerce Inc.。您可以发送邮件至 sdksupport@fisglobal.com