SDK de Consultas

El SDK de Consultas te permite validar el estado de las órdenes generadas junto con sus transacciones.

Para integrate con el SDK de Consultas, apunta tus peticiones a las siguientes URLs:

// URL para pruebas: https://sandbox.api.payulatam.com/payments-api/
PayU.paymentsUrl = https://api.payulatam.com/payments-api/”;
// URL para pruebas: https://sandbox.api.payulatam.com/reports-api/
PayU.reportsUrl = https://api.payulatam.com/reports-api/”;
// URL para pruebas: https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi
Environment::setPaymentsCustomUrl(“https://api.payulatam.com/payments-api/4.0/service.cgi”);
// URL para pruebas: https://sandbox.api.payulatam.com/reports-api/4.0/service.cgi
Environment::setReportsCustomUrl(“https://api.payulatam.com/reports-api/4.0/service.cgi”);

Métodos disponibles

El SDK de Consultas incluye los siguientes métodos:

Consultar por Identificador de la orden

Order Id es un valor generado por PayU para identificar todas las transacciones generadas en una solicitud de pago realizada por tu cliente. Puedes utilizar el comando getOrderDetail para consultar el estado de una orden por su identificador.

Los siguientes ejemplos muestra cómo llamar los métodos para esta transacción de acuerdo con el lenguaje de programación.

Map<String, String> parameters = new HashMap<String, String>();

// Incluye aquí la referencia de la orden.
parameters.put(PayU.PARAMETERS.ORDER_ID, "857817550");
Order response = PayUReports.getOrderDetail(parameters);

//  -- obten las propiedades de la orden --
if(response != null){
	response.getAccountId();
	response.getStatus();
	response.getReferenceCode();
	response.getAdditionalValue("TX_VALUE").getValue();
	response.getAdditionalValue("TX_TAX").getValue();
	if(response.getBuyer() != null){
		response.getBuyer().getEmailAddress();
		response.getBuyer().getFullName();
	}
	// -- navega a través de las transacciones que están asociadas a la orden--
	List<Transaction> transactions = response.getTransactions();
	Iterator<Transaction> transactions_iterator = transactions.iterator();

	while(transactions_iterator.hasNext()){
		Transaction transaction= (Transaction) transactions_iterator.next();
		transaction.getType();
		transaction.getTransactionResponse().getState();
		transaction.getTransactionResponse().getPaymentNetworkResponseCode();
		transaction.getTransactionResponse().getTrazabilityCode();
		transaction.getTransactionResponse().getResponseCode();
		if(transaction.getPayer() != null){
			transaction.getPayer().getFullName();
			transaction.getPayer().getEmailAddress();
		}
	}
}
// Incluye aquí la referencia de la orden.
$parameters = array(PayUParameters::ORDER_ID => "44469220");

$order = PayUReports::getOrderDetail($parameters);

if ($order) {
	$order->accountId;
	$order->status;
	$order->referenceCode;
	$order->additionalValues->TX_VALUE->value;
	$order->additionalValues->TX_TAX->value;
	if ($order->buyer) {
		$order->buyer->emailAddress;
		$order->buyer->fullName;
	}
	$transactions=$order->transactions;
	foreach ($transactions as $transaction) {
		$transaction->type;
		$transaction->transactionResponse->state;
		$transaction->transactionResponse->paymentNetworkResponseCode;
		$transaction->transactionResponse->trazabilityCode;
		$transaction->transactionResponse->responseCode;
		if ($transaction->payer) {
			$transaction->payer->fullName;
			$transaction->payer->emailAddress;
		}
	}
}

Consultar por Identificador de la transacción

Transaction Id es un valor generado por PayU para identificar una transaccion generada para una orden. Puedes utilizar el comando getTransactionResponse para consultar la información de una transacción.

Los siguientes ejemplos muestra cómo llamar los métodos para esta transacción de acuerdo con el lenguaje de programación.

Map<String, String> parameters = new HashMap<String, String>();

// Ingresa aquí el identificador de la transacción.
parameters.put(PayU.PARAMETERS.TRANSACTION_ID, "3310ba3b-cf64-49b2-80e6-3f9196917131");

TransactionResponse response = PayUReports.getTransactionResponse(parameters);
//  --puedes obtener las propiedades de la respuesta --
if(response != null){
	response.getState();
	response.getTrazabilityCode();
	response.getAuthorizationCode();
	response.getResponseCode();
	response.getOperationDate();
}
$parameters = array(PayUParameters::TRANSACTION_ID => "3310ba3b-cf64-49b2-80e6-3f9196917131");

$response = PayUReports::getTransactionResponse($parameters);

if ($response) {
	$response->state;
	$response->trazabilityCode;
	$response->authorizationCode;
	$response->responseCode;
	$response->operationDate;
}

Consultar por Identificador de la referencia

Reference Id es un valor generado por tu comercio para identificar una orden. Puedes utilizar el comando getOrderDetailByReferenceCode para consultar el estado de una order por tu propio identificador (Referencia).

Los siguientes ejemplos muestra cómo llamar los métodos para esta transacción de acuerdo con el lenguaje de programación.

Map<String, String> parameters = new HashMap<String, String>();

// Incluye aquí la referencia de la orden.
parameters.put(PayU.PARAMETERS.REFERENCE_CODE, "payment_test_1625093692957");

List<Order> orders_response = PayUReports.getOrderDetailByReferenceCode(parameters);
Iterator<Order> orders_iterator= orders_response.iterator();

// -- navega a través de la órdenes con la referencia seleccionada--
while(orders_iterator.hasNext()){
	Order order= (Order) orders_iterator.next();

	if(order != null){
		order.getAccountId();
		order.getStatus();
		order.getReferenceCode();
		order.getAdditionalValue("TX_VALUE").getValue();
		order.getAdditionalValue("TX_TAX").getValue();

		if(order.getBuyer() != null){
			order.getBuyer().getEmailAddress();
			order.getBuyer().getFullName();
		}

		// -- go through the transactions associated to the order--
		List<Transaction> transactions=order.getTransactions();
		Iterator<Transaction> transactions_iterator=transactions.iterator();

		while(transactions_iterator.hasNext()){
			Transaction transaction= (Transaction) transactions_iterator.next();
			transaction.getType();
			transaction.getTransactionResponse().getState();
			transaction.getTransactionResponse().getPaymentNetworkResponseCode();
			transaction.getTransactionResponse().getTrazabilityCode();
			transaction.getTransactionResponse().getResponseCode();
			if(transaction.getPayer() != null){
				transaction.getPayer().getFullName();
				transaction.getPayer().getEmailAddress();
			}
		}
	}
}
// Incluye aquí la referencia de la orden.
$parameters = array(PayUParameters::REFERENCE_CODE => "payment_test_1625093692957");

$response = PayUReports::getOrderDetailByReferenceCode($parameters);

foreach ($response as $order) {
	$order->accountId;
	$order->status;
	$order->referenceCode;
	$order->additionalValues->TX_VALUE->value;
	$order->additionalValues->TX_TAX->value;

	if ($order->buyer) {
		$order->buyer->emailAddress;
		$order->buyer->fullName;
	}

	$transactions=$order->transactions;
	foreach ($transactions as $transaction) {
		$transaction->type;
		$transaction->transactionResponse->state;
		$transaction->transactionResponse->paymentNetworkResponseCode;
		$transaction->transactionResponse->trazabilityCode;
		$transaction->transactionResponse->responseCode;
		if ($transaction->payer) {
			$transaction->payer->fullName;
			$transaction->payer->emailAddress;
		}
	}
}

Ping

El método PING te permite verificar la conexión con nuestra plataforma. Los siguientes ejemplos muestra cómo llamar los métodos para esta transacción de acuerdo con el lenguaje de programación.

boolean response = PayUReports.doPing();
LoggerUtil.info("{0}", response);
$response = PayUReports::doPing();
$response -> code;
Última modificación 24 de junio de 2022: clon issue (d73e43fe)