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 is_success on the result will return True. The target object will be available as a member of the result object.

  1. Python
result.is_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. Python
result.is_success
# False

result.errors.deep_errors

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. Python
result = gateway.customer.create({
    "email": "invalid_email",
    "credit_card": {
        "number": "not_numeric"
    }
})

for error in result.errors.deep_errors:
    print(error.attribute)
    print(error.code)
    print(error.message)

for error in result.errors.for_object("customer"):
    print(error.attribute)
    print(error.code)
    print(error.message)

for error in result.errors.for_object("customer").for_object("credit_card"):
    print(error.attribute)
    print(error.code)
    print(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. Python
print(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. Python
print(result.params)
# {"transaction": {"amount": "1.00"}, {"credit_card": {"cardholder_name": "John Doe"}}}

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

See also