nidux/cybersource-sdk-php

CyberSource PHP SOAP 客户端

1.0.4 2019-02-25 14:20 UTC

This package is auto-updated.

Last update: 2024-09-26 21:01:26 UTC


README

这是由 Nidux 对 CyberSource SOAP Toolkit API 的 PHP 客户端进行了调整后的版本。

Packagist

cybersource/sdk-php 可在 Packagist 上找到。如果您想从 Packagist 安装 SDK,请将以下依赖项添加到您的应用程序的 'composer.json' 文件中。

"require": {
  "cybersource/sdk-php": "*"
  }, 

前置条件

  • PHP 5.3 或更高版本
    • 必须启用 curl、openssl、soap 扩展
  • CyberSource 账户。您可以在 这里 创建评估账户。
  • CyberSource 交易密钥。您需要在 lib/conf 目录下的 cybs.ini 文件中设置您的商户 ID 和交易密钥。获取交易密钥的说明可以在 这里 找到。

安装

您可以通过 Composer 或手动方式安装客户端。在安装之前,请确保在 cybs.ini 中配置了商户 ID、交易密钥以及适当的 WSDL 文件 URL。默认情况下,客户端的 WSDL 文件适用于 API 版本 1.120(此包更新时的最新版本)。可用的 WSDL 文件 URL 可在以下位置浏览

使用 Composer 安装

您首先需要确保已安装 Composer。您可以按照 官方网站 上的说明进行操作。安装 Composer 后,您可以在项目根目录下运行

composer.phar install

然后,为了使用客户端,您需要包含 Composer 生成的自动加载文件

require_once('/path/to/project/vendor/autoload.php');

手动安装

要手动使用客户端,请将 CyberSource 客户端包含在您的项目中

require_once('/path/to/project/lib/CybsSoapClient.php');

入门

PHP 客户端将为您生成请求消息头,并包含由 WSDL 文件指定的方法。

创建简单请求

您将主要使用的方法是 runTransaction()。要运行交易,您首先需要构造一个客户端以生成请求对象,您可以填充必要的字段(请参阅 文档 中的示例请求)。该对象将被转换为 XML,因此对象的属性需要与正确的 XML 格式相对应。

$client = new CybsSoapClient();
$request = $client->createRequest();

$card = new stdClass();
$card->accountNumber = '4111111111111111';
$card->expirationMonth = '12';
$card->expirationYear = '2020';
$request->card = $card;

// Populate $request here with other necessary properties

$reply = $client->runTransaction($request);

从 XML 创建请求

您可以从文件或 XML 字符串中创建请求。XML 请求格式在 使用 XML 部分 这里 描述。以下是从 XML 文件运行交易的示例

$referenceCode = 'your_merchant_reference_code';
$client = new CybsSoapClient();
$reply = $client->runTransactionFromFile('path/to/my.xml', $referenceCode);

或者,您可以创建自己的 XML 字符串并使用该字符串代替

$xml = "";
// Populate $xml
$client = new CybsSoapClient();
$client->runTransactionFromXml($xml);

使用名称-值对

为了使用名称-值对运行交易,请确保在 cybs.ini 中设置了 NVP 交易处理程序的 WSDL 的值。然后使用 CybsNameValuePairClient 如下所示

$client = new CybsNameValuePairClient();
$request = array();
$request['ccAuthService_run'] = 'true';
$request['merchantID'] = 'my_merchant_id';
$request['merchantReferenceCode'] = $'my_reference_code';
// Populate $request
$reply = $client->runTransaction($request);

运行示例

cybs.ini 中配置您的商户 ID 和交易密钥后,可以从项目根目录运行 samples 目录中的示例。例如

php samples/Sale.php

如果成功,样本将输出每个请求的响应对象。请注意,样本包含测试数据,不应在实际环境中运行。

测试

为了运行测试,您需要PHPUnit。您还需要使用Composer进行自动加载。如果您使用Composer安装了客户端,这应该已经设置好了。否则,仅为了使用Composer进行自动加载,从项目根目录运行

composer.phar dump-autoload

如果您使用Composer安装了PHPUnit,请从项目根目录使用命令vendor/bin/phpunit运行测试。

文档

有关CyberSource服务的更多信息,请参阅http://www.cybersource.com/developers/documentation

有关所有其他支持需求,请参阅http://www.cybersource.com/support