cybersource / sdk-php
CyberSource PHP SOAP 客户端
Requires
- php: >=7.3
- ext-curl: *
- ext-openssl: *
- ext-soap: *
Requires (Dev)
- phpunit/phpunit: 9.5.*
This package is not auto-updated.
Last update: 2024-09-19 02:20:37 UTC
README
这是 CyberSource SOAP Toolkit API 的 PHP 客户端。
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