Result Objectsanchor

Result objects are wrapper objects that indicate whether or not the API call was a success and, if successful, include the requested data.

note

API calls that don't have validations, such as searches, will return a collection of requested objects instead of a result object.

Success resultsanchor

If the API call was successful, the success on the result will return true. The target object will be available as a member of the result object.

  1. PHP
$result->success
# true

$transaction = $result->transaction

Error resultsanchor

If the API call was not successful, the success on the result will return false. An error may be due to:

  1. PHP
$result->success
# false

$result->errors->deepAll()

The errors result object will only be populated if the error is due to a failed validation. In this case, the object will contain one or more validation errors indicating which parameters were invalid:

  1. PHP
$result = $gateway->customer()->create([
  'email' => 'invalid',
  'creditCard' => [
    'number' => 'invalid'
  ]
]);

foreach($result->errors->deepAll() AS $error) {
    print_r($error->attribute . ": " . $error->code . " " . $error->message . "
");
}

foreach($result->errors->forKey('customer')->shallowAll() AS $error) {
    print_r($error->attribute . ": " . $error->code . " " . $error->message . "
");
}

foreach($result->errors->forKey('customer')->forKey('creditCard')->shallowAll() AS $error) {
    print_r($error->attribute . ": " . $error->code . " " . $error->message . "
");
}

For details on transaction error results, see the transaction response object .

Messageanchor

The message on the error result gives a human-readable description of what went wrong, regardless of the cause and nature of the error.

  1. PHP
print_r($result->message);
# "Amount is required.
Credit card number is invalid."

The message can contain multiple error messages.

note

This was added in version {{sdkVersionForDate "Jul09_2010"}}

Paramsanchor

Error results include the parameters that were submitted. This can be useful during Transparent Redirects to repopulate your form if validations fail.

  1. PHP
print_r($result->params);
# [
#   'transaction' => [
#     'amount' => 12.00,
#     'creditCard' => [
#       'cardholderName' => 'John Doe'
#     ]
#   ]
# ]

For PCI compliance reasons, credit card number and cvv parameters are not included.

See also