payway-ar / sdk-net-ventaonline

SDK de BackEnd para Gateway de pago Payway
8 stars 12 forks source link

Error al obtener datos de la excepcion del pago #1

Open asegurala opened 6 years ago

asegurala commented 6 years ago

SDK .Net V1.4.2

Se realiza solicitud de pago, la respuesta de la api devuelve el error encapsulado en el objeto Error, (resaltado en negrita tanto en el post como en el response) para el caso de que se envie mal el payment_type, en este caso , todo en mayusculas.

Para el resto de los campos como ser amount, la respuesta del mensaje de error viene correctamente, sin el objeto Error encapsulando el mensaje de error.

POST /api/v2/payments Body Request

{"site_transaction_id":"xxx","token":"e951f903-eb1d-4f07-ae09-c68dc82c67cd","customer":{},"payment_method_id":1,"bin":"450799","amount":1235.58,"currency":"ARS","installments":1,"payment_type":"SINGLE","sub_payments":[]}

Response: {"error":{"error_type":"invalid_request_error","validation_errors":[{"code":"invalid_param","param":"payment_type"}]}}

Entonces al realizar el pago, el control de errores no trae datos del error de pago:

        try
        {              
              DecidirConnector   decidir = new DecidirConnector(Ambiente.AMBIENTE_SANDBOX, privateApiKey, publicApiKey);             

          DecidirModel.PaymentResponse  response = decidir.Payment(spsPayment);
        }
        catch (ResponseException ex)
        {
           // devuelve el objeto response null
        Log.Error(ex.GetErrorResponse());
         }

Solucion: devolver la respuesta desde la API Restful, quitando el objeto error, quedando con el siguiente formato:

{"error_type":"invalid_request_error","validation_errors":[{"code":"invalid_param","param":"payment_type"}]}

slds