cybersource/sdk-php

CyberSource PHP SOAP 客户端

1.0.3 2021-10-06 09:17 UTC

This package is not auto-updated.

Last update: 2024-09-19 02:20:37 UTC


README

这是 CyberSource SOAP Toolkit API 的 PHP 客户端。

Build Status

Packagist

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

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

先决条件

  • PHP 7.3 或更高版本
  • CyberSource 账户。您可以在 此处 创建评估账户。
  • CyberSource 交易密钥。您需要在 lib/conf 目录下的 cybs.ini 文件中设置您的商户 ID 和交易密钥。获取交易密钥的说明可以在此处找到。

安装

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

使用 Composer 安装

您首先需要确保已安装 Composer。您可以遵循 官方网站 上的说明。Composer 安装完成后,您可以在项目根目录下运行以下命令:

Linux: composer.phar install 
Windows: composer install 

如果您已经为项目安装了 Composer,则需要运行以下更新命令:

Linux: composer.phar update 
Windows: composer update

然后,为了使用客户端,您需要包含 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

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

元键支持

元键是由实体生成并可用来代表其他实体进行身份验证的键,前提是持有键的实体是父实体或关联的合作伙伴。

SOAP PHP SDK 默认支持元键。有关 cybs.ini 修改的详细信息。

merchantID=(指代投资组合或账户 MID)
transaction_key=(为元键生成的 SOAP 密码)
在示例请求中发送交易商户 ID。

测试

为了运行测试,您需要 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