Buenas tardes, estoy haciendo pruebas en modo sandbox para implementar el metodo de pago en Panama, este es el codigo que stoy usando (basicamente igual a como esta en la web, solo quite campos)
require_once 'lib/PayU.php';
date_default_timezone_set('America/Caracas');
PayU::$apiKey = "6u39nqhq8ftd0hlvnjfs66eh8c"; //apiKey de prueba.
PayU::$apiLogin = "11959c415b33d0c"; //apiLogin de prueba.
PayU::$merchantId = "500238"; //Id de Comercio de prueba.
PayU::$language = SupportedLanguages::ES; //Seleccione el idioma.
PayU::$isTest = true; //Dejarlo True cuando sean pruebas.
// URL de Pagos
Environment::setPaymentsCustomUrl("https://stg.api.payulatam.com/payments-api/4.0/service.cgi");
// URL de Consultas
Environment::setReportsCustomUrl("https://stg.api.payulatam.com/reports-api/4.0/service.cgi");
// URL de Suscripciones para Pagos Recurrentes
Environment::setSubscriptionsCustomUrl("https://stg.api.payulatam.com/payments-api/rest/v4.3/");
$reference = "payment_test_".rand();
$value = "1000";
$parameters = array(
//Ingrese aquí el identificador de la cuenta.
PayUParameters::ACCOUNT_ID => "500538",
//Ingrese aquí el código de referencia.
PayUParameters::REFERENCE_CODE => $reference,
//Ingrese aquí la descripción.
PayUParameters::DESCRIPTION => "payment test",
// -- Valores --
//Ingrese aquí el valor.
PayUParameters::VALUE => $value,
//Ingrese aquí la moneda.
PayUParameters::CURRENCY => "USD",
// -- pagador --
//Ingrese aquí el nombre del pagador.
PayUParameters::PAYER_NAME => "APPROVED",
//Ingrese aquí la dirección del pagador.
PayUParameters::PAYER_COUNTRY => "PA",
// -- Datos de la tarjeta de crédito --
//Ingrese aquí el número de la tarjeta de crédito
PayUParameters::CREDIT_CARD_NUMBER => "4519860000000003",
//Ingrese aquí la fecha de vencimiento de la tarjeta de crédito
PayUParameters::CREDIT_CARD_EXPIRATION_DATE => "2016/12",
//Ingrese aquí el código de seguridad de la tarjeta de crédito
PayUParameters::CREDIT_CARD_SECURITY_CODE=> "321",
//Ingrese aquí el nombre de la tarjeta de crédito
//PaymentMethods::VISA||PaymentMethods::MASTERCARD||PaymentMethods::AMEX||PaymentMethods::DINERS
PayUParameters::PAYMENT_METHOD => PaymentMethods::VISA,
//Ingrese aquí el número de cuotas.
PayUParameters::INSTALLMENTS_NUMBER => "1",
//Ingrese aquí el nombre del pais.
PayUParameters::COUNTRY => PayUCountries::PA,
//Session id del device.
PayUParameters::DEVICE_SESSION_ID => session_id(),
//IP del pagadador
PayUParameters::IP_ADDRESS => $_SERVER['SERVER_ADDR'],
//Cookie de la sesión actual.
PayUParameters::PAYER_COOKIE=>"pt1t38347bs6jc9ruv2ecpv7o2",
//Cookie de la sesión actual.
PayUParameters::USER_AGENT=>$_SERVER['HTTP_USER_AGENT']
);
$response = PayUPayments::doAuthorizationAndCapture($parameters);
if($response) {
echo $response->transactionResponse->orderId."<br><br>";
echo $response->transactionResponse->transactionId."<br><br>";
echo $response->transactionResponse->state."<br><br>";
if($response->transactionResponse->state=="PENDING") {
echo $response->transactionResponse->pendingReason."<br><br>";
}
echo $response->transactionResponse->paymentNetworkResponseCode."<br><br>";
echo $response->transactionResponse->paymentNetworkResponseErrorMessage."<br><br>";
echo $response->transactionResponse->trazabilityCode."<br><br>";
echo $response->transactionResponse->authorizationCode."<br><br>";
echo $response->transactionResponse->responseCode."<br><br>";
echo $response->transactionResponse->responseMessage."<br><br>";
} Si cambio esta linea:
PayUParameters::COUNTRY => PayUCountries::PA,
Por esta:
PayUParameters::COUNTRY => PayUCountries::CO,
Si funciona bien y me indica que fue aprobada la transaccion, pero necesito que funcione con Panama.
Adicionalmente me gustaria tener otros datos de prueba de tarjetas de credito, una MAstercard y una American por lo menos, pero no veo ninguna opcion en la documentacion oficial.