doomtickle/authorizenet

为Kerigan Marketing Associates提供的authorize.net包

1.3.1 2019-11-27 16:08 UTC

README

Authorize.Net PHP SDK的简单包装器

  • 文档仍在进行中

安装

composer require doomtickle/authorizenet

环境/全局变量

必需

您的Authorize.Net商户控制台中的登录ID

define('AUTHORIZENET_LOGIN_ID', 'YOUR_LOGIN_ID');

您的Authorize.Net商户控制台中的交易密钥

define('AUTHORIZENET_TRANSACTION_KEY', 'YOUR_TRANSACTION_KEY');

AuthorizeNet环境(沙盒或生产);

define('ANET_ENVIRONMENT', 'https://apitest.authorize.net'); // Sandbox

或者 define('ANET_ENVIRONMENT', 'https://api2.authorize.net'); // 生产

可选

您希望保存事务日志的文件的相对路径(用于调试目的)

define('AUTHORIZENET_LOG_FILE', 'authorizenet_log');

用法

此包接受结构化数据的有效载荷(JSON),并返回Authorize.Net的响应

参数

示例

以下示例中,我们将使用一个简单的JSON对象,其中仅包含完成交易所需的最小字段。

{
    "cardNumber": "4111111111111111",
    "expirationDate": "2038-12",
    "cardCode": "123",
    "amount": 151.25,
    "customer": {
        "firstName": "Joe",
        "lastName": "Testerson",
        "street": "123 Example Street",
        "city": "Hollywood",
        "state": "CA",
        "zip": "90210",
        "country": "USA",
        "email": "joe@testerson.com"
    }
}
use CyberdelicDigital\AuthorizeNet\Transaction;

public function chargeCard($details)
{
    $transaction = new Transaction($details);

    $response = $transaction->execute();

    if ($response->isSuccess()) {
        return $response;
    }

    return $response->getErrors();
}

自定义验证规则

除了传递给Transaction类的JSON数据外,您还可以传递一个数组作为第二个参数,包含您需要添加的任何额外自定义字段。

注意:您不需要指定上表中列出的必需字段。对于有效交易,它们始终是必需的。

$requiredFields = ['field_1', 'field_2'];

$transaction = new Transaction($details, $requiredFields);