Developer Portal

Error Handling

Each Heartland SDK handles the following error types which all inherit from ApiException:

Error Type Meaning
BuilderException Handle builder validation issues
ConfigurationException Handle cases when the service or gateway is configured incorrectly
GatewayException Handle gateway-related exceptions: invalid cc number, gateway-timeout, etc
UnsupportedTransactionException Handle cases when the configured transaction isn’t supported by the gateway, payment method, etc.

Error Handler

# coming soon
from globalpayments.api.entities.exceptions import (
    ApiException, BuilderException, ConfigurationException,
    GatewayException, UnsupportedTransactionException)

try:
    response = card.charge(-5) \
        .with_currency('USD') \
        .with_address(address) \
        .execute()
except BuilderException as e:
    // handle error
except ConfigurationException as e:
    // handle error
except GatewayException as e:
    // handle error
except UnsupportedTransactionException as e:
    // handle error
except ApiException as e:
    // handle error
using GlobalPayments.Api.Entities;

try
{
    card.Charge(-5m)
        .WithCurrency("USD")
        .WithAddress(address)
        .Execute();
}
catch (BuilderException e)
{
    // handle error
}
catch (ConfigurationException e)
{
    // handle error
}
catch (GatewayException e)
{
    // handle error
}
catch (UnsupportedTransactionException e)
{
    // handle error
}
catch (ApiException e)
{
    // handle error
}
<?php
use GlobalPayments\Api\Entities\Exceptions\ApiException;
use GlobalPayments\Api\Entities\Exceptions\BuilderException;
use GlobalPayments\Api\Entities\Exceptions\ConfigurationException;
use GlobalPayments\Api\Entities\Exceptions\GatewayException;
use GlobalPayments\Api\Entities\Exceptions\UnsupportedTransactionException;

try
{
    $card->charge(-5)
        ->withCurrency("USD")
        ->withAddress($address)
        ->execute();
}
catch (BuilderException $e)
{
    // handle error
}
catch (ConfigurationException $e)
{
    // handle error
}
catch (GatewayException $e)
{
    // handle error
}
catch (UnsupportedTransactionException $e)
{
    // handle error
}
catch (ApiException $e)
{
    // handle error
}
import com.global.api.entities.exceptions.ApiException;
import com.global.api.entities.exceptions.BuilderException;
import com.global.api.entities.exceptions.ConfigurationException;
import com.global.api.entities.exceptions.GatewayException;
import com.global.api.entities.exceptions.UnsupportedTransactionException;
import java.math.BigDecimal;

try
{
    card.charge(new BigDecimal("-5"))
        .withCurrency("USD")
        .withAddress(address)
        .execute();
}
catch (BuilderException e)
{
    // handle error
}
catch (ConfigurationException e)
{
    // handle error
}
catch (GatewayException e)
{
    // handle error
}
catch (UnsupportedTransactionException e)
{
    // handle error
}
catch (ApiException e)
{
    // handle error
}
import {
  ApiError,
  BuilderError,
  ConfigurationError,
  GatewayError,
  UnsupportedTransactionError
} from "globalpayments-api";

card.charge(-5)
  .withCurrency("USD")
  .withAddress(address)
  .execute()
  .catch((e) => {
    switch (e.name) {
      case BuilderError.constructor.name:
        // handle error
        break;
      case ConfigurationError.constructor.name:
        // handle error
        break;
      case GatewayError.constructor.name:
        // handle error
        break;
      case UnsupportedTransactionError.constructor.name:
        // handle error
        break;
      case ApiError.constructor.name:
      default:
        // handle error
        break;
    }
  });