OpenpayTransactionException (OpenpayTransactionException)
Closed this issue · 2 comments
Al crear un pago SPEI devuelve error
@openpay=OpenpayApi.new(merchant_id,private_key)
@charges=@openpay.create(:charges)
request_hash={
"method" => "bank_account",
"amount" => 200.00,
"description" => "Cargo con banco",
"order_id" => "oid-00051"
}
response_hash=@charges.create(request_hash.to_hash)
causa error.
Traceback (most recent call last):
1: from (irb):18
OpenpayTransactionException (OpenpayTransactionException)
el ejemplo tomado del tutorial https://www.openpay.mx/docs/bank-charge.html# con mis credenciales de ambiente de prueba.
Existe alguna forma de saber cual es el error?
Para conocer la causa del error puedes envolver tu código en un bloque begin rescue
. Así puedes tener acceso al objeto del error, su description
debería incluir la causa:
begin
@openpay=OpenpayApi.new(merchant_id,private_key)
@charges=@openpay.create(:charges)
request_hash={
"method" => "bank_account",
"amount" => 200.00,
"description" => "Cargo con banco",
"order_id" => "oid-00051"
}
response_hash=@charges.create(request_hash.to_hash)
rescue => error
puts error.description
end
El bloque begin rescue
podría mejorarse esperando excepciones específicos. openpay-ruby provee tres, OpenpayConnectionException
y OpenpayTransactionException
. Ambas clases heredan de OpenpayException
que a su vez hereda de StandardError
.
Another thing that is not described in the documentation is you have to add the customer
inside request_hash
:
request_hash = {
"method" => "bank_account",
"amount" => 200.00,
"description" => "Cargo con banco",
"order_id" => "oid-00051",
"customer" => {
"name" => "Juan",
"last_name" => "Vazquez Juarez",
"phone_number" => "4423456723",
"email" => "juan.vazquez@empresa.com.mx"
}
}
response_hash=@charges.create(request_hash.to_hash)
I had the same error here, and it solved the problem!