Closed daniken1 closed 1 year ago
Hola @daniken1 podrías pasarme tu código completo para intentar replicar el mismo error por favor, ya que estoy haciendo pruebas y no me resulta algún problema
Hola Muchas Gracias a continuación el codigo php
session_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
date_default_timezone_set('America/New_York');
require_once("Conekta.php");
$key_produccion="";
$key_desarrollo ="xxxxx";
Conekta\Conekta::setApiKey("xxxxx");
Conekta\Conekta::setApiVersion("2.0.0");
Conekta\Conekta::setLocale('es');
$valid_order =
array(
'line_items'=> array(
array(
'name' => 'Box of Cohiba S1s',
'description' => 'Imported From Mex.',
'unit_price' => 500,
'quantity' => 1,
'sku' => 'cohb_s1',
'category' => 'food',
'tags' => array('food', 'mexican food')
)
),
'currency' => 'mxn',
'metadata' => array('test' => 'extra info'),
'charges' => array(
array(
'payment_method' => array(
'token_id' => "tok_test_visa_4242",
'object'=> 'card_payment',
'type'=> 'card',
'name'=> 'Jorge Lopez',
'exp_month'=> '12',
'exp_year'=> '19',
'auth_code'=> '49088432',
'last4'=> '42422',
'brand'=> 'visa',
'issuer'=> '',
'account_type'=> '',
'country'=> 'MX',
'fraud_score'=> 29
),
'amount' => 500
)
),
'currency' => 'mxn',
'customer_info' => array(
'name' => 'John Constantinee',
'phone' => '+5213353319758',
'email' => 'cccc@ccc.com'
)
);
try {
$order = \Conekta\Order::create($valid_order);
} catch (\Conekta\ProcessingError $e){
echo $e->getMessage();
} catch (\Conekta\ParameterValidationError $e){
echo $e->getMessage();
} catch (\Conekta\Handler $e){
echo $e->getMessage();
}
$order = \Conekta\Order::create($valid_order);
var_dump($order)
Me puedes pasar tu email por favor para ayudar con la integración si gustas, veo que hacen falta enviar más cosas dentro de tu código y eso podría ser el origen del error
Hola Disculpa me acabo de dar cuenta que te envie un código superviejo y que jamas iba a funcionar sorry ya estaba dando lo ultimo el día viernes. A continuación te paso el código con el error pero si crees igual te puedo hacer llegar mi dirección a tu correo. Muchas gracias por tu ayuda.
ob_start();
session_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include ("conf/conf.php");
require_once("Conekta.php");
$key_desarrollo ="xxxxxxxxxxxxx";
Conekta\Conekta::setApiKey($key_desarrollo);
Conekta\Conekta::setApiVersion("2.0.0");
Conekta\Conekta::setLocale('es');
$chr = "0123456789ABCDEFGHIJKMLNOPQRSTUVWXYZ";
$str = "";
while(strlen($str) < 6)
{
$str .= substr($chr, mt_rand(0,(strlen($chr))), 1);
}
$my_numeric_string =$str;
$inputCardNumbere ='123456789';//$_GET["inputCardNumber"];
$inputNameCard ='danitest';//$_GET["inputNameCard"];
$inputYear ='2022';//$_GET["inputYear"];
$inputMonth ='12';//$_GET["inputMonth"];
$inputCVV2 ='321';//$_GET["inputCVV2"];
$conektaTokenId ='123456';//$_GET["mytoken"];
$totalgeneral = '563';
$satisfactorio = 0;
$ext2 = 'MX';
$codigo_final = "xx" . $my_numeric_string. ".".$ext2;
$origen = 'MX';
if( !empty($origen) )
{
$totalgeneral2= $totalgeneral * 100;
try {
$customer = \Conekta\Customer::create(
array(
"name" => $inputNameCard,
"email" => "dani@xxx.com",
"phone" => "+55555555",
"payment_sources" => array(
array(
"type" => "card",
"token_id" => $conektaTokenId
)
)//payment_sources
)//customer
);
} catch (\Conekta\ProccessingError $error){
echo $error->getMesage();
} catch (\Conekta\ParameterValidationError $error){
echo $error->getMessage();
} catch (\Conekta\Handler $error){
echo $error->getMessage();
}
//$customerid= $customer->id;
$totalgeneral2= $totalgeneral *100;
$valid_order= array(
'currency' => 'MXN',
'customer_info' => array(
'customer_id' => $customerid
),
'line_items' => array(
array(
'name' => $codigo_final,
'unit_price' => $totalgeneral2,
'quantity' => 1
)
),
'charges' => array(
array(
'payment_method' => array(
'type' => 'default'
)
)
)
);
try {
$order = \Conekta\Order::create($valid_order);
/* $idtrans = $order->id ;
$statustrans = $order->payment_status ;
$codetrans = $order->charges[0]->payment_method->auth_code ;
$cuatrodigitos = $order->charges[0]->payment_method->last4;
$tipo_tarjeta = $order->charges[0]->payment_method->brand ;
$tipotrans = $order->charges[0]->payment_method->type ;
$expir=$inputMonth."/".$inputYear; */
} catch (\Conekta\Handler $error) {
echo($error->getMessage());
echo($error->getCode());
echo($error->getLine());
echo($error->getTraceAsString());
}
// $response =$idtrans.",".$statustrans.",".$codetrans.",".$cuatrodigitos;
if ($_SESSION['intentosTDC'] >333 ){
echo "<script>alert('Muchos intentos')</script>";
}
var_dump($order);
if ($satisfactorio==1)
{
echo "<script>alert('Listo')</script>";
} else {
$_SESSION['intentosTDC']++;
echo json_encode(array(
'status' => 'error',
'message'=> 'Ha ocurrido un error al procesar el pago, Verifique los datos de la tarjeta',
'intentos'=> $_SESSION['intentosTDC']
));
}
} else {
echo "<script>alert('Hay algo vacio')</script>";
}
ob_end_flush();
Hola @daniken1
Para el valor ejemplo del tokenId puedes obtener alguno del siguiente enlace. https://developers.conekta.com/resources/testing
Al momento de enviar tu orden igual veo que faltan agregar shipping_line y shipping_contact.
si quieres pasame tu email y te envió mensaje para ayudar más con esto e igual si tienes dudas de como usar algo.
Gracias @silvaGarduno se me habia olvidado lo de los token de testing. Como te comente ya yo lo habia hecho en otro servidor y alli no coloco shipping_line y shipping_contact debido a que es un prestador de servicios virtual. Mi correo es daniken@gmail.com
@daniken1 puedes intentar con lo del token y ver que pasa
Usando el token se mantiene el error y arroja otro sobre el mismo archivo. y por ultimo te envio los mensajes del manejador de erroes de conecta, no se si es un tema de mi version de php y el Lang.php
Warning: opendir(/home/xxx/public_html/xxx/Conekta/../locales/messages)
[function.opendir]: failed to open dir: No such file or directory in
/home/xxx/public_html/xxx/Conekta/Lang.php on line 41
Notice: Undefined index: es in /home/xxx/public_html/xxx/Conekta/Lang.php
on line 19
catch (\Conekta\Handler $error) {
echo "manejador de error de conecta <br>";
echo "getMessage= ".($error->getMessage())."<br>";
echo "getCode= ".($error->getCode())."<br>";
echo "getLine= ".($error->getLine())."<br>";
echo "getTraceAsString= ".($error->getTraceAsString())."<br>";
}
El Manejador de errore me devuelve estos valores
getMessage=
getCode=
getLine= 45
getTraceAsString= #0 /home/xxx/public_html/xxx/Conekta/Exceptions/Handler.php(98):
Conekta\Handler::build(NULL, 0) #1 /home/xxx/public_html/backmin/Conekta
/Requestor.php(152): Conekta\Handler::errorHandler(NULL, 0) #2 /home/xxx/public_html
/xxx/Conekta/ConektaResource.php(80): Conekta\Requestor->request('post', '/orders',
Array) #3 /home/xxx/public_html/xxx/Conekta/Order.php(73):
Conekta\ConektaResource::_scpCreate('Conekta\Order', Array) #4 /home/xxx/public_html
/xxx/Tconekta.php(87): Conekta\Order::create(Array) #5 {main}
Hola estoy haciendo una integracion en un servidor con php 5.3.2. ya tengo este mismo codigo funcionando en php 7 pero aca en el 5 obtengo el siguiente error
Las llamadas al script la estoy haciendo de esta forma
A que se puede deber?