doomtickle/authorizenet package for Kerigan Marketing Associates

1.3.1 2019-11-27 16:08 UTC

This package is not auto-updated.

Last update: 2021-11-25 02:01:31 UTC


A simple wrapper for the Authorize.Net PHP SDK

  • Docs are still WIP


composer require doomtickle/authorizenet

Environment/Global Variables


Login ID from your Authorize.Net Merchant Dashboard


Transaction Key from your Authorize.Net Merchant Dashboard


AuthorizeNet Environment (Sandbox or Production);

define('ANET_ENVIRONMENT', ''); // Sandbox

Or define('ANET_ENVIRONMENT', ''); // Production


Relative path to the file where you would like to keep transaction logs (for debugging purposes)

define('AUTHORIZENET_LOG_FILE', 'authorizenet_log');


This package accepts a payload of structured data (JSON) and returns the response from Authorize.Net


Key Required Type Notes
cardNumber yes String
expirationDate yes String Format: YYYY-mm
cardCode yes String Also known as CVV
amount yes Number Example: 151.25
customer yes object Contains neccessary information for the customer. See details below


For the following example, we'll use a simple JSON object consisting of only the minimum required fields to complete the transaction.

    "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": ""
use CyberdelicDigital\AuthorizeNet\Transaction;

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

    $response = $transaction->execute();

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

    return $response->getErrors();

Custom Validation Rules

In addition to the JSON data passed into the Transaction class, you can also pass a second parameter consisting of an array of any additional custom fields you need to be required.

Note: You do not need to specify the required fields listed in the chart above. They will always be required for a valid transaction.

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

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