Result Objects
Note
API calls that don't have validations, such as searches, will return
a collection of requested objectsinstead of a result object.
Success results
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.
- Ruby
result.success? #=> true
transaction = result.transaction
Error results
If the API call was not successful, the success on the result will return
{false}. An error may be due to:
- A validation error caused by invalid parameters
- A processor decline or gateway rejection
- Other exceptional conditions
- Ruby
result.success? #=> false
result.errors
- Ruby
result = gateway.customer.create(
:email => "invalid_email",
:credit_card => {
:number => "not_numeric",
}
)
result.errors.each do |error|
puts error.attribute
puts error.code
puts error.message
end
result.errors.for(:customer).each do |error|
puts error.attribute
puts error.code
puts error.message
end
result.errors.for(:customer).for(:credit_card).each do |error|
puts error.attribute
puts error.code
puts error.message
end
Message
The message on the error result gives a human-readable description of what went wrong,
regardless of the cause and nature of the error.
- Ruby
p result.message #=> "Amount is required.\nCredit card number is invalid."
Note
This was added in version {{sdkVersionForDate "Jul09_2010"}}
Params
Error results include the parameters that were submitted. This can be useful during
Transparent Redirects to repopulate your form if validations fail.
- Ruby
p result.params
#=> {"transaction" => {"amount" => "12.00", "credit_card" => {"cardholder_name" => "John Doe"}}}