payway-ar / sdk-php-ventaonline

SDK de BackEnd para Gateway de pago Payway
MIT License
20 stars 17 forks source link

Error al ejecutar un pago sdk-php #2

Closed emanuelmosto closed 7 years ago

emanuelmosto commented 7 years ago

Decidir V2 Estimados siguiendo los pasos documentados para ejecutar un pago obtengo un error 500. Adjunto pasos seguidos y posible problema / solución.

$keys_data = array('public_key' => 'e9cdb99fff374b5f91da4480c8dca741', 'private_key' => '92b71cf711ca41f78362a7134f87ff65');

$ambient = "test";

$connector = new \Decidir\Connector($keys_data, $ambient);

//---------------- //ejecucion de pago 1

$data = array( "site_transaction_id" => "300520123175", // nuevo reingresado en cada intento "token" => "154950f4-34a3-4361-aaf1-b1cb86f90748", //nuevo generado via sdk-js en cada intento "user_id" => "pepe", "payment_method_id" => 1, "amount" => 10.01, "bin" => "450799", "currency" => "ARS", "installments" => 1, "description" => "prueba", "payment_type" => "single", "sub_payments" => array(), "fraud_detection" => array(), );

$response = $connector->payment()->ExecutePayment($data);

Ingresando a ExecutePayment.....

public function ExecutePayment($data){ $data['amount'] = $this->rmDecAmount($data['amount']);

    if(!empty($this->cybersource) && $this->cybersource['send_to_cs'] == true){
        $data['fraud_detection'] = json_decode(json_encode($this->cybersource),TRUE);
    }

    $jsonData = new \Decidir\Payment\Data($data);   

    $RESTResponse = $this->serviceREST->post("payments", $jsonData->getData());
    $ArrayResponse = $this->toArray($RESTResponse);

    print_r(**_$ArrayResponse_**);  //OBTENGO BIEN ESTE VALOR !!!
    //die;

    return new \Decidir\Payment\PaymentResponse($ArrayResponse); //**_NO PASA LA VALIDACIÓN ERROR 500 !!!!_**

    // No la pasa porque en class PaymentResponse extends \Decidir\Data\AbstractData FALTA UN VALOR QUE DEVUELVE EL API     [customer] => Array ( [id] => pepe )  QUE NO FIGURA EN EL setRequiredFields !

Agregango customer en el array de setRequiredFields

"customer" => array(
                    "name" => "customer"
                )

Saludos

drarko commented 7 years ago

Estimado, Por favor, actualizar la SDK a la última versión donde este error fue solucionado Gracias