Result Objects

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 objectsinstead of a result object.

Success resultsAnchorIcon

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 resultsAnchorIcon

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 . "\n");
}

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

foreach ($result->errors->forKey('customer')->forKey('creditCard')->shallowAll() as $error) {
    print_r($error->attribute . ": " . $error->code . " " . $error->message . "\n");
}
For details on transaction error results, see the transaction response object .

MessageAnchorIcon

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"}}

ParamsAnchorIcon

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 AlsoAnchorIcon